30 votes

Éviter la réouverture de toutes les applications en cas de plantage d'OS X

Parfois, mon ordinateur se bloque et redémarre en raison d'erreurs inconnues. Cela se produit généralement lorsque je travaille sur quelque chose et que plusieurs applications sont ouvertes. OS X a une fonction ennuyeuse qui essaie de rouvrir toutes les applications lorsque vous redémarrez. Vous pouvez la désactiver lors d'un redémarrage manuel, mais elle persiste si l'ordinateur redémarre après un plantage.

Je pense que cette fonctionnalité a été conçue pour gagner du temps, mais tout ce qu'elle fait, c'est perdre plus de temps qu'elle n'en vaut la peine, car chaque fois que l'ordinateur redémarre après un plantage, je le redémarre une fois de plus (cette fois avec la fonction "Réouvrir les applications" désactivée) juste pour retrouver un état utilisable. Le problème est qu'il continue à faire apparaître des applications et à empêcher le redémarrage.

La désactivation de cette fonction m'éviterait de devoir redémarrer après un crash. Existe-t-il un moyen d'empêcher OS X de faire cela ?

0 votes

Voulez-vous vraiment que nous vous aidions à vous débarrasser de ces erreurs ?

7 votes

Les crashs de @Ruskes peuvent se produire pour de nombreuses raisons. La question est valable en soi

31voto

jtxx000 Points 46

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 l'état de votre session. Cela empêche la réouverture d'applications même après un redémarrage/arrêt de Terminal , de AppleScript et une panne du système.

Méthode GUI

  1. Ouvrir le Finder
  2. Cmd+Shift+G (Aller au dossier)
  3. Copier-coller ~/Library/Preferences/ByHost/ et confirmer
  4. Trouvez 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. Verrouiller le fichier (cocher la case)

Méthode GUI (annuler)

Si vous souhaitez annuler cette modification ultérieurement et réactiver la fonction, il suffit de supprimer ce fichier et le système d'exploitation le recréera.

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

Méthode CLI

  1. Ouvrez Terminal.app

  2. Faire en sorte que le fichier appartienne à Root (sinon le système d'exploitation le remplacera simplement).

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
  3. Supprimez toutes les permissions, afin qu'il ne puisse pas être lu ou écrit.

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

Méthode CLI (annuler)

  1. Réactiver l'option "rouvrir toutes les applications" après la connexion

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

4 votes

Merci pour cette excellente réponse ! Elle fonctionne bien et ne nécessite pas d'intervention de l'utilisateur, comme le fait de maintenir la touche [Shift] enfoncée lors du redémarrage du système. Elle est parfaite pour les systèmes non surveillés, comme ceux utilisés pour les kiosques ou les écrans d'information, qui peuvent avoir besoin d'exécuter leur propre séquence de démarrage prédéterminée, ce qui peut être compliqué par le fait que le système redémarre les applications dans un ordre différent lors d'une connexion automatique après une panne de courant.

2 votes

@babca : pour la méthode cli, vous pourriez ajouter la purge du contenu du fichier comme première étape, par exemple : echo > ~/Library/Preferences/ByHost/com.apple.loginwindow*

0 votes

Cela a fonctionné pour moi à big sur

6voto

J'ai trouvé que l'approche de @babca fonctionne bien, mais sur MacOS Catalina pour moi c'était légèrement différent. J'avais deux com.apple.loginwindow.*.plist fichiers dans ~/Library/Preferences/ByHost/ et ils n'étaient pas en texte brut - com.apple.loginwindow.AB6XXXXX-XXXX-XXXX-XXXX-XXXXXXX5291.plist y com.apple.loginwindow.111XXXXX-XXXX-XXXX-XXXX-XXXXXXXXAC43.plist .

J'ai donc effectué les deux étapes suivantes pour chaque fichier :

Ouvert ( -O ) chaque Finder dans XCode (le défaut je pense dans Catalina), a enlevé toutes les entrées sous TALAppsToRelaunchAtLogin et a enregistré le fichier.

enter image description here

Got Info ( -I ) pour chacun d'eux dans le Finder, puis vérifiez Locked la case à cocher. Notez que la boîte de prévisualisation montre un <array/> à l'intérieur de TALAppsToRelaunchAtLogin .

enter image description here

Pour annuler ce changement, répétez la dernière étape pour chaque fichier mais décochez l'option Locked la case à cocher.

3voto

patrick fogarty Points 21

Je présente une solution différente pour répondre à quelques exigences supplémentaires de ma part qui la rendent plus polyvalente. Ces exigences sont les suivantes :

  1. Il faut que ce soit à partir de la ligne de commande pour que je puisse copier et coller plutôt que de cliquer maladroitement dans une interface utilisateur.
  2. Il faut que ce soit quelque chose qui puisse être mis dans un pour la boucle pour pouvoir modifier chaque utilisateur sur une machine. (DevOps quelqu'un ?) De plus, le code doit pouvoir être autonome, et non pas nécessitant une boucle for, afin qu'un utilisateur final puisse l'exécuter lui-même.
  3. Il doit pouvoir gérer le fait que le répertoire personnel se trouve à un endroit non standard.

Avec l'aide du code situé aquí J'ai trouvé ce qui suit, qui fonctionne en sh et bash sur Catalina et Big Sur au moins...

# set user name, machine uuid, and home dir
someUser=$(stat -f%Su /dev/console)
machineUUID=$(ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}')
homeDir=$(dscacheutil -q user -a name ${someUser} | grep 'dir:' | awk '{print $2}')

# delete the plist array
/usr/libexec/PlistBuddy -c 'Delete :TALAppsToRelaunchAtLogin' ${homeDir}/Library/Preferences/ByHost/com.apple.loginwindow.${machineUUID}.plist

# make the file readonly
chflags uimmutable ${homeDir}/Library/Preferences/ByHost/com.apple.loginwindow.${machineUUID}.plist

0 votes

Fonctionne très bien sur un vieux macmini "musique" High Sierra. Maintenant, c'est comme un lecteur de CD, prêt en quelques secondes. Merci beaucoup.

1voto

Feri Beke Points 21

Essayez d'appuyer sur Shift lorsque vous voyez la fenêtre de connexion et relâchez-la lorsque le Dock apparaît.

Cela empêche les éléments de vos éléments de connexion de démarrer lorsque vous vous connectez mais n'empêche pas les applications qui sont reprises.

0 votes

Je n'ai aucune idée de la raison pour laquelle la connexion sécurisée a été rétrogradée ici. Il s'agit d'une solution rapide et élégante qui permet de revenir en arrière et d'apporter des modifications permanentes.

0 votes

Il est possible qu'il ait été rétrogradé parce qu'il ne fonctionne pas de manière fiable. Il ne fonctionne jamais pour moi.

0 votes

@bmike parce que comme la réponse le dit même : Il n'empêche pas les applications de se rouvrir. C'est exactement ce que le PO a demandé, et c'est exactement ce que cette réponse n'aborde pas.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X