Wie öffne ich ein sauberes Terminal in Mac OS X Lion?

10

Immer wenn ich ein Terminal öffne, werden die zuletzt verwendeten Befehle angezeigt.

Ich möchte ein sauberes Terminal erhalten, wenn ich es öffne, aber ich habe nicht gefunden, wie es geht.

Zum Beispiel, wenn ich das Terminal benutze:

defaults write com.apple.Finder...etc

und dann schließe ich das Terminal. Wenn ich das Terminal das nächste Mal öffne, wird dieselbe Zeile abgeblendet (um anzuzeigen, dass es sich um einen Befehl handelt, den ich beim letzten Öffnen des Terminals verwendet habe) und eine Zeile, mit der ich darunter schreiben kann.

Proxifizieren
quelle
Können Sie ein Beispiel geben, was Sie sehen, wenn Sie das Terminal öffnen?
Slhck
Ich habe cleareinen Alias für einen ordnungsgemäßen Befehl zum Löschen des Ausgabefensters auf meinem Computer erstellt. Wird es in ungefähr sechs Stunden nachschlagen, es sei denn, jemand anderes gibt vorher eine Antwort.
Daniel Beck
@ Daniel Ich würde das wirklich schätzen, danke!
Proxify

Antworten:

4

Fügen Sie ganz am Ende Folgendes hinzu .bash_profile:

printf '\033c'

Dadurch wird das Terminal wirklich gelöscht. Ich habe sogar die folgende Funktion definiert, da mir das Bildlaufverhalten der Standardeinstellung nicht gefallen hat clear:

function clear {
    printf '\033c'
}

Ich denke, es ist dasselbe wie ein Hard-Reset des Terminals ( Cmd-Opt-R), aber ich bin mir nicht ganz sicher.

Daniel Beck
quelle
Dies ist jedoch nicht die Antwort. Lion stellt Fenster aus der vorherigen Terminalsitzung wieder her. Was Sie tun müssen, ist Resume for Terminal zu deaktivieren, wie Josh unten sagt. Außerdem müssen Sie lernen, Fenster zu schließen, die Sie nicht mehr verwenden, bevor Sie die Anwendung in Lion beenden.
w00t
1
@ w00t Nun, ich denke du verstehst die Frage anders als ich. Der Benutzer ist nur über die grauen Linien besorgt, die sich auf seine vorherige Sitzung beziehen. Nirgendwo werden die Fenster tatsächlich erwähnt. Sitzungen sind ebenfalls neu; Dies ist gut sichtbar, wenn cdSie irgendwo ein Terminal schließen und wieder öffnen. Es gibt nur die grauen Linien vom Ende der vorherigen Sitzung. Zwischen meiner Antwort und der der anderen kann er sicherlich eine Lösung für sein Problem finden, je nachdem, welche Interpretation richtig ist. By the way, hat meine Antwort auf das Häkchen, obwohl es nicht die erste war, so kann es nicht sein , dass schlecht.
Daniel Beck
ESC cist "Full Reset (RIS)", was mit Shell> Send Hard Reset identisch ist; Dadurch wird jedoch lediglich die Anzeige gelöscht und der Terminalstatus zurückgesetzt. Der Scrollback wird nicht gelöscht. Wenn Proxify nur nach einer Möglichkeit sucht, den Bildschirm zu löschen, verwenden Sie einfach den normalen clearBefehl (nicht die clearin dieser Antwort angegebene Funktion). Andernfalls ESC cist dies nicht ausreichend und führt einen völlig unnötigen Terminal-Reset durch.
Chris Page
@ChrisPage Ich hätte schwören können, dass es auch den Scrollback gelöscht hat. Haben Sie noch ein 10.6-System? Als ich das gepostet habe, war ich noch auf Snow Leopard. Bei Lion macht es keinen Unterschied, so wie Sie es geschrieben haben.
Daniel Beck
@DanielBeck Vor 10.7 konnte die Escape-Sequenz Erase in Display (ED) (ESC [… J) nur den Bildschirm löschen, nicht den Scrollback. Ab 10.7 unterstützt Terminal die xterm ED-Variante, die den Scrollback löscht: ESC [3 J unsichtbar-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page
10

Aus eigener Erfahrung wurde beim Speichern der Lion's Resume-Funktion das Speichern des Sitzungsverlaufs durch das Terminal gestoppt.

Asinine Affe
quelle
1
Es sieht so aus, als würde dies dieses Problem lösen. Vielen Dank.
Mike L.
9

Die Wiederaufnahmefunktion des Lion-Fensters wird von Anwendung zu Anwendung festgelegt. Sie können dies im Terminal mit dem folgenden Befehl stoppen:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Da Sie die Terminaleinstellungen bearbeiten, während das Terminal geöffnet ist, müssen Sie das Terminal zweimal schließen und neu starten, bevor Sie den Effekt sehen können.

Josh Cheshire
quelle
Dies sollte meiner Meinung nach die Antwort sein. Dies setzt die Standardeinstellungen für alle Mac OS X.
KVISH
7

Befehl-K löscht den Scrollback.

ARG
quelle
Dies ist die einfachste und beste Lösung für eine dauerhafte Löschung einiger Fenster, jedoch nicht für eine dauerhafte Deaktivierung der Funktion.
Simone Manganelli
1

Ich denke, was Sie wollen, ist nicht mit Problemumgehungen zu spielen, aber Sie möchten wissen, wo auf der Festplatte der "graue Text" gespeichert ist, den Sie im Terminal sehen, und ihn entfernen.

Dieser Text wird hier gespeichert: ~ / Library / Saved Application State / com.apple.Terminal.savedState.

Entfernen Sie den Ordner und Sie werden glücklich sein.

Gott
quelle
0

Eine Lösung: Exportieren Sie TERMmit einem angemessenen Wert wie "xterm" und platzieren Sie den clearBefehl in der letzten Zeile Ihres ~/.bash_profile. Andere Lösungen könnten entwickelt werden.

Terry Gardner
quelle
2
clearlöscht das Terminal nicht, sondern scrollt nur eine Seite nach unten.
Daniel Beck
@DanielBeck clearlöscht die Terminalanzeige. In einigen Fällen erfolgt dies, indem der Bildschirminhalt in den Bildlauf verschoben wird (jedoch nicht immer, z. B. wenn der alternative Bildschirm ausgewählt ist).
Chris Page
Es ist nicht erforderlich, den Wert von TERM zu ändern, es sei denn, man hat ihn bereits von der Standardeinstellung geändert. Standardmäßig setzt Terminal TERM auf xterm-color (Versionen vor 10.7) oder xterm-256color (Lion 10.7 und höher), die beide unterstützen clear.
Chris Seite
@ChrisPage Wie oft ist dies beim Starten von Terminal der Fall?
Daniel Beck
@ DanielBeck Ich verstehe deine Frage nicht. Sofern der Benutzer die Voreinstellung "Terminal deklarieren als" nicht angepasst hat, um den Wert zu ändern, auf den Terminal TERM festlegt, ist dies die Standardfarbe xterm-256color (oder xterm-color vor 10.7). Das Terminal setzt TERM beim Erstellen einer Terminalsitzung immer auf den Wert "Terminal deklarieren als".
Chris Seite