スピーカーの電源切り忘れ防止ほか shutdownコマンド alias

電源を落とすコマンド「shutdown -h now」をaliasを使って工夫してみる。シェルスクリプトを書けば、さらに様々な工夫ができるが、ここはひとまずaliasについてのみ。

(「shutdown」コマンドはrootでないと使えないかもしれない。また、「/sbin/shutdown」などとフルパスで指定する必要があるかもしれない)

aliasは、「~/.bashrc」に書く。「.bashrc」をすぐに反映するには、コマンド

source ~/.bashrc

を実行する。

shutdownコマンド aliasいろいろ

簡単なコマンドで 「shutdown -h now」する

例えば、「off」で「shutdown -h now」する。

alias off='shutdown -h now'

「off」の部分は、覚えやすければどんな文字列でもよい。




以下、挙動のテストのたびにいちいち「shutdown -h now」コマンドが実行されると面倒なので、テストは、「shutdown -h now」の代わりに「ls」や「sl」などのコマンドに置き換えて行う。

外部スピーカーの電源切り忘れ防止のため「shutdown」の前に警告音を鳴らす

alias off='aplay -q /usr/share/sounds/logout.wav && shutdown -h now'

テスト
aplay -q /usr/share/sounds/logout.wav && ls

「aplay」がない場合は、「alsa-utils」をインストールする。「aplay」は「alsa-utils」に含まれている。

ふたつのコマンドをつなぐ「&&」は、「前のコマンドが成功すれば次のコマンドを実行する」という指定。よって、警告音が鳴っている間(「aplay」の実行中)に「Ctrl+c」を押して「aplay」を中断すれば「shutdown」をキャンセルすることも可能。

(逆に「前のコマンドが失敗したら次のコマンドを実行する」には「||」でコマンドを接続する)

「aplay」の「-q」オプションは、情報を表示しないためのオプション(「quiet mode」)。

サウンド素材は、Vineの場合「/usr/share/sounds/」以下にある。

音声ファイルのフォーマット別再生コマンドは以下。

  • .wav → aplay
  • .mp3 → mpg123
  • .ogg → ogg123
「shutdown -h now」の実行を遅らせて「shutdown」をキャンセルできる時間を設ける

alias off='aplay -q /usr/share/sounds/logout.wav && sleep 3 && shutdown -h now'

テスト
aplay -q /usr/share/sounds/logout.wav && sleep 3 && ls

「sleep」は、システムを一時停止するコマンド。「3」は、一時停止する秒数。

「aplay」と「sleep」の実行が終了するまでに「Ctrl+c」を押せば「shutdown」をキャンセルできる。

さらに警告を表示

alias off='echo "スピーカーの電源を切る" ; aplay -q /usr/share/sounds/logout.wav && echo "3秒後にシャットダウン" && sleep 3 && shutdown -h now'

テスト
echo "スピーカーの電源を切る" ; aplay -q /usr/share/sounds/logout.wav && echo "3秒後にシャットダウン" && sleep 3 && ls

「echo」は、文字列などを表示するコマンド。

「echo」と「aplay」をつなぐ「;」(セミコロン)は、前のコマンドの成功や失敗に関係なくコマンドをつなぐ指定。

注意

関連記事
コマンドラインで音声再生: aplay/mpg321/ogg123

andy