Ubuntu 16.04では、コンピューターの電源を入れると、ログインインターフェイスが表示される直前にドラムロールサウンドが再生されました。 Ubuntu 17.10にアップグレードした後、ドラムロールサウンドが再生されなくなりました。私はウェブ上でいくつかの調査を行い、次のことを試しました。これにより、ドラムロールサウンドを再生できるようになりましたが、ログインしてからのみです。
Startup Applications Preferencesを起動し、以下を含むアイテムを追加しました。
/usr/bin/canberra-gtk-play --id="desktop-login" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
ただし、これにより、既にログインした後にサウンドを再生できるようになりました。
私も試しました
/usr/bin/canberra-gtk-play --id="system-ready" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
しかし、それは他の試みと同じ効果がありました。ドラムロールサウンドは、ログインしてから再生されました。
だから、ユーザーにログインダイアログが表示されたときに、ユーザーがログインする前にドラムロールサウンドを再生できるようにする方法を誰かが見つけたかどうかを尋ねています。
--id = "system-bootup"も試してみました。これにより、ドラムロールサウンドがずっと早く表示されるはずです。しかし、その設定を使用しても、ログインするまでドラムロールの音は再生されませんでした。
Gdmユーザーのホームディレクトリから実行されるsystemdユーザーユニットを使用する方法を次に示します。
次のファイルを/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
上記のsystemdユニットは、gdmユーザーコンテキストでpulseaudioが開始されていることを確認し、 paplay
コマンドを実行する必要があります(canberra-gtk-play
を試したことはありませんが、同様に機能すると思います) 。
After=systemd-user-sessions.service
は、システムがユーザーログインの準備ができた後にのみサービスを開始します。 ( http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html を参照)
次に実行します:
$ 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}
これらの最後のコマンドは、gdmユーザーのsystemdセッションが開始されたときにユニットを自動的に開始します。
Systemctlには、システムセッションまたは呼び出しユーザーのセッションに接続する制限があるため、エラーをチェックするのは少し難しいです。 Sudoを使用してgdmを呼び出すユーザーを簡単にするには、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)
私は17.10でこれを試していませんが、18.04で試しましたが、17.10ではうまくいかない理由はわかりません。