So rufen Sie in Ubuntu 17.10 den Drum Roll-Sound wieder auf, wenn das System für die Anmeldung durch den Benutzer bereit ist

12

In Ubuntu 16.04, wenn ich meinen Computer einschaltete, wurde der Drum-Roll-Sound abgespielt, kurz bevor mir die Anmeldeschnittstelle angezeigt wurde. Nach dem Upgrade auf Ubuntu 17.10 wird der Drum Roll Sound nicht mehr abgespielt. Ich habe im Internet recherchiert und Folgendes ausprobiert, wodurch der Drum-Roll-Sound abgespielt werden konnte, allerdings erst, nachdem ich mich angemeldet hatte.

Ich habe Startup Applications Preferences gestartet und ein Element hinzugefügt, das Folgendes enthielt.

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

Dies ermöglichte jedoch nur, dass der Ton abgespielt wurde, nachdem ich mich bereits angemeldet hatte.

Ich habe es auch versucht

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

Aber das hatte den gleichen Effekt wie der andere Versuch; der drum roll sound ertönte erst nachdem ich mich eingeloggt hatte.

Daher frage ich mich, ob jemand eine Möglichkeit gefunden hat, das Abspielen des Drum-Roll-Sounds zu aktivieren, bevor sich der Benutzer angemeldet hat, wenn dem Benutzer der Anmeldedialog angezeigt wird.

Ich habe auch versucht --id = "system-bootup", was den Drum-Roll-Sound viel früher hätte bringen sollen. Aber selbst mit dieser Einstellung wurde der Drum-Roll-Sound erst abgespielt, nachdem ich mich angemeldet hatte.

Richard Fuhr
quelle
Ein Wechsel von gdm3 zu lightdm kann dieses Problem beheben. Der Anmeldebildschirm sieht jedoch wie folgt aus: 17.04-. apt installiere lightdm. dpkg-reconfigure lightdm
Artyom
Wenn wir lightdm installieren und verwenden würden und wenn es nicht funktionieren würde, und wenn wir zu gdm3 zurückkehren wollten, wie würden wir das tun? Ich vermute (ohne Beweise), dass das Problem, das wir jetzt mit dem Trommelwirbel sehen, ein (relativ kleiner) Fehler mit 17.10 ist
Richard Fuhr
apt purge lightdm, dpkg-reconfigure gdm3
Artyom
lightdm hängt von einer Reihe von Paketen ab, die von xwayland entfernt werden sollten, z. B. xserver-xorg *, unity * usw. Was machen die GDM-Leute?
Funicorn
Bitte sag uns, ob die Antwort für dich geklappt hat, Richard, damit ich dieses Kopfgeld einfach drauflegen kann! ;-)

Antworten:

11

Hier ist eine Möglichkeit, eine systemd-Benutzereinheit zu verwenden, die aus dem Ausgangsverzeichnis des gdm-Benutzers ausgeführt wird.

  • Speichern Sie die folgende Datei als /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
    

Die obige Systemeinheit sollte sicherstellen, dass pulseaudio im GDM-Benutzerkontext gestartet wurde, und den paplayBefehl ausführen (ich habe es nicht versucht canberra-gtk-play, aber ich denke, es funktioniert auch).

After=systemd-user-sessions.serviceDer Dienst wird erst gestartet, wenn das System für Benutzeranmeldungen bereit ist. (Siehe http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html )

  • Dann führen Sie aus:

    $ 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}
    

Mit diesen letzten Befehlen wird das Gerät automatisch gestartet, wenn die Systemd-Sitzung des GDM-Benutzers gestartet wird.

  • Zum Testen neu starten.

Das Überprüfen auf Fehler ist etwas schwierig, da systemctl die Einschränkung hat, eine Verbindung zur Systemsitzung oder zur Sitzung des aufrufenden Benutzers herzustellen . Um gdm zu erstellen, ist der aufrufende Benutzer mit sudo einfach, aber einige Umgebungen müssen eingerichtet werden, damit eine Verbindung zu seiner systemd-Benutzersitzung hergestellt werden kann:

$ 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)

Ich habe dies nicht mit 17.10, sondern mit 18.04 versucht, aber ich sehe keinen Grund, warum es am 17.10 nicht so gut funktionieren würde.

Sebastian Stark
quelle
Schneller als ich! +1!
Fabby
Ich bin mir auch sicher, dass es mit 17.10 funktionieren würde. Es ist im nächsten Monat veraltet, daher wird OP sowieso bald auf 18.04 upgraden. +1.
WinEunuuchs2Unix