Décochez «Rouvrir les fenêtres lors de la reconnexion» par défaut

17

La boîte de dialogue d'arrêt / redémarrage comporte une case à cocher Reopen windows when logging back inqui est cochée par défaut. J'ai besoin de changer son comportement pour être décoché par défaut. Est-ce possible? Si oui, comment faire?

entrez la description de l'image ici

bdhar
la source

Réponses:

8

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 LoginwindowLaunchesRelaunchAppsclé 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.plistou en vous déconnectant puis en vous reconnectant une fois.

TALLogoutSavesStateparfois, 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 falsen'aurait pas fonctionné.

Aucune de ces options ne fait apparaître la case à cocher, mais elles ont le même effet.

Lri
la source
J'ai trouvé une raison de continuer à le faire sur 10.7.5: la case dans la boîte de dialogue Redémarrer est désormais décochée par défaut et l'état n'est pas restauré. Mais si j'ai forcé un redémarrage en maintenant enfoncé le bouton d'alimentation du matériel de mon MacBook, il a rétabli l'état. Après avoir appliqué ce correctif, lors du redémarrage avec le bouton, j'obtiens maintenant une boîte de dialogue au redémarrage qui dit "Vous arrêtez en raison d'un problème. Voulez-vous restaurer l'état?", Afin que je puisse obtenir un redémarrage propre.
Andrew Janke
4

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é.

entrez la description de l'image ici

( cliquez ici pour plus d'informations )

gentmatt
la source
2

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/


la source
Vous pouvez également désactiver Reprendre pour les applications par application. Voir ces réponses ici.
gentmatt
Merci pour le script, il corrige l'une des "fonctionnalités" les plus ennuyeuses des derniers Mac.
Tobia
2

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é.

entrez la description de l'image ici

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!)

entrez la description de l'image ici

Graeme Hutchison
la source
2

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.

Daniel
la source
1

Pour mémoire, nous parlons de ceci:

Capture d'écran

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èmeGénéral :

Capture d'écran

Alternativement, vous pouvez exécuter cette commande dans Terminal.app:

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

(Tiré de mon .osxdossier.)

Mathias Bynens
la source
TALLogoutSavesStateobtient parfois réinitialisé à true après la déconnexion et la reconnexion. defaults write com.apple.loginwindow TALLogoutSavesState -bool falsedevrait être exécuté à la connexion en utilisant un agent launchd ou quelque chose.
Lri
@Lri Cela semble bien fonctionner pour moi, même après plusieurs déconnexions / redémarrages, en combinaison avec le LoginwindowLaunchesRelaunchAppsparamè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.
Mathias Bynens
Je viens de courir à nouveau les deux, je me suis déconnecté et reconnecté deux fois, et je suis defaults read com.apple.loginwindow TALLogoutSavesStaterevenu 1.
Lri
TALLogoutSavesStatese met toujours à vrai par lui-même. Mais tout LoginwindowLaunchesRelaunchApps -bool falseseul semble suffire pour désactiver la restauration des fenêtres.
Lri
0

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.

Empêcher définitivement macOS High Sierra de rouvrir les applications après un redémarrage

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.

Méthode GUI

  1. Ouvrir le Finder
  2. Cmd+Shift+G (Aller au dossier)
  3. Copier ~/Library/Preferences/ByHost/et confirmer
  4. Trouver le fichier commençant par com.apple.loginwindow
  5. Double clic (ouvre dans TextEdit)
  6. Supprimez tout le contenu et enregistrez le fichier vide. Une boîte de dialogue de confirmation supplémentaire peut apparaître.
  7. Clic droit, obtenir des informations
  8. Verrouillez le fichier (cochez la Lockedcase)

Méthode GUI (annuler)

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.

  1. Ouvrir le Finder
  2. Cmd+Shift+G (Aller au dossier)
  3. Copier ~/Library/Preferences/ByHost/et confirmer
  4. Localisez le fichier commençant par com.apple.loginwindow
  5. Supprimez-le simplement

Méthode CLI

  1. Ouvrez Terminal.app
  2. Rendre le fichier appartenant à root (sinon le système d'exploitation le remplacera simplement)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Supprimez toutes les autorisations afin qu'elles ne puissent pas être lues ou écrites dans

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

Méthode CLI (annuler)

  1. Réactivez «rouvrir toutes les applications» après la connexion

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

     


babca
la source