Як відключити перезавантаження програми та відновити вікно в El Capitan при перезавантаженні?


19

Як відключити функцію "перезавантаження програм після перезавантаження", а також функцію "перезапустити вікна при повторному запуску"? Коли я перезавантажуюсь (будь то після жорсткого скидання або перезавантаження команди), я хочу, щоб він був представлений порожнім робочим столом, а не всім, що я раніше відкривав. Крім того, коли я відкриваю програму, я не хочу, щоб десятки речей, над якими я працював раніше, відкривались все відразу.

Відповіді:


25

Якщо ви шукаєте спосіб назавжди відключити цю функцію, щоб не потрібно пам’ятати додатковий крок "зніміть прапорець" щоразу, коли ви вимикаєте машину, ви можете просто заборонити OS X доступ до файлу, який він використовує для зберігання. стан вашого сеансу.

У терміналі

# Make the file owned by root (otherwise the OS will just replace it)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*

# Remove all permissions, so it can't be read or written to
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*

Якщо ви хочете скасувати цю зміну пізніше і знову ввімкнути цю функцію, можливо, тому, що ви постраждали від пошкодження мозку і тепер вам здається, що завантажувальний цикл є кумедним, просто видаліть цей файл, і ОС відтворить його.

# Re-enable El Capitan's obnoxious "relaunch all the things" behavior
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*

Таке чудове рішення. Це мене так довго дратувало, але ніколи не знадобило часу на дослідження, як це назавжди зупинити.
Брейді

Найкраща відповідь. Працює на Ель-Капітан і Сьєрра.
Дарріл Е. Кларк

1
Оновлення зараз, перезапуск. Я подзвоню, якщо через 2 хвилини я знову побачу це вікно :-)
Уїльям Ентрікен

1
Два важливих доповнення до цього рішення: 1) Можливо, вам потрібно буде видалити та повторно додати порожню версію цього файлу, перш ніж змінювати дозволи. Інакше він просто відкриє все те, що вікна зберігалися останніми. 2) Вам також може знадобитися змінити деякі інші налаштування, щоб переконатися, що програми не встановлені для запуску при вході в систему.
Чуїм

4

Підхід, з яким я мав успіх, - це в основному підхід із замкнутим файлом Джона Смфіфта після випорожнення файлу. Приємно в тому, що це можна зробити без прав root та за допомогою простого сценарію оболонки з двома рядками:

# clear the file if it isn't empty
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' ! -size 0 -exec tee {} \; < /dev/null
# set the user immutable flag
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' -exec chflags uimmutable {} \;

Після швидкого занурення в findпосібник: знак оклику в першій команді - це unary notсинтаксичний аналіз команди, а не розширення історії bash. Це заперечує -size 0вираз, так що знайдеться лише не порожній файл входу для входу. Це також можна записати як -not.
Джо

3

Найпростіше рішення, яке я використовую, - це знайти файл у пошуку: ~ / Бібліотека / Налаштування / ByHost / com.apple.loginwindow

Потім або закрийте всі програми, щоб очистити вміст вищезазначених файлів, або бажано просто відкрити файл у текстовому редагуванні та видалити весь вміст, а потім зберегти його.

Потім виберіть файл у пошуку, але не відкривайте його

Потім натисніть клавішу Apple (поруч із пробілом) + i або перейдіть до меню файлів та натисніть «Отримати інформацію». Потім у розділі Загальні у вікні відображеної інформації встановіть прапорець "Заблокований" (файл блокується).

Використовуючи цей метод, набагато простіше ввімкнути або вимкнути його, оскільки процес запам'ятовується набагато простіше. Термінальний код, який ви використовуєте час від часу, швидше за все, не буде легко запам'ятовуватися або витягуватися


1
Проблема полягає в тому, щоб запам’ятати ім’я та місцезнаходження файлу, для якого потрібно змінити налаштування. Після того, як ви знаєте, що для багатьох користувачів з фонового режиму Unix команди chmod і chown оболонки та їх значення загальновідомі, знаючи, що Apple створила налаштування "заблокованого", з якого вони не знають, що це саме означає, є досить езотеричним.
gpvos

0

Щоб програми не відкривали попередні документи, перейдіть у розділ Налаштування системи> Загальне та поставте галочку Закрити вікна, коли закриваєте прапорець програми.

введіть тут опис зображення

Щоб уникнути повторного запуску програм після того, як перезавантаження не відбудеться, зніміть прапорець у спливаючому вікні Завершення роботи або Перезапуск:

введіть тут опис зображення


5
У мене вже встановлено перше поле, і я завжди знімаю прапорець знову відкрити. Але коли мені доводиться робити жорсткий перезавантаження з будь-якої причини, усі 50 речей у мене були відкриті, і я намагаюся припинити це.
tattar8

2
Я б зосередився на виправленні того, що викликає необхідність жорсткого скидання. Зараз ви просите автомеханіка зафіксувати ріг, тому що гальма не працюють.
Tetsujin

3
Проблема полягає в тому, що MacOS все одно знову відкриє вікна після примусового вимкнення або аварії. Іншими словами, самі ситуації, коли ви хоч би хотіли, щоб вікна знову
відкрилися

1
@Tetsujin: моя система стабільна, тому необхідність жорсткого скидання має тенденцію виникати нерегулярно і дуже рідко, але помилки трапляються, тому причина, як правило, є разовою проблемою, щоразу відрізняється. Тим не менш, я в цей час особливо не хочу, щоб неприємний сюрприз системи все відкривав.
gpvos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.