Ric*_*uhr 12 sound unity login 17.10
在 Ubuntu 16.04 中,当我打开计算机电源时,会在出现登录界面之前播放鼓声。升级到 Ubuntu 17.10 后,不再播放鼓声。我在网上做了一些研究并尝试了以下方法,这使鼓声可以播放,但只有在我登录后才能播放。
我启动了启动应用程序首选项并添加了一个包含以下内容的项目。
/usr/bin/canberra-gtk-play --id="desktop-login" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Run Code Online (Sandbox Code Playgroud)
但这只能在我登录后才能播放声音。
我也试过
/usr/bin/canberra-gtk-play --id="system-ready" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Run Code Online (Sandbox Code Playgroud)
但这与其他尝试具有相同的效果。只有在我登录后才会播放鼓声。
所以我问是否有人找到了一种方法,可以在用户登录之前,当用户看到登录对话框时启用鼓声播放。
我也试过 --id="system-bootup" 应该更早地调出鼓声。但即使有这样的设置,直到我登录后才播放鼓声。
Seb*_*ark 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
Run Code Online (Sandbox Code Playgroud)上面的 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}
Run Code Online (Sandbox Code Playgroud)当 gdm 用户的 systemd 会话启动时,这些最后的命令使单元自动启动。
检查错误有点棘手,因为 systemctl 有连接到系统会话或调用用户会话的限制。要使 gdm 成为调用用户的 sudo 很容易,但需要设置一些环境才能连接到它的 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)
Run Code Online (Sandbox Code Playgroud)
我没有在 17.10 和 18.04 上尝试过这个,但我看不出它在 17.10 上不能正常工作的原因。
| 归档时间: |
|
| 查看次数: |
1023 次 |
| 最近记录: |