Bagaimana saya bisa menampilkan pesan di layar login?


10

Dalam beberapa keadaan akan sangat berharga bagi saya untuk diberikan notifikasi singkat, teks sebelum masuk, sehingga saya memiliki pilihan untuk memutuskan untuk tidak masuk setelah melihat pesan.

Apakah ada cara untuk menampilkan pesan notifikasi pada layar login grafis?


Apakah Anda ingin pesan muncul sebelum Anda masuk? Atau segera setelah Anda memasukkan nama pengguna dan kata sandi Anda?
Eliah Kagan

1
Pemberitahuan seperti apa? Maksud saya, sebelum Anda masuk, belum ada aplikasi seperti klien IM yang berjalan. Saya hanya dapat memikirkan status baterai (PC seluler) dan profil Network Manager tingkat sistem yang terhubung. Dan dalam konteks apa ini? Pengguna murni atau mengembangkan aplikasi?
gertvdijk

Saya tertarik pada jawaban umum; Saya tidak memiliki persyaratan khusus untuk waktu pesan atau alat yang digunakan untuk menghasilkan pesan.
ændrük

Anda maksudkan sesuatu seperti, layar login lalu pesan Anda. Tidak perlu masuk?
rɑːdʒɑ

@snow "sebelum masuk" <-
gertvdijk

Jawaban:


3

Saya menyadari ini adalah respons yang terlambat (seperti, bertahun-tahun terlambat) tetapi saya pikir saya akan melanjutkan dan meletakkan sesuatu di sini untuk orang lain yang memiliki masalah yang sama. Saya melihat masalah ini sepanjang waktu. Ini hanyalah salah satu cara untuk melakukannya yang mudah untuk skrip dan penyebaran. Ingatlah bahwa ini adalah solusi tidak valid yang serupa dengan yang ini: Bagaimana cara membuat spanduk munculan sebelum masuk dengan Lightdm?

  1. Buat file dan beri nama apa saja yang Anda inginkan seperti: apa pun yang Anda Inginkan
  2. Masukkan yang berikut ini di file itu (ganti teks banner tentunya):

    bannerText="This is my banner and you will love it.  Worship it!"
    
    zenity --question --title="Pirate Ninja Banner" \
    --text=$bannerText" --no-wrap --width=800 --height=200
    
    until [[ $? = '0' ]]: do
       zenity --question --title="Pirate Ninja Banner" \
       --text=$bannerText" --no-wrap --width=800 --height=200
    done
    
  3. Sesuaikan lebar dan tinggi dengan apa pun yang Anda butuhkan.

    3a. Idenya di sini adalah ketika pesan login menampilkan pengguna tidak dapat melanjutkan sampai mereka setuju dengan persyaratan, sehingga itu loop sampai "ya" dipilih.

CATATAN (karena saya tidak tahu ini sebelumnya): zenity --list dapat mengembalikan benar ya salah tidak (nilai Boolean), zenity --pertanyaan mengembalikan keluar 0,1

  1. Jadikan file Anda dapat dieksekusi:

    sudo chmod +x anythingYouWant
    
  2. Letakkan di suatu tempat - saya hanya memasukkannya di / usr / bin

    sudo mv anythingYouWant /usr/bin
    

----------- LIGHTDM -----------------------

  1. Jika Anda menggunakan lightdm maka Anda harus memodifikasi file lightdm.conf Anda. Ketika saya pergi untuk melakukan ini, lightdm.conf pertama kali tidak ada di sana T_T. Jadi, jika tidak, tidak apa-apa, dapatkan salinannya dengan melakukan ini:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Jika itu tidak berhasil maka bisa jadi file di / usr / share / doc / lightdm / zip jadi lakukan:

    sudo gzip -d /usr/share/doc/lightdm/lightdm.conf.gz
    

    7a. Kemudian pindahkan file ke / etc / lightdm /

  3. Buka lightdm.conf (yang seharusnya sekarang berada di / etc / lightdm /) dan tambahkan berikut ini di bawah bagian yang mengatakan [SeatDefaults], seperti ini:

    [SeatDefaults]
    greeter-setup-script=/path/to/your/loginMessage
    

    8a. Di mana / path / ke / your / loginMessage adalah di mana pun Anda meletakkan executable yang Anda buat sebelumnya. Saya menaruh milik saya di / usr / bin sehingga milik saya terlihat seperti:

    [SeatDefaults]
    greeter-setup-script=/usr/bin/loginmessage
    

    8b. Simpan file

  4. Itu seharusnya tentang melakukannya untuk lightdm. Anda juga bisa membuat file lightdm.conf Anda sendiri dan memasukkan yang di atas ke dalamnya.

    9a. Mulai ulang.

----------- GDM -------------------

  1. Saya menguji "loop" popup ini pada CenOS 7 dan Ubuntu 14.04 dengan GDM juga. Masalahnya, lightdm.conf tidak benar-benar membantu dalam kasus GDM sekarang bukan?

  2. Nah, ada pekerjaan di sekitar yang bekerja untuk saya (untuk saat ini).

  3. Buka file / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Pergi ke bagian bawah file.

  5. Tepat di atas keluar 0 put:

    exec /path/to/your/message
    

    14a. Di mana / path / ke / your / message adalah path ke pesan login bagus Anda. Ketika semua selesai akan terlihat seperti ini:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. "Fi" dan "exit 0" sudah ada di sana, Anda cukup memasukkan "exec / path / ke / your / bagian pesan itu.

    14c. Simpan dan mulai ulang.

  6. Semua reboot mungkin tidak diperlukan. Saya menguji barang-barang ini di vm jadi lebih mudah untuk hanya memantulkan mesin.

  7. Jika ada cara yang lebih baik untuk melakukan ini saya semua telinga / mata. Saya tahu bahwa gconf bekerja membengkak di CentOS 6.x. Saya tahu bahwa jenis dconf berfungsi di CentOS 7 tetapi saya tidak mendapatkan apa yang saya inginkan. Tidak ada hal-hal gconf yang bekerja untuk saya di Ubuntu, bahkan setelah menginstal GDM dan mengkonfigurasi ulang <- bisa jadi saya.


2

Mungkin tidak dapat menampilkan pesan di layar masuk secara langsung. Tetapi Anda dapat mengirim pesan sebelum masuk. Tambahkan ke /etc/lightdm/lightdm.conf:

greeter-setup-script=xmessage -button ok -default ok -center "Hello world"

Berhati-hatilah karena opsi yang salah dalam file ini dapat merusak prosedur boot Anda.
Mouse tidak akan tersedia pada tahap ini, tetapi Anda dapat menutup pesan dengan Enter. xmessagedapat membaca teks pesan dari file atau dapat memiliki batas waktu kustom. Periksa halaman manualnya untuk opsi tambahan.
Anda dapat memeriksa https://wiki.ubuntu.com/LightDM untuk informasi tambahan tentang lightdm.confdan penyesuaian yang lebih baik.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.