Siánn-mih?Linux系統竟然有開關機音效(startup sound)
例如,Ubuntu在10年前的Unity桌面還會啟用開機音效,後來就不見了。
後來Ubuntu拋棄Unity桌面,改用主流的GNOME桌面。現在你只會在初次安裝Ubuntu的時候聽到開機音效,真正裝上去之後開機是沒有聲音的。
沒關係,你還是可以把他們加回來。
這篇文章Ivon將解說如何開啟Linux桌面的開機以及關機音效。
1. 啟用桌面環境內建的開機音效#
現在內建開機音效的Linux桌面只有KDE和GNOME。嚴格來說,這些「開機」音效是在登入桌面後才播放,而不是載入Display Manager前就播放,所以稱為「登入音效」比較正確。
2.1. KDE#
KDE的音效檔案位於/usr/share/sounds/
開啟系統設定 → 通知 → 特定應用程式設定
點選Plasma工作空間 → 設定事件
點選「登入」和「登出」,啟用播放音效。這裡的音效可以自訂要播放的檔案。
2.2. GNOME#
相較KDE而言,GNOME的開關機音效很難設定。
GNOME桌面的音效位於/usr/share/sounds/gnome
。Ubuntu預設安裝的是Yaru主題(其他發行版可能要手動安裝yaru-theme套件),開機音效位於/usr/share/sounds/Yaru
- Ubuntu和Fedora預設使用的是GNOME桌面,請先安裝Gnome Tweaks:
sudo apt install gnome-tweaks
- 啟動gnome-session-properties (Ubuntu可在應用程式列表找到「初始啟動程式」)
gnome-session-properties
- 點選加入登入音效,指令為
/usr/bin/canberra-gtk-play --id="desktop-login" --description="GNOME Login"
XFCE4也可以用這個方法設定登入音效。用此方式新增的開機音效,會在每次登入GNOME桌面後播放一次。
- 搞笑的是GNOME無法設定登出時後執行指令,所以只好去調整GDM的登出設定:
sudo vim /etc/gdm3/PostSession/Defaults*
- 改成用paplay這個程式來播放關機音效…但GNOME的指令稿在音訊伺服器關閉後才會執行…導致音效根本無法播放
#!/bin/bash
/usr/bin/paplay /usr/share/sounds/Yaru/stereo/desktop-logoff.oga
exit 0
2. 使用Systemd服務播放開機音效#
桌面環境沒提供設定界面的話,就只能搭配音樂播放軟體,在使用者登入/登出桌面的時候設定服務播放開機音效了。
Linux發行版多半有內建paplay
這個程式,它不需要圖形伺服器也能播放音效,無需另外裝播放軟體。您應該將開機音效放到/usr/share/sounds/
此處使用Systemd user unit播放開機音效。
- 新增Systemd使用者服務
vim ~/.config/systemd/user/loginsound.service
- 填入以下內容。ExecStart是登入播放Yaru的desktop-login音效
[Unit]
Name=Play Login Sound
After=sound.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/paplay /usr/share/sounds/Yaru/stereo/desktop-login.oga
[Install]
WantedBy=default.target
- 啟用此服務,接著重開機。此處差別在於他是一按下登入鍵就播放音效,而不是像上面GNOME等桌面載入完成才播放,並且只會播放一次。
systemctl --user enable loginsound.service