スクリーンセーバーが暴走した場合の復帰策
たまたま、発生したのでメモのために...
【症状】MacBook Pro (Lion)でスクリーンセーバーが解除できなくなった。
通常、パスワードなどの入力で復帰できるはずなのに、パスワードダイアログも出ない。
【対応策】
1.ssh でアクセスできる Mac か、iPad iPhone を準備します。
(できない場合は、電源ボタン長押し...orz)
ただし、該当の Mac ですでに、リモートログインを許可しておく必要があります。
こんな設定です。
システム環境設定の共有で設定しておきます。これは、何かと設定しておくと何もできなくなったときには、役立ちます。
(できない場合は、電源ボタン長押し...orz)
2.もう1台から ssh でアクセスします。許可されているユーザでアクセスする必要があります。
3.スクリーンセーバーのプロセスIDを確認します。
面倒なので、root で実行できるようにコマンドを一発
% sudo -s↓
管理者パスワードを入れて、ps コマンドを以下のように入力します。
# ps ax|grep [S]creenSaverEngine↓
実行結果例
79103 ?? S 19:12.30 /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
82124 ?? S 0:00.50 /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
この上のが実際のプロセスなので、このプロセスをkill します。
これで、暴走していたスクリーンセーバーが終了するはずです。
参考にしたサイト
http://stackoverflow.com/questions/1841417/check-if-screensaver-is-active-using-mac-bash-script-command
ものすごく限定された条件ですが、何かの参考に...