Comment ouvrir un terminal propre dans Mac OS X Lion?

10

Chaque fois que j'ouvre un terminal, les dernières commandes utilisées apparaissent.

J'aimerais obtenir un terminal propre lorsque je l'ouvre, mais je n'ai pas trouvé comment le faire.

Par exemple, si j'utilise le terminal, je fais:

defaults write com.apple.Finder...etc

puis je ferme le terminal. La prochaine fois que j'ouvrirai le terminal, je verrai cette même ligne grisée (pour indiquer qu'il s'agit d'une commande que j'ai utilisée la dernière fois que j'ai ouvert le terminal) et une ligne pour commencer à écrire en dessous.

Proxifier
la source
Pouvez-vous donner un exemple de ce que vous voyez lorsque vous ouvrez le terminal?
slhck
J'ai fait un alias clearvers une commande de suppression de fenêtre de sortie appropriée sur ma machine. Le recherchera dans environ six heures à moins que quelqu'un d'autre ne fournisse une réponse avant cette date.
Daniel Beck
@Daniel J'apprécierais vraiment ça, merci!
Proxify

Réponses:

4

Ajoutez ce qui suit à la fin de .bash_profile:

printf '\033c'

Cela effacera vraiment le terminal. J'ai même défini la fonction suivante, car je n'aimais pas le comportement de défilement par défaut clear:

function clear {
    printf '\033c'
}

Je pense que c'est la même chose qu'une réinitialisation matérielle du Terminal ( Cmd-Opt-R), mais je ne suis pas tout à fait sûr.

Daniel Beck
la source
ce n'est pas la réponse cependant - Lion restaure les fenêtres de la session Terminal précédente. Ce que vous devez faire est de désactiver la reprise du terminal comme Josh le dit ci-dessous. De plus, vous devez apprendre à fermer les fenêtres que vous n'utilisez plus avant de quitter l'application dans Lion.
w00t
1
@ w00t Eh bien, je suppose que vous comprenez la question différemment de moi. L'utilisateur n'est concerné que par les lignes grises liées à sa précédente session; nulle part les fenêtres ne sont réellement mentionnées. Les sessions sont également nouvelles; qui est facilement visible lorsque vous vous cdtrouvez quelque part, puis fermez et rouvrez le terminal. Il n'y a que les lignes grises de la fin de la session précédente. Entre ma réponse et celle des autres, il peut sûrement trouver une solution à son problème, quelle que soit l'interprétation correcte. Soit dit en passant, ma réponse est cochée, même si ce n'était pas la première, donc ça ne peut pas être si mauvais.
Daniel Beck
ESC cest "Réinitialisation complète (RIS)", qui est identique à Shell> Envoyer une réinitialisation matérielle; cependant, cela efface simplement l'affichage et réinitialise l'état du terminal. Il n'efface pas le défilement. Si tout ce que Proxify recherche est un moyen d'effacer l'écran, utilisez simplement la clearcommande normale (pas la clearfonction donnée dans cette réponse). Sinon, il ESC cest insuffisant et effectue une réinitialisation du terminal complètement inutile.
Chris Page
@ChrisPage J'aurais pu jurer qu'il avait aussi effacé le défilement. Avez-vous toujours un système 10.6? Quand j'ai posté ça, j'étais toujours sur Snow Leopard. Sur Lion, cela ne fait aucune différence, comme vous l'avez écrit.
Daniel Beck
@DanielBeck Avant 10.7, la séquence d'échappement Erase in Display (ED) (ESC [… J) ne pouvait qu'effacer l'écran, pas le défilement. À partir de la version 10.7, Terminal prend en charge la variante xterm ED qui efface le défilement: ESC [3 J invisible-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page
10

D'après ma propre expérience, lorsque j'ai désactivé la fonction de reprise de Lion , cela a empêché le terminal de stocker l'historique des sessions.

Singe Asinine
la source
1
Il semble que cela résout ce problème. Merci.
Mike L.
9

La fonction de reprise de la fenêtre de Lion est définie application par application. Vous pouvez arrêter cela dans Terminal avec la commande suivante:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Étant donné que vous modifiez les paramètres du terminal tout en ouvrant le terminal, vous devrez fermer et redémarrer le terminal deux fois avant de voir l'effet.

Josh Cheshire
la source
Cela devrait être la réponse à mon avis. Cela définit les paramètres par défaut pour l'ensemble de Mac OS X.
KVISH
7

Commande-K efface le défilement.

ARG
la source
C'est la solution la plus simple et la meilleure pour un effacement permanent de quelques fenêtres, mais pas une désactivation permanente de la fonctionnalité.
Simone Manganelli
1

Je pense que ce que vous voulez, ce n'est pas jouer avec des solutions de contournement, mais vous voulez savoir où est stocké sur le disque le "texte gris" que vous voyez dans Terminal et le supprimer.

Ce texte est stocké ici: ~ / Library / Saved Application State / com.apple.Terminal.savedState.

Supprimez le dossier et vous serez heureux.

Dieu
la source
0

Une solution: exporter TERMavec une valeur raisonnable comme "xterm" et placer la clearcommande sur la dernière ligne de votre ~/.bash_profile. D'autres solutions pourraient être imaginées.

Terry Gardner
la source
2
clearne vide pas le terminal, il fait seulement défiler une page.
Daniel Beck
@DanielBeck clearefface l'affichage du terminal. Dans certains cas, il le fait en déplaçant le contenu de l'écran dans le défilement (mais pas toujours, par exemple, lorsque l'écran alternatif est sélectionné).
Chris Page
Il n'est pas nécessaire de modifier la valeur de TERM sauf si on l'a déjà modifiée par défaut. Par défaut, Terminal définit TERM sur xterm-color (versions antérieures à 10.7) ou xterm-256color (Lion 10.7 et versions ultérieures), les deux prenant en charge clear.
Chris Page
@ChrisPage À quelle fréquence est-ce le cas lors du lancement de Terminal?
Daniel Beck
@DanielBeck Je ne comprends pas votre question. À moins que l'utilisateur n'ait personnalisé le paramètre de préférence «Déclarer le terminal comme» pour modifier la valeur à laquelle Terminal définit TERM, ce sera la valeur par défaut, xterm-256color (ou xterm-color avant 10.7). Le terminal définit toujours TERM sur la valeur "Déclarer le terminal comme" lors de la création d'une session de terminal.
Chris Page