
Mac OS Xで「ログイン時にWindowsを再度開く」を完全に無効にする
Mac OS X からログアウトまたは再起動すると、「再度ログインしたときにウィンドウを再度開く」の横にチェックボックスが付いたダイアログ ウィンドウが表示され、現在開いているアプリケーションとウィンドウがすべて復元されることに気付いたかもしれません。
この機能が気に入らず、ウィンドウを再度開かないようにチェックボックスのチェックを外すのにうんざりしている場合は、サードパーティ製のスクリプトを使ってこの機能を無効にすることができます。具体的には、この機能はウィンドウを保持するチェックボックスのチェックの有無に関わらず、常に完全に無効にすることで、ウィンドウは復元されません。
これは OS X の再開機能の一部ですが、再起動とログアウトにのみ影響するため、アプリの再開を完全に無効にしたり、アプリケーションごとに無効にすることとは異なります。
「再ログイン時にウィンドウを再度開く」を無効にして無効にする
このスクリプトは機能を無効にしますが、ダイアログウィンドウは引き続き表示されます。このスクリプトとの違いは、ダイアログボックスのチェックの有無に関係なく、ウィンドウとアプリは復元されないことです。これはコマンドラインに慣れた上級ユーザーを対象としています。不適切な構文を使用するとエラーが発生したり、間違ったURLにアクセスしたりする可能性があるため、使用するコマンドには十分注意してください。確信が持てない場合は、続行しないでください。これはサードパーティのウェブサイトからスクリプトにアクセスするため、自己責任で使用してください。
次の内容をターミナル内の1 行に貼り付けて、Enter キーを押します。
curl http://pastie.org/pastes/2427953 -L -s -o ~/fixlogin.sh
次に、ファイルをチェックして、必要な内容が含まれていることを確認します。
cat ~/fixlogin.sh
ファイルが以下のスクリプトの内容と一致する場合は、次のように実行できます。
chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh
注: curl を使用して pastie というリモート ホストから「fixlogin.sh」スクリプトをダウンロードするのではなく、独自のファイルを作成する場合は、次のコードを 'loginfix.sh' というドキュメントに貼り付け、chmod +x で実行可能にして、スクリプトを手動で実行します。
#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh
ご覧のとおり、スクリプトはユーザーの ~/Library/Preferences/ByHost/ ディレクトリ内の「com.apple.loginwindow.*」に一致するすべてのものを削除します。
(上記のテキストは、1行に収まるように意図的に小さくなっています)
次に、次のコマンドで実行します。
chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh
このコマンドはスクリプトをダウンロードし、適切な場所に配置し、実行可能にしてから一時ファイルを削除します。ダウンロードされたbashスクリプトの内容は以下のとおりです。
#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh
この OS X Lion 機能のデフォルトの動作に戻したい場合は、次の defaults write コマンドを入力します。
sudo defaults delete com.apple.loginwindow LoginHook
そして、チェックボックスの選択に基づいてウィンドウの復元を選択できるようになります。
この小さなスクリプトは HexBrain から来たものです。Mark さん、送っていただきありがとうございます。