Macとかの雑記帳

Lionでは再ログイン時に前回の状態を復帰する機能が追加されており、再起動後であってもスリープ復帰後と同じような感覚で直ぐに作業を再開できます。便利な機能なのですが、私のiMacはスペックが低い為か、ウィンドウが復帰すると若干辛そうなので毎回チェックを外しているのですが、面倒なので常に無効になるようにしてみました。

「ウィンドウを再度開く」を無効にする


Apple サポートコミュニティにて、HALさんという方が投稿された内容によると、「再ログイン時にウィンドウを再度開く」のチェックを外してログアウトすると、どのアプリが何のウィンドウを開いているのかを保存しておく下記のファイルが削除されるそうです。
~/Library/Preferences/ByHost/com.apple.loginwindow.xxx.plist
xxxは英数字。たぶん環境によってちがうと思います。

 

clam.png

 

これをログアウト時に毎回削除できれば可能ということなので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

     

    この方法は、再ログイン後にウィンドウを開く際に必要なファイルを削除するので、下のように「再ログイン時にウィンドウを再度開く」にチェックしてあってもウィンドウは開かれません。
    clam.png

    他の環境で試してないので断言できませんが、これで再ログイン時にウィンドウが開かれなくなると思います。

     

    ※:私の環境だけなのかもしれませんが、チェックを外そうがスクリプトの方法を使おうが、Finderだけは問答無用で開かれる上に、ログイン後にアプリを起動すると無効にしている「再開」が一時的に復活します。

     

    今回参考にさせてもらった投稿を見て、すぐに思いついたのがこの方法なのですが、設定を保存してあるファイルを削除する強制的なやり方なので、defaultsコマンドを使ってどうにかならないか試してみました。

     

    結局うまくいかなかったのですが、誰かの参考になるかもしれないので一応書いておきます。

     

    (失敗したけど)defaultsコマンドを使う方法


    defaultsコマンドで「再ログイン時にウィンドウを再度開く」を無効にしたい場合は、下記を実行すると一応できます。
  • defaultsコマンドで無効にする場合
  • $ defaults write com.apple.loginwindow TALLogoutSavesState -boolean NO

     

    このコマンドは、~/Library/Preferences 内にある、com.apple.loginwindow.plist ファイルの TALLogoutSavesState という項目を NO にして無効にするのですが、下のダイアログを開いてしまうと、ファイル削除新規作成になり、元に戻ってしまいます。
    clam.png
    ちなみにファイルのアクセス権を変更しても無意味でした。

     

    ダイアログを出さなければいいだけなのですが、それだと面白く無いのでログアウト時に上記コマンドを実行するようにしてみました。が、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

     

    スポンサード リンク