12

In Ubuntu 16.04, when I powered on my computer, the drum roll sound would be played right before I was presented with the Login interface. After I upgraded to Ubuntu 17.10 the drum roll sound is no longer being played. I did some research on the web and tried the following, which enabled the drum roll sound to be played, but only after I had logged in.

I launched Startup Applications Preferences and added an item that contained the following.

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

But this only enabled the sound to be played after I had already logged in.

I also tried

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

But that had the same effect as the other attempt; the drum roll sound played only after I had logged in.

So I am asking whether anyone has found a way to enable the drum roll sound to play before the user has logged in, when the user is presented with the login dialog.

I also tried --id="system-bootup" which should have brought up the drum roll sound much earlier. But even with that setting, the drum roll sound was not played until after I logged in.

6
  • Changing to lightdm from gdm3 may solve this. Though the loging screen will look like 17.04-. apt install lightdm. dpkg-reconfigure lightdm
    – Artyom
    Nov 6, 2017 at 23:44
  • If we were to install and to use lightdm and if it didn't work, and if we wanted to go back to gdm3 how would we do that? I suspect (without proof) that the issue we are seeing now with the drum roll is a (relatively-minor) bug with 17.10 Nov 7, 2017 at 7:22
  • apt purge lightdm, dpkg-reconfigure gdm3
    – Artyom
    Nov 7, 2017 at 9:31
  • lightdm depends on a bunch of packages which should be pushed away from xwayland, e.g. xserver-xorg*, unity*, etc. What are the gdm guys doing?
    – funicorn
    Jan 4, 2018 at 13:51
  • Please tell us if the answer worked for you Richard, so that then I can just put this bounty on it! ;-)
    – user364819
    Jun 28, 2018 at 9:26

1 Answer 1

11
+150

Here is a way using a systemd user unit running from the gdm user's home directory.

  • Save the following file as /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
    

The above systemd unit should make sure that pulseaudio has been started in the gdm user context and execute the paplay command (I haven't tried canberra-gtk-play, but I would think it works as well).

After=systemd-user-sessions.service will make the service start only after the system is ready for user logins. (see http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html)

  • Then execute:

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

Those last commands make the unit start automatically when the systemd session of the gdm user is started.

  • Reboot to test.

To check for errors is a little bit tricky, because systemctl has the restriction to connect to either the system session or the calling user's session. To make gdm the calling user is easy with sudo, but some environment needs to be set up to make it possible to connect to its systemd user session:

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

I haven't tried this with 17.10, but 18.04, but I don't see a reason it wouldn't work as well on 17.10.

2
  • Quicker than me! +1!
    – Fabby
    Jun 26, 2018 at 22:07
  • I'm also sure it would work with 17.10. It's obsolete next month so OP will be upgrading to 18.04 soon anyway. +1. Jun 26, 2018 at 22:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .