Comment ramener le son de roulement de tambour dans Ubuntu 17.10 lorsque le système est prêt pour que l'utilisateur se connecte

12

Dans Ubuntu 16.04, lorsque j'allumais mon ordinateur, le son du roulement de tambour était joué juste avant qu'on me présente l'interface de connexion. Après avoir mis à niveau vers Ubuntu 17.10, le son de roulement de tambour n'est plus joué. J'ai fait quelques recherches sur le Web et j'ai essayé ce qui suit, ce qui a permis de jouer le son du roulement de tambour, mais seulement après m'être connecté.

J'ai lancé les préférences des applications de démarrage et ajouté un élément qui contenait les éléments suivants.

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

Mais cela ne permettait de jouer le son qu'après m'être connecté.

J'ai aussi essayé

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

Mais cela a eu le même effet que l'autre tentative; le son de roulement de tambour n'est joué qu'après m'être connecté.

Je demande donc si quelqu'un a trouvé un moyen d'activer le son de roulement de tambour avant que l'utilisateur ne se connecte, lorsque l'utilisateur se voit présenter la boîte de dialogue de connexion.

J'ai également essayé --id = "system-bootup" qui aurait dû faire monter le son de la batterie beaucoup plus tôt. Mais même avec ce paramètre, le son de roulement de tambour n'a été joué qu'après ma connexion.

Richard Fuhr
la source
Le passage à lightdm à partir de gdm3 peut résoudre ce problème. Bien que l'écran d'enregistrement ressemble à 17.04-. installer apt lightdm. dpkg-reconfigure lightdm
Artyom
Si nous devions installer et utiliser lightdm et si cela ne fonctionnait pas, et si nous voulions revenir à gdm3, comment ferions-nous cela? Je soupçonne (sans preuve) que le problème que nous voyons maintenant avec le roulement de tambour est un bug (relativement mineur) avec 17.10
Richard Fuhr
apt purge lightdm, dpkg-reconfigure gdm3
Artyom
lightdm dépend d'un tas de paquets qui devraient être éloignés de xwayland, par exemple xserver-xorg *, unit *, etc. Que font les gars de gdm?
funicorn
S'il vous plaît, dites-nous si la réponse a fonctionné pour vous, Richard, afin que je puisse simplement mettre cette prime dessus! ;-)

Réponses:

11

Voici un moyen d'utiliser une unité utilisateur systemd exécutée à partir du répertoire personnel de l'utilisateur gdm.

  • Enregistrez le fichier suivant sous /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
    

L'unité systemd ci-dessus devrait s'assurer que pulseaudio a été démarré dans le contexte utilisateur gdm et exécuter la paplaycommande (je n'ai pas essayé canberra-gtk-play, mais je pense que cela fonctionne aussi).

After=systemd-user-sessions.servicefera démarrer le service uniquement lorsque le système sera prêt pour les connexions utilisateur. (voir http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html )

  • Exécutez ensuite:

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

Ces dernières commandes font démarrer l'unité automatiquement au démarrage de la session systemd de l'utilisateur gdm.

  • Redémarrez pour tester.

Vérifier les erreurs est un peu délicat, car systemctl a la restriction de se connecter à la session système ou à la session de l' utilisateur appelant . Pour faire gdm, l'utilisateur appelant est facile avec sudo, mais un certain environnement doit être configuré pour permettre de se connecter à sa session utilisateur systemd:

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

Je n'ai pas essayé avec 17.10, mais 18.04, mais je ne vois pas pourquoi cela ne fonctionnerait pas aussi bien avec 17.10.

Sebastian Stark
la source
Plus vite que moi! +1!
Fabby
Je suis également sûr que cela fonctionnerait avec 17.10. Il est obsolète le mois prochain, donc OP passera bientôt au 18.04 de toute façon. +1.
WinEunuuchs2Unix