「ウィンドウを再度開く」を無効にする
Apple サポートコミュニティにて、HALさんという方が投稿された内容によると、「再ログイン時にウィンドウを再度開く」のチェックを外してログアウトすると、どのアプリが何のウィンドウを開いているのかを保存しておく下記のファイルが削除されるそうです。
これをログアウト時に毎回削除できれば可能ということなのでLionの起動音を消す方法で使った、ログアウト時にスクリプトを実行する方法でファイルを削除するようにしました。
$ sudo nano /Library/Scripts/no-save.sh
開いたら下記を記入
#!/bin/bash
rm ~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist
作成したスクリプトを実行可能にする
$ sudo chmod u+x /Library/Scripts/no-save.sh
ログアウト時にスクリプトを実行させる
$ sudo defaults write com.apple.loginwindow LogoutHook /Library/Scripts/no-save.sh
元に戻す場合
$ sudo defaults delete com.apple.loginwindow LogoutHook
この方法は、再ログイン後にウィンドウを開く際に必要なファイルを削除するので、下のように「再ログイン時にウィンドウを再度開く」にチェックしてあってもウィンドウは開かれません。
他の環境で試してないので断言できませんが、これで再ログイン時にウィンドウが開かれなくなると思います。
※:私の環境だけなのかもしれませんが、チェックを外そうがスクリプトの方法を使おうが、Finderだけは問答無用で開かれる上に、ログイン後にアプリを起動すると無効にしている「再開」が一時的に復活します。
今回参考にさせてもらった投稿を見て、すぐに思いついたのがこの方法なのですが、設定を保存してあるファイルを削除する強制的なやり方なので、defaultsコマンドを使ってどうにかならないか試してみました。
結局うまくいかなかったのですが、誰かの参考になるかもしれないので一応書いておきます。
(失敗したけど)defaultsコマンドを使う方法
defaultsコマンドで「再ログイン時にウィンドウを再度開く」を無効にしたい場合は、下記を実行すると一応できます。
このコマンドは、~/Library/Preferences 内にある、com.apple.loginwindow.plist ファイルの TALLogoutSavesState という項目を NO にして無効にするのですが、下のダイアログを開いてしまうと、ファイル削除→新規作成になり、元に戻ってしまいます。 ちなみにファイルのアクセス権を変更しても無意味でした。
ダイアログを出さなければいいだけなのですが、それだと面白く無いのでログアウト時に上記コマンドを実行するようにしてみました。が、sudo権限で実行されるようで、別のファイルを勝手に作成して設定を書き込まれるのでダメ。
ユーザー側ではなく、システムのloginwindow.plistに設定を追加してもダメでした。
システム側のファイルを弄り過ぎると起動できなくなるので、どうにかならないかと色々と調べたのですが、無理っぽい上に、他のdefaultsでの方法も無さそうだったのでファイルを削除する方法にしました。
参考Link:
Mac OS X 10.7 Lion において戸惑った仕様変更とその回避策: Apple サポートコミュニティ
How setup Clean Start: Apple Support Communities
disable "reopen windows when logging back in" - MacRumors Forums
スポンサード リンク