Wie bringe ich OS X dazu, den Terminal-Titel auf den ursprünglichen Titel zurückzusetzen, wenn ich von ssh zurückkehre?


12

Unter OS X starte ich mit foo (einer Linux-Box). Mein Terminaltitel ändert sich zu foo. Ich ssh dann in bar (; eine andere Linux-Box). Mein Terminaltitel ändert sich in bar. Ich logge mich aus der Bar aus. Mein Terminaltitel ändert sich zu foo. Ich melde mich von foo ab. Mein Terminaltitel bleibt foo (anstatt zum Originaltitel zurückzukehren). Das Problem liegt natürlich nicht am Terminal, da es beim Abmelden von einer Linux-Box von einer Linux-Box korrekt funktioniert. Es ist wahrscheinlich nicht ssh, da ich das gleiche Problem mit vim habe. In meinen Gedanken verlässt das die Hülle. Ich benutze BASH. Wenn ich durch die Umgebung schaue, sehe ich keinen großen Unterschied zwischen der Linux-Box und meiner OS X-Box. Beide verwenden einen TERM von xterm.

Antworten:


14

Hinzufügen

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

zu meinem .bash_profilebehoben das problem.

Es sieht so aus, als würde die Zeichenfolge bei PROMPT_COMMANDjeder angezeigten Eingabeaufforderung ausgeführt. Von der Manpage:

PROMPT_COMMAND

Wenn festgelegt, wird der Wert als Befehl ausgeführt, bevor jede primäre Eingabeaufforderung ausgegeben wird.


3
Es ist unwahrscheinlich, dass Sie sich über die Konsole bei OS X anmelden. Dies kann jedoch vorkommen. Um Probleme in diesem Fall zu vermeiden, wickle ich diese ganze Sache in eine case "$TERM" in xterm*|rxvt*)Art Deal ein. Ich denke, ich hatte ursprünglich die Idee von hier: tldp.org/HOWTO/Bash-Prompt-HOWTO/…
Telemachus

Ach ja, ich finde es auch besser, in die Einstellungen von Terminal.app zu gehen (Einstellungen -> Einstellungen -> Fenster) und alles zu entfernen, was zur Titelleiste hinzugefügt werden soll, aber ymmv.
Telemachus

Nun, ich benutze es iTerm.appnicht Terminal.appund es funktioniert. Sie haben einen Punkt über das reale Terminal. Meine Linux-Box hat so eine Prüfung, also werde ich sie meinem Profil hinzufügen, danke.
Chas. Owens
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.