Pertanyaan Cara mengembalikan suara drum roll di Ubuntu 17.10 ketika sistem siap untuk pengguna login


Di Ubuntu 16.04, ketika saya menyalakan komputer saya, suara drum roll akan diputar tepat sebelum saya disajikan dengan antarmuka Login. Setelah saya meng-upgrade ke Ubuntu 17.10, suara drum roll tidak lagi dimainkan. Saya melakukan riset di web dan mencoba yang berikut, yang memungkinkan suara drum roll dimainkan, tetapi hanya setelah saya masuk.

Saya meluncurkan Preferensi Aplikasi Startup dan menambahkan item yang berisi hal-hal berikut.

/usr/bin/canberra-gtk-play --id="desktop-login" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg

Tetapi ini hanya memungkinkan suara diputar setelah saya masuk.

Saya juga mencoba

/usr/bin/canberra-gtk-play --id="system-ready" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg

Tetapi itu memiliki efek yang sama dengan upaya lainnya; suara drum roll hanya diputar setelah saya masuk.

Jadi saya bertanya apakah seseorang telah menemukan cara untuk mengaktifkan suara drum roll untuk bermain sebelum pengguna masuk, ketika pengguna disajikan dengan dialog login.

Saya juga mencoba --id = "system-bootup" yang seharusnya memunculkan suara drum roll lebih awal. Tetapi bahkan dengan pengaturan itu, suara drum roll tidak diputar sampai setelah saya masuk.


10
2017-11-06 22:32


asal


Mengubah ke lightdm dari gdm3 dapat mengatasi ini. Padahal layar login akan terlihat seperti 17.04-. menginstal apt lightdm. dpkg-konfigurasi ulang lightdm - Artyom
Jika kita menginstal dan menggunakan lightdm dan jika itu tidak berhasil, dan jika kita ingin kembali ke GDM3 bagaimana kita akan melakukannya? Saya menduga (tanpa bukti) bahwa masalah yang kita lihat sekarang dengan drum roll adalah bug (relatif kecil) dengan 17.10 - Richard Fuhr
apt membersihkan lightdm, dpkg-reconfigure gdm3 - Artyom
lightdm bergantung pada sekumpulan paket yang harus dibuang dari xwayland, mis. xserver-xorg *, unity *, dll. Apa yang dilakukan oleh gdm? - funicorn
Tolong beri tahu kami jika jawabannya berhasil untuk Anda, Richard, sehingga kemudian saya dapat menaruh karunia ini di atasnya! ;-)


Jawaban:


Berikut ini cara menggunakan unit pengguna sistem yang dijalankan dari direktori home pengguna gdm.

  • Simpan file berikut sebagai /var/lib/gdm3/.config/systemd/user/drumroll.service:

    [Unit]
    Description=Drumroll
    Requires=pulseaudio.socket
    After=systemd-user-sessions.service
    
    [Service]
    Type=simple
    Restart=no
    ExecStart=/usr/bin/paplay /usr/share/sounds/ubuntu/stereo/system-ready.ogg
    
    [Install]
    WantedBy=default.target
    

Unit sistem di atas harus memastikan pulseaudio telah dimulai dalam konteks pengguna gdm dan jalankan paplay perintah (saya belum mencoba canberra-gtk-play, tapi saya akan berpikir itu berfungsi juga).

After=systemd-user-sessions.service akan membuat layanan hanya dimulai setelah sistem siap untuk login pengguna. (Lihat http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html)

  • Kemudian jalankan:

    $ sudo mkdir -p /var/lib/gdm3/.config/systemd/user/default.target.wants
    $ sudo ln -s /var/lib/gdm3/.config/systemd/user/drumroll.service /var/lib/gdm3/.config/systemd/user/default.target.wants/drumroll.service
    $ sudo chown gdm:gdm /var/lib/gdm3/.config/systemd/user/{drumroll.service,default.target.wants}
    

Perintah terakhir itu membuat unit mulai secara otomatis ketika sesi sistemd dari pengguna gdm dimulai.

  • Reboot untuk menguji.

Untuk memeriksa kesalahan agak sedikit rumit, karena systemctl memiliki batasan untuk terhubung ke sesi sistem atau memanggil pengguna sidang. Untuk membuat gdm pengguna panggilan mudah dengan sudo, tetapi beberapa lingkungan perlu diatur untuk memungkinkan untuk terhubung ke sesi pengguna sistemnya:

$ sudo -u gdm XDG_RUNTIME_DIR="/run/user/$(id -u gdm)" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status drumroll
● drumroll.service - Drumroll
   Loaded: loaded (/var/lib/gdm3/.config/systemd/user/drumroll.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2018-06-26 23:35:05 CEST; 36min ago
  Process: 1238 ExecStart=/usr/bin/paplay /usr/share/sounds/ubuntu/stereo/system-ready.ogg (code=exited, status=0/SUCCES
 Main PID: 1238 (code=exited, status=0/SUCCESS)

Saya belum mencoba ini dengan 17,10, tetapi 18,04, tapi saya tidak melihat alasan itu tidak akan bekerja dengan baik pada 17,10.


8
2018-06-26 21:50



Lebih cepat dari saya! +1! - Fabby
Saya juga yakin itu akan bekerja dengan 17,10. Ini sudah usang bulan depan, jadi OP akan segera ditingkatkan ke 18.04. +1. - WinEunuuchs2Unix