デフォルトで「ログイン時にウィンドウを再度開く」のチェックを外します


17

シャットダウン/再起動ダイアログには、Reopen windows when logging back inデフォルトでチェックされるチェックボックスがあります。デフォルトでチェックを外すように動作を変更する必要があります。これは可能ですか?はいの場合、どうすればそれができますか?

ここに画像の説明を入力してください

回答:


8

編集:10.7.4以降、一度ログインを解除すると、[ログイン時にウィンドウを再度開く]チェックボックスがオフのままになったため、以下のハックは不要になりました。

1つのオプションは、LoginwindowLaunchesRelaunchAppsキーをfalseに設定することです~/Library/Preferences/com.apple.loginwindow.plist

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

このプロパティリストを~/Library/LaunchAgents/logout_saves_state.plist次の名前で保存することもできます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>logout_saves_state</string>
    <key>ProgramArguments</key>
    <array>
        <string>defaults</string>
        <string>write</string>
        <string>com.apple.loginwindow</string>
        <string>TALLogoutSavesState</string>
        <string>-bool</string>
        <string>false</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

次に、実行するlaunchctl load ~/Library/LaunchAgents/logout_saves_state.plistか、一度ログアウトして再度ログインすることにより、プロパティリストをロードします。

TALLogoutSavesStateログアウトして再度ログインすると、時々trueにリセットされるため、defaults write com.apple.loginwindow TALLogoutSavesState -bool false一度実行しただけではうまくいきませんでした。

これらのオプションはどちらも、実際にはチェックボックスをオフにして表示しませんが、同じ効果があります。


10.7.5でもこれを行う理由を見つけました。[再起動]ダイアログのボックスはデフォルトでオフになり、状態は復元されません。しかし、MacBookのハードウェアの電源ボタンを押して強制的に再起動すると、状態が復元されました。この修正を適用した後、ボタンを使用して再起動すると、再起動時に「問題のためシャットダウンしました。状態を復元しますか?」というダイアログが表示されます。
アンドリュージャンケ


2

いいえ、常に「オン」に設定されています。ただし、機能を無効にする実行可能なスクリプトが存在します。ボックスは引き続きチェックされますが、機能は機能しなくなります。

以下をターミナル内の1行に貼り付けます。

curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && 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機能のデフォルトの動作に戻したい場合は、次のデフォルトの書き込みコマンドを入力してください。

sudo defaults delete com.apple.loginwindow LoginHook

そして、そのチェックボックスの選択に基づいてウィンドウの復元を選択できるようになります。

ソース:http : //osxdaily.com/


アプリケーションごとにアプリケーションの再開を無効にすることもできます。こちらの回答をご覧ください。
ゲントマット

スクリプトをありがとう、それは最新のMacの最も厄介な「機能」の1つを修正します。
トビア14

2

これは、Mac OS X Updateバージョン10.7.4で変更されました。

[ログイン時にウィンドウを再度開く]設定が常に有効になっている問題を解決します。

ここに画像の説明を入力してください

ご覧のように、ここに新しいオプションがあります(チェックを外してから画面をつかむのは簡単なので、それ自体では証明されていませんが、私を信頼してください-このバグが本当に迷惑だったので、私はこのアップデートをチェックしたときにかなり興奮しました私!)

ここに画像の説明を入力してください


2

Mojaveの場合、上記のオプションはどれも役に立たなかったが、他の誰かが次のことを言及し、それで十分だ。

ターミナルを除くすべてのウィンドウを閉じて、次を実行します。

chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*

端末とFinderが、再起動時に開く唯一のアプリになります。


1

記録のために、我々はこれについて話している:

スクリーンショット

問題は、OS Xは最後のシャットダウン時にチェックボックスのチェックを外しても記憶しないことです。それ以降のシャットダウンでは、デフォルトでチェックボックスが常にチェックされたままになります。

はこの問題の2つの異なる解決策を見つけました。それらは理想的ではありませんが、トリックを行うようです。

Terminal.appを開き、次のコマンドを入力します。

defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

これにより、「ログイン時にウィンドウを再度開く」オプションが事実上無効になりますが、チェックボックスはチェックされたままになります。無視しても構いません。

少なくとも現時点では、より良い解決策はないのではないかと心配しています。


アプリごとに再開無効にすることもできます。

システム全体のすべてのアプリに対して無効にできるシステム設定もあります。[ システム環境設定] →[ 一般]に移動します

スクリーンショット

または、Terminal.appで次のコマンドを実行できます。

# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

(私の.osxファイルから取得。)


TALLogoutSavesStateただし、ログアウトしてから再度ログインすると、trueにリセットされることがあります。defaults write com.apple.loginwindow TALLogoutSavesState -bool falseログイン時にlaunchdエージェントなどを使用して実行する必要があります。
LRI

@Lri LoginwindowLaunchesRelaunchApps設定と組み合わせて複数のログアウト/再起動を行った後でも、私にとってはうまくいくようです。この2つを別々にテストしたことを覚えています。その場合、回答で説明した問題に遭遇しました。AFAICT、この2つの設定の組み合わせには何かトリックがあります。
マティアスバイネンズ

両方を再度実行し、ログアウトしてから2回defaults read com.apple.loginwindow TALLogoutSavesState戻って、戻ってきました1
LRI

TALLogoutSavesStateそれ自体でtrueに設定されます。しかし、LoginwindowLaunchesRelaunchApps -bool falseウィンドウの復元を無効にするには、それだけで十分のようです。
リリ

0

「ログイン時にウィンドウを再度開く」のチェックを外しても、問題は解決しませんでした。Apple Scriptからの再起動後、またはターミナルのシャットダウンコマンドを使用して、アプリがまだ再起動していました。

再起動後にmacOS High Sierraがアプリを再度開くことを永続的に防ぎます

macOS El Capitan、ヨセミテ、シエラ、ハイシエラで動作します。

解決策:セッション状態の保存に使用するファイルへのOS Xアクセスを拒否します。TerminalAppleScript、およびシステムクラッシュからの再起動/シャットダウンの後でも、アプリを再度開くことを防ぎます。

GUIメソッド

  1. ファインダーを開く
  2. Cmd+Shift+G (フォルダーに移動)
  3. コピーペースト~/Library/Preferences/ByHost/して確認
  4. で始まるファイルを見つける com.apple.loginwindow
  5. ダブルクリック(TextEditで開きます)
  6. すべてのコンテンツを削除し、空のファイルを保存します。追加の確認ダイアログが表示される場合があります。
  7. 右クリックして、情報を見る
  8. ファイルをロックします(チェックLockedボックスをオンにします)

GUIメソッド(元に戻す)

後でこの変更を取り消して機能を再度有効にする場合は、このファイルを削除するだけでOSによって再作成されます。

  1. ファインダーを開く
  2. Cmd+Shift+G (フォルダーに移動)
  3. コピーペースト~/Library/Preferences/ByHost/して確認
  4. で始まるファイルを見つけます com.apple.loginwindow
  5. 単に削除する

CLIメソッド

  1. Terminal.appを開きます
  2. ルートが所有するファイルを作成します(それ以外の場合、OSは単にファイルを置き換えます)。

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. すべての権限を削除して、読み取りまたは書き込みができないようにします

    sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

CLIメソッド(元に戻す)

  1. ログイン後に「すべてのアプリを再度開く」を再度有効にします

    sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

     


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.