Existe-t-il un moyen pour que Terminal on Lion démarre correctement (sans l'historique mis en mémoire tampon)?

13

Comment puis-je empêcher Terminal de me montrer mon ancienne sortie au démarrage?

J'aimerais qu'il commence toujours par une fenêtre propre.

guidoisme
la source

Réponses:

13

Vous ne pouvez changer de terminal qu'avec cette seule commande pour écrire une nouvelle préférence pour cette application spécifique.

defaults write com.apple.terminal NSQuitAlwaysKeepsWindows -bool false

C'est général, donc bien sûr, remplacez safari ou quicktimeplayerX ou quoi que ce soit dans la com.apple.terminalpartie de la commande selon les besoins. Ce paramètre bascule le comportement d'enregistrement par défaut lors de la fermeture de cette application. Vous trouverez de nombreuses autres applications qui fonctionnent bien avec ce paramètre en recherchant sur NSQuitAlwaysKeepsWindows .

Bien sûr, vous devez exécuter cette defaultscommande après avoir fermé toutes les fenêtres, puis quitté l'application pour vous assurer que les paramètres sont lus au prochain démarrage de Terminal.

bmike
la source
Vous pouvez également fermer toutes les fenêtres lorsque vous quittez. Parfois, j'aime que ce soit propre. Parfois, j'aime conserver l'ancienne sortie.
bahamat
5

En plus de définir la préférence pour toujours supprimer la reprise, vous pouvez également contrôler cela lorsque vous quittez en appuyant sur la touche de modification Option, de sorte que «Quitter…» devienne «Quitter et supprimer Windows». par exemple, vous pouvez taper Option-Command-Q pour quitter sans enregistrer l'état. Vous pouvez également appuyer sur le modificateur Shift lorsqu'une application s'ouvre pour l'empêcher de restaurer l'état pour Reprendre.

Il existe également une préférence Terminal (sans interface utilisateur) pour contrôler le nombre de lignes du défilement arrière à restaurer, que vous pouvez définir à zéro, bien qu'il restaure toujours le contenu de l'affichage:

defaults write com.apple.Terminal RestoreScrollbackLines 0
Chris Page
la source
0

Il semble y avoir un cas où la désactivation NSQuitAlwaysKeepsWindowsne fonctionne pas: lorsque le terminal est tué par killall Terminal, et probablement aussi lorsqu'il se bloque ou lorsqu'il est forcé de quitter.

J'utilise killall Terminalrégulièrement, mais lorsque le CV entre en jeu, cela gâche mon historique de bash. Fondamentalement, les commandes de la session après la reprise ne seront pas enregistrées. Le comportement d'enregistrement normal n'est restauré qu'après avoir quitté et rouvert Terminal.app. Il semble cependant que la désactivation complète des fonctionnalités de reprise corrige l'historique de bash:

chmod a-rwx ~/Library/Saved\ Application\ State/com.apple.Terminal.savedState

Merci à la réponse de willWorkForCookies à Comment empêcher une application d'enregistrer / restaurer un état enregistré .

mach
la source
-3

Vous pouvez réellement désactiver "enregistrer l'état" par application, consultez https://faqintosh.com/risorse/en/sys/swapsaveability/

HTH

Marco Balestra
la source
1
Bienvenue chez Apple! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
daviesgeek