Okno dialogowe zamykania / restartowania ma pole wyboru, Reopen windows when logging back in
które jest domyślnie zaznaczone. Muszę zmienić jego zachowanie, aby domyślnie nie było zaznaczone. czy to możliwe? Jeśli tak, jak mogę to zrobić?
Edycja: od 10.7.4 pole wyboru „Ponownie otwieraj okna podczas ponownego logowania” pozostało niezaznaczone, jeśli odznaczysz je raz, więc poniższe hacki nie są już potrzebne.
Jedną z opcji jest ustawienie wartości LoginwindowLaunchesRelaunchApps
false na ~/Library/Preferences/com.apple.loginwindow.plist
:
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Możesz również zapisać tę listę właściwości jako ~/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>
Następnie załaduj listę właściwości, uruchamiając launchctl load ~/Library/LaunchAgents/logout_saves_state.plist
lub wylogowując się i ponownie logując.
TALLogoutSavesState
czasami wyzerowałem się, gdy wylogowałem się i wróciłem, więc defaults write com.apple.loginwindow TALLogoutSavesState -bool false
jednorazowe uruchomienie nie zadziałałoby.
Żadna z tych opcji tak naprawdę nie powoduje zaznaczenia pola wyboru, ale mają ten sam efekt.
Ten błąd został naprawiony w aktualizacji Lion 10.7.4 :
( kliknij tutaj, aby uzyskać więcej informacji )
źródło
Nie, zawsze jest ustawione na „włączone”. Istnieje jednak skrypt, który można uruchomić, który wyłącza tę funkcję. Pole będzie nadal zaznaczone, ale funkcja nie będzie już działać:
Wklej następujące elementy w jednym wierszu w terminalu:
To polecenie pobiera skrypt, umieszcza go w odpowiedniej lokalizacji, umożliwia jego wykonanie, a następnie usuwa plik tymczasowy. Jeśli zastanawiasz się, zawartość pobranego skryptu bash jest następująca:
Jeśli kiedykolwiek chcesz przywrócić domyślne zachowanie tej funkcji OS X Lion, po prostu wpisz następującą domyślną komendę write:
Wrócisz, aby móc wybrać przywracanie okna na podstawie wyboru tego pola wyboru.
Źródło: http://osxdaily.com/
źródło
Zmieniło się to w aktualizacji Mac OS X w wersji 10.7.4.
Oto nowa opcja, jak widać (chociaż nie jest to dowód sam w sobie, ponieważ łatwo ją odznaczyć, a następnie przechwycić ekran, ale proszę mi zaufać - byłem bardzo zaskoczony, gdy sprawdziłem tę aktualizację, ponieważ ten błąd był naprawdę denerwujący mnie!)
źródło
W przypadku Mojave żadna z powyższych opcji nie działała dla mnie, jednak ktoś inny wspomniał o tym i wystarcza mi:
Zamknij wszystkie okna oprócz terminalu i uruchom:
Terminal i Finder będą teraz jedynymi aplikacjami, które zostaną otwarte przy ponownym uruchomieniu.
źródło
Dla przypomnienia mówimy o tym:
Problem polega na tym, że OS X nie pamięta, jeśli odznaczysz pole wyboru przy ostatnim zamknięciu - zawsze pozostawi pole wyboru domyślnie zaznaczone przy kolejnych zamknięciach.
Znalazłem dwa różne rozwiązania tego problemu , które wydają się załatwić sprawę, chociaż nie są idealne.
Otwórz Terminal.app i wprowadź następujące polecenia:
To skutecznie wyłącza opcję „ponownie otwieraj okna podczas ponownego logowania”, chociaż pole wyboru nadal będzie zaznaczone. Możesz to zignorować.
Obawiam się, że nie ma lepszego rozwiązania, przynajmniej w tej chwili.
Możliwe jest również wyłączenie Wznów dla poszczególnych aplikacji .
Istnieje również ustawienie systemowe, które umożliwia wyłączenie go dla wszystkich aplikacji w całym systemie. Przejdź do Preferencji systemowych → Ogólne :
Alternatywnie możesz uruchomić to polecenie w Terminal.app:
(Zaczerpnięte z mojego
.osx
pliku.)źródło
TALLogoutSavesState
czasami jednak resetuje się do wartości true po wylogowaniu i ponownym zalogowaniu.defaults write com.apple.loginwindow TALLogoutSavesState -bool false
będzie musiał zostać uruchomiony przy logowaniu przy użyciu uruchomionego agenta lub czegoś takiego.LoginwindowLaunchesRelaunchApps
ustawieniem. Pamiętam, jak testowałem je osobno, w którym to przypadku natknąłem się na problemy opisane w odpowiedzi. AFAICT, jest coś w połączeniu dwóch ustawień, które załatwi sprawę.defaults read com.apple.loginwindow TALLogoutSavesState
wróciłem1
.TALLogoutSavesState
nadal sama staje się prawdziwa. Ale tylkoLoginwindowLaunchesRelaunchApps -bool false
sam wydaje się wystarczający, aby wyłączyć przywracanie systemu Windows.Odznaczenie opcji „Ponownie otwórz okna podczas ponownego logowania” nie rozwiązało problemu. Aplikacje nadal były otwierane po ponownym uruchomieniu ze skryptu Apple Script lub po wyłączeniu polecenia w terminalu.
Trwale uniemożliwia macOS High Sierra ponowne otwieranie aplikacji po ponownym uruchomieniu
Działa w macOS El Capitan, Yosemite, Sierra, High Sierra.
Rozwiązanie: odmów dostępu OS X do pliku, którego używa do przechowywania stanu sesji. Zapobiega ponownemu otwarciu aplikacji nawet po ponownym uruchomieniu / zamknięciu z terminala , z AppleScript i awarii systemu.
Metoda GUI
Cmd+Shift+G
(Idź do folderu)~/Library/Preferences/ByHost/
i potwierdźcom.apple.loginwindow
Locked
wyboru)Metoda GUI (cofnij)
Jeśli chcesz później cofnąć tę zmianę i ponownie włączyć tę funkcję, po prostu usuń ten plik, a system operacyjny go odtworzy.
Cmd+Shift+G
(Idź do folderu)~/Library/Preferences/ByHost/
i potwierdźcom.apple.loginwindow
Metoda CLI
Utwórz plik należący do roota (w przeciwnym razie system operacyjny po prostu go zastąpi)
Usuń wszystkie uprawnienia, aby nie można było ich odczytać ani zapisać
Metoda CLI (cofnij)
Ponownie włącz opcję „otwórz ponownie wszystkie aplikacje” po zalogowaniu
źródło