Réponses:
Edit: depuis 10.7.4, la case "Rouvrir les fenêtres lorsque vous vous reconnectez" reste décochée si vous la décochez une fois, donc les hacks ci-dessous ne sont plus nécessaires.
Une option consiste à définir la LoginwindowLaunchesRelaunchApps
clé sur false dans ~/Library/Preferences/com.apple.loginwindow.plist
:
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Vous pouvez également enregistrer cette liste de propriétés sous ~/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>
Chargez ensuite la liste des propriétés en exécutant launchctl load ~/Library/LaunchAgents/logout_saves_state.plist
ou en vous déconnectant puis en vous reconnectant une fois.
TALLogoutSavesState
parfois, je me suis remis à vrai lorsque je me suis déconnecté et reconnecté, donc une seule exécution defaults write com.apple.loginwindow TALLogoutSavesState -bool false
n'aurait pas fonctionné.
Aucune de ces options ne fait apparaître la case à cocher, mais elles ont le même effet.
Ce bug a été corrigé avec la mise à jour Lion 10.7.4 :
La mise à jour OS X Lion v10.7.4 inclut des correctifs qui:
Résolvez un problème dans lequel le paramètre «Rouvrir les fenêtres lors de la reconnexion» est toujours activé.
Non, il est toujours réglé sur "on". Cependant, il existe un script que vous pouvez exécuter, qui désactive la fonctionnalité. La case sera toujours cochée, mais la fonctionnalité ne fonctionnera plus:
Collez les éléments suivants sur une seule ligne dans le terminal:
curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh
Cette commande télécharge un script, le place à l'emplacement approprié, le rend exécutable, puis supprime le fichier temporaire. Si vous vous demandez, le contenu du script bash téléchargé est le suivant:
#!/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
Si vous souhaitez revenir au comportement par défaut de cette fonction OS X Lion, tapez simplement la commande d'écriture par défaut suivante:
sudo defaults delete com.apple.loginwindow LoginHook
Et vous serez de retour pour pouvoir sélectionner la restauration de fenêtre en fonction du choix de cette case à cocher.
Source: http://osxdaily.com/
Cela a changé dans la mise à jour Mac OS X version 10.7.4.
Résolvez un problème où le paramètre «Rouvrir les fenêtres lors de la reconnexion» est toujours activé.
Voici la nouvelle option, comme vous pouvez le voir (bien que ce ne soit pas une preuve en soi car il est facile de décocher puis de saisir l'écran, mais faites-moi confiance - j'étais assez content quand j'ai vérifié cette mise à jour car ce bogue était vraiment ennuyeux moi!)
Pour Mojave, aucune des options ci-dessus n'a fonctionné pour moi, cependant, quelqu'un d'autre a mentionné ce qui suit, et cela me suffit:
Fermez toutes les fenêtres, sauf le terminal, et exécutez:
chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*
Terminal et Finder seront désormais les seules applications qui s'ouvriront au redémarrage.
Pour mémoire, nous parlons de ceci:
Le problème est que OS X ne se souvient pas si vous décochez la case lors du dernier arrêt - il gardera toujours la case cochée par défaut lors des arrêts suivants.
J'ai trouvé deux solutions différentes pour ce problème , qui semblent faire l'affaire, bien qu'elles ne soient pas idéales.
Ouvrez Terminal.app et entrez les commandes suivantes:
defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Cela désactive effectivement l'option «rouvrir les fenêtres lors de la reconnexion», bien que la case à cocher semble toujours cochée. Vous pouvez simplement l'ignorer.
J'ai bien peur qu'il n'y ait pas de meilleure solution, du moins pas pour le moment.
Il est également possible de désactiver la reprise par application .
Il existe également un paramètre système qui vous permet de le désactiver pour toutes les applications, à l'échelle du système. Allez dans Préférences Système → Général :
Alternativement, vous pouvez exécuter cette commande dans Terminal.app:
# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
TALLogoutSavesState
obtient parfois réinitialisé à true après la déconnexion et la reconnexion. defaults write com.apple.loginwindow TALLogoutSavesState -bool false
devrait être exécuté à la connexion en utilisant un agent launchd ou quelque chose.
LoginwindowLaunchesRelaunchApps
paramètre. Je me souviens d'avoir testé les deux séparément, auquel cas j'ai rencontré les problèmes que vous avez décrits dans votre réponse. AFAICT, il y a quelque chose dans la combinaison des deux paramètres qui fait l'affaire.
defaults read com.apple.loginwindow TALLogoutSavesState
revenu 1
.
TALLogoutSavesState
se met toujours à vrai par lui-même. Mais tout LoginwindowLaunchesRelaunchApps -bool false
seul semble suffire pour désactiver la restauration des fenêtres.
Décocher "Rouvrir les fenêtres lors de la reconnexion" n'a pas résolu le problème pour moi. Les applications étaient toujours en cours de réouverture après le redémarrage à partir d'Apple Script, ou avec la commande d'arrêt dans Terminal.
Fonctionne sous macOS El Capitan, Yosemite, Sierra, High Sierra.
Solution: refusez à OS X l'accès au fichier qu'il utilise pour stocker votre état de session. Il empêche la réouverture des applications même après le redémarrage / l'arrêt à partir de Terminal , d' AppleScript et le plantage du système.
Cmd+Shift+G
(Aller au dossier)~/Library/Preferences/ByHost/
et confirmercom.apple.loginwindow
Locked
case)Si vous souhaitez annuler cette modification ultérieurement et réactiver la fonctionnalité, supprimez simplement ce fichier et le système d'exploitation le recréera.
Cmd+Shift+G
(Aller au dossier)~/Library/Preferences/ByHost/
et confirmercom.apple.loginwindow
Rendre le fichier appartenant à root (sinon le système d'exploitation le remplacera simplement)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Supprimez toutes les autorisations afin qu'elles ne puissent pas être lues ou écrites dans
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
Réactivez «rouvrir toutes les applications» après la connexion
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*