Verhindern Sie, dass Terminal-Tabs automatisch umbenannt werden

Ich benenne meine Registerkarten gerne, wenn ich Terminal verwende, damit ich den Überblick darüber behalten kann, was sich darin befindet. Ich mache das mit dem Inspektor.

Leider werden meine Tabs umbenannt, wenn ich in eine Maschine ssh. Gibt es eine Möglichkeit, dies zu verhindern? Vielleicht gibt es eine Art Shell-Skript, das ich in meinem Bash-Profil ausführen könnte, um dies zu verhindern?

Antworten (3)

Mit iTerm2 haben Sie dafür tatsächlich eine Option: Deaktivieren Sie einfach Einstellungen->Profile-> Your Profile->Terminal->Terminal darf Registerkarten-/Fenstertitel festlegen .Ausgefallene Beschreibung

Es wurde nach PreferencesProfiles[your profile]General➡ verschobenApplications in terminal may change the title

In den Einstellungen von können Sie ein neues Profil erstellen oder ein bestehendes ändern Terminal.

Wählen Sie Ihr neues oder das vorhandene Profil und klicken Sie auf Windowund deaktivieren Sie alle Optionen im TitleSegment.

Bearbeiten: Für Shells, die den Promt über die Shell-Variable ändern, PS1müssen Sie damit umgehen, solange Sie den angegebenen Host verbunden haben, ohne den Promt in der Remote-Sitzung zu ändern. Um dies in einer Bash zu ändern, finden Sie so etwas wie

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\H: \w\a\]$PS1"
    ;;
*)
    ;;
esac

in deinem .bashrc.

Wenn Sie diesen Block auskommentieren, ändert sich Ihr lokaler Titel nicht, aber Ihre Eingabeaufforderung sieht möglicherweise schrecklich aus.

Vielleicht gibt es noch andere Zeilen, in denen die Shell-Variable PS1gesetzt ist. Vielleicht müssen Sie diese auch auskommentieren.

PS1Edit2: Sie haben auch die Möglichkeit, die lokale der Remote-Sitzung zu geben . Rufen Sie dazu sshmit auf

ssh -o SendEnv=PS1 user@host

Aber dazu müssen Sie die sshd_config. Dort müssen Sie PS1zur Liste der hinzufügen AcceptEnv. Dies erfordert Root-Zugriff. Vielleicht nicht wirklich eine Lösung.

Wenn Sie Ihr Fenster nie umbenennen möchten, egal von wo aus Sie eine Verbindung herstellen, möchten Sie vielleicht die Einstellung auf dem Remote-Computer ändern. Die Sache, die das Fenster umbenennt, ist die Escape-Sequenz \033k, wie hier beschrieben

Bash-Benutzer werden wahrscheinlich die Escape-Sequenz in PROMPT_COMMAND wiederholen wollen:

PROMPT_COMMAND='printf "\033k\033\134"'

Wenn Sie in diesem Fall die PROMPT_COMMANDUmgebungsvariable in Ihrer Remote-Shell ändern, wird das Fenster nicht mehr umbenannt.