mac OS X:LoginHookとLogoutHookを使って起動音を消す


Pocket

mac OS X 10.7 Lionでジャーンという起動音を消す方法。
厳密にはログアウトするときに音量をミュートし、ログインしたときにミュートを解除する。

まずLoginHookとLogoutHookが設定されているが確認する
sudo defaults read com.apple.loginwindow LoginHook
sudo defaults read com.apple.loginwindow LogoutHook

何かHookが設定されていればHookスクリプトのパスが表示されます。
何も設定されていないときは
The domain/default pair of (com.apple.loginwindow, LoginHook) does not exist
と表示されます。

既にLoginHook,LogoutHookに何か設定されていたら、それぞれスクリプトに以下の記述を追加します。
※scriptは#!/bin/bashを想定しています。違う場合は適宜変更する。

LoginHookに追記

osascript -e 'set volume with output muted'

LogoutHookに追記

osascript -e 'set volume without output muted'

これで完了。

LoginHook,LogoutHookに何も設定されていなければ、ログイン用とログアウト用のスクリプトを作成します。
ファイルの位置はどこでもよい。

vi /path/to/login.sh

#!/bash/bin
osascript -e 'set volume without output muted'

vi /path/to/logout.sh

#!/bash/bin
osascript -e 'set volume with output muted'

それぞれ保存して保存して実行権限をつけます。
chmod +x /path/to/login.sh
chmod +x /path/to/logout.sh

ログイン・ログアウトのHookを設定します。
sudo defaults write com.apple.loginwindow LoginHook /path/to/login.sh
sudo defaults write com.apple.loginwindow LogoutHook /path/to/logout.sh

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です