/dev/null

A kind of black holes.

Linux に起動音と終了音を付ける方法♪

Cinnamon, KDE, Trinity など一部のDE

  1. システム設定画面からサウンド設定項目を開きます。
  2. そこで任意の効果音を選択できます。

Manjaro (Arch)

起動音

下記 その他 Ubuntu/Debian を参照。

終了音

1.) 好きな音源を用意します。

2.) ogg (Ogg Vorbis) 形式でない場合は、ffmpeg -ar 44100 -ac 2 -i 音源ファイル名 出力ファイル名 で変換します。

3.) /usr/share/sounds/freedesktop/stereo/ 以下に system-shutdown.ogasystem-shutdown-reboot.ogaの名前でコピーします。
stereoフォルダにはどちらのファイルも存在しないはずなので、通常はバックアップは不要です。)

sudo cp ファイル名 /usr/share/sounds/freedesktop/stereo/system-shutdown.oga
sudo cp ファイル名 /usr/share/sounds/freedesktop/stereo/system-shutdown-reboot.oga

4.) canberra-system-shutdownサービスを有効化します。

sudo systemctl enable canberra-system-shutdown

これで、シャットダウンと再起動時に音が流れるはずです。

その他 Ubuntu/Debian 系 (想定はLXDE, LXQt, Xfce)

起動音

いくつか方法があります。

  • ホームディレクトリ(~/または/home/$USER/)の直下にある.profileに再生コマンドを登録

  • 自動起動するアプリケーションとして、再生コマンドを登録

  • /usr/share/sounds/freedesktop/stereo/ に好きな音源をdesktop-login.ogg (もしくは oga, wav)としてコピー

1・2番目をおすすめします。

音源再生のコマンドとしては

  • play /path/to/file or paplay /path/to/file

  • gtk-canberra-play -f /path/to/file

をおすすめします。

終了音

Cinnamon, KDEあるいは昔のWindowsなどと同じタイミングで終了音を鳴らす一般的かつ確実な方法は不明です。 代替として、

  • セッションの終了ダイアログを表示するときに音を鳴らす

  • 専用のサービスを作成してsystemctl で有効化

の2つの方法が考えられます。後者は難易度が高いので前者をおすすめします。

やり方は、

1.) /usr/local/binスクリプトを作る。ファイル名は LXDE ならlxsession-defaultと、Xfce ならxfce-session-defaultなどとします。

2.) 以下の内容を書き込んで保存する。

#!/bin/bash  
paplay 音源へのパス  
/usr/bin/作ったファイルと同じ名前  

3.) 実行可能にします。

sudo chmod +x /usr/local/bin/作ったファイルの名前

こうすればダイアログ表示のときに音が流れるはずです。
注意点は、3行目のsessionの部分は必ず絶対パスで書くことです。
さもないとこのファイル自身が無限に呼び出されて壊滅的な音がなります!