システムがユーザーがログインできる状態になっているときにUbuntu 17.10でドラムロールサウンドを元に戻す方法


12

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"も試してみました。これにより、ドラムロールサウンドがずっと早く表示されるはずです。しかし、その設定を使用しても、ログインするまでドラムロールの音は再生されませんでした。


gdm3からlightdmに変更すると、これを解決できる場合があります。ロギング画面は17.04-のように見えますが。apt install lightdm。dpkg-reconfigure lightdm
Artyom

lightdmをインストールして使用し、それが機能しなかった場合、そしてgdm3に戻りたい場合はどうしますか?私は17.10でバグ我々はドラムロールで今見ている問題は(比較的マイナー)であること(証明なし)容疑者
リチャード・Fuhr

apt purge lightdm、dpkg-reconfigure gdm3
Artyom

lightdmはxserver-xorg *、unity *など、xwaylandからプッシュする必要があるパッケージに依存しています。gdmの人たちは何をしているのでしょうか?
funicorn

答えがあなたのために働いた場合、リチャードに教えてください。;-)

回答:


11

以下は、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ではうまくいかない理由はわかりません。


私より速い!+1!
ファビー

また、17.10でも機能すると確信しています。来月は廃止されているため、OPはいずれにせよすぐに18.04にアップグレードされます。+1。
WinEunuuchs2Unix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.