Диалог выключения / перезапуска имеет флажок, Reopen windows when logging back in
который установлен по умолчанию. Мне нужно изменить его поведение, чтобы отключить по умолчанию. Это возможно? Если да, как я могу это сделать?
Редактировать: начиная с 10.7.4, флажок «Открывать окна при повторном входе в систему» оставался снятым, если вы снимите его один раз, поэтому приведенные ниже хаки больше не нужны.
Один из вариантов - установить 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
не сработал бы.
Ни один из этих параметров на самом деле не делает флажок не отмеченным, но он имеет тот же эффект.
Эта ошибка была исправлена с обновлением Lion 10.7.4 :
( нажмите здесь для получения дополнительной информации )
источник
Нет, он всегда включен. Однако существует сценарий, который можно запустить, который отключает эту функцию. Поле все еще будет отмечено, но функция больше не будет работать:
Вставьте следующее в одну строку в терминале:
Эта команда загружает скрипт, помещает его в соответствующее место, делает его исполняемым, а затем удаляет временный файл. Если вам интересно, содержимое скачанного bash-скрипта следующее:
Если вы когда-нибудь захотите вернуться к поведению по умолчанию этой функции OS X Lion, просто введите следующую команду записи по умолчанию:
И вы вернетесь, чтобы иметь возможность выбрать восстановление окна на основе выбора этого флажка.
Источник: http://osxdaily.com/
источник
Это изменилось в Mac OS X Update версии 10.7.4.
Вот новая опция, как вы можете видеть (хотя сама по себе она не является доказательством, поскольку ее легко снять, а затем захватить экран, но, пожалуйста, поверьте мне - я был весьма потрясен, когда проверил это обновление, поскольку эта ошибка действительно раздражала мне!)
источник
Для Мохаве ни один из вышеперечисленных вариантов для меня не сработал, однако кто-то еще упомянул следующее, и мне этого достаточно:
Закройте все окна, кроме терминала, и запустите:
Terminal и Finder теперь будут единственными приложениями, которые будут открываться при перезагрузке.
источник
Для записи, мы говорим об этом:
Проблема в том, что OS X не запоминает, если вы снимите флажок при последнем выключении - он всегда будет сохранять флажок по умолчанию при последующих выключениях.
Я нашел два разных решения этой проблемы , которые, кажется, делают свое дело, хотя они не идеальны.
Откройте Terminal.app и введите следующие команды:
Это фактически отключает опцию «вновь открывать окна при повторном входе в систему», хотя флажок все равно будет установлен. Вы можете просто игнорировать это.
Боюсь, лучшего решения нет, по крайней мере, на данный момент.
Также возможно отключить Resume для каждого приложения .
Существует также системная настройка, которая позволяет отключить ее для всех приложений в масштабе всей системы. Перейдите в Системные настройки → Общие :
Кроме того, вы можете запустить эту команду в Terminal.app:
(Взято из моего
.osx
файла.)источник
TALLogoutSavesState
иногда сбрасывается до true после выхода из системы и обратно.defaults write com.apple.loginwindow TALLogoutSavesState -bool false
нужно будет запустить при входе в систему с помощью агента launchd или чего-то ещеLoginwindowLaunchesRelaunchApps
настройкой. Я помню, как тестировал их по отдельности, и в этом случае я столкнулся с вопросами, которые вы описали в своем ответе. AFAICT, есть что-то в комбинации двух настроек, которая делает свое дело.defaults read com.apple.loginwindow TALLogoutSavesState
вернулся1
.TALLogoutSavesState
все еще устанавливается в истину сам по себе. НоLoginwindowLaunchesRelaunchApps -bool false
одного только, кажется, достаточно, чтобы отключить восстановление окон.Снятие отметки «Открыть окна при входе в систему» не решило проблему для меня. Приложения по-прежнему открывались после перезапуска из Apple Script или с помощью команды выключения в терминале.
Постоянно предотвращать повторное открытие приложений MacOS High Sierra после перезагрузки
Работает в macOS El Capitan, Yosemite, Sierra, High Sierra.
Решение: запретите OS X доступ к файлу, который он использует для хранения вашего состояния сеанса. Он предотвращает повторное открытие приложений даже после перезагрузки / выключения из терминала , из AppleScript и сбоя системы.
Метод GUI
Cmd+Shift+G
(Перейти в папку)~/Library/Preferences/ByHost/
и подтвердитьcom.apple.loginwindow
Locked
флажок)GUI метод (отменить)
Если вы хотите отменить это изменение позже и повторно включить функцию, просто удалите этот файл, и ОС создаст его заново.
Cmd+Shift+G
(Перейти в папку)~/Library/Preferences/ByHost/
и подтвердитьcom.apple.loginwindow
Метод CLI
Сделайте файл владельцем root (иначе ОС просто заменит его)
Удалите все разрешения, чтобы их нельзя было прочитать или записать
Метод CLI (отменить)
Снова включите «открыть все приложения» после входа в систему
источник