Im Moment benutze ich einen einzeiligen Perl-Code, um die Titel meiner Terminalleisten zu ändern.
print("\e]0;@ARGV\7");
Aber jedes Mal, wenn ich auf eine andere entfernte Maschine gehe, wird der Titel vom Host geändert (was mich nicht sonderlich stört). Aber nachdem ich die Verbindung beendet habe, bleibt der geänderte Titel erhalten. Gibt es eine Möglichkeit, dies zu beheben? Im Wesentlichen möchte ich einen festen Titel für meine Terminals, wenn ich lokal arbeite.
Ich benutze hauptsächlich das xfce-Terminal und den Terminator unter CentOS oder Debian. Vielen Dank.
BEARBEITEN
Eine weitere feine Sache ist, dass ich es vorziehen würde, wenn alle Terminals den gleichen Namen haben und die Freiheit hätten, ihre Titel on-the-fly zu bearbeiten, aber der SSH-Sitzung nur untersagen würde, das zu ändern, was ich bearbeitet habe.
Lösung: Fügen Sie einige Funktionen ~ / .bashrc hinzu, um nach den Befehlen ssh und su etwas zu tun
Hinweis: Starten Sie bash nach Änderungen an ~ / .bashrc neu
Beispiel:
Ich hoffe, das hilft.
quelle
revert
da du nicht nachschaust, was es vorher war ... wenn du den vorherigen Wert abgefragt und gespeichert hast tho ;-)Konfigurieren Sie Ihr lokales Shell-Dotfile (z. B.
$PROMPT_COMMAND
in~/.bashrc
), um den Terminaltitel mithilfe desselben Mechanismus entsprechend festzulegen .Beispielsweise:
quelle
export PROMPT_COMMAND="printf '\e]0;\7\n'"
) festzulegen, kann Ihr Terminal-Emulator den Fenstertitel nach Belieben festlegen. Wenn Sie zu einem Remote-Host sshen, der den Terminal-Titel festlegt, zeigt Ihr Terminal-Emulator diesen Titel an, und wenn Sie sich abmelden, wird wieder ein eigener Titel verwendet. Zumindest funktioniert die macOS Terminal App so.FÜGEN Sie diese Zeilen zu ~ / .bashrc hinzu
funktioniert gut mit Debian-basierten Linuxen
quelle
PROMPT_COMMAND
VerwendungPS1
, da Sie die Klammer nicht einschließen müssen\[ \]
und einige Anführungszeichen eliminieren können.Eine Lösung besteht darin, die Terminalvariable vor ssh'ing auf vt100 zu ändern, z. B. run
Dies funktioniert, weil Initialisierungsskripte normalerweise die Terminalvariable betrachten und nur den Titel ändern, wenn es sich um xterm handelt. Sie verlieren alternative Bildschirme, Farben und vielleicht einige andere ausgefallene Funktionen, die Sie vielleicht zu schätzen wissen oder nicht.
Wenn Sie das lokale Terminal als xterm beibehalten möchten, können Sie mit dem Alias ssh die Terminalvariable im laufenden Betrieb ändern
quelle
Ich habe dieses Problem behoben, indem ich es meiner PS1 in meiner .bashrc-Datei hinzugefügt habe.
Daher sieht die ganze Zeile so aus (ich habe meine PS angepasst !:
Ich hoffe das hilft anderen.
quelle
export PS1='\[\033]0;\007\]\h:\W \u\$ '
) festzulegen, kann Ihr Terminal-Emulator den Fenstertitel nach Belieben festlegen. Wenn Sie zu einem Remotehost sshen, der den Terminaltitel festlegt, zeigt der Terminalemulator dies an, und wenn Sie sich abmelden, wird wieder ein eigener Titel verwendet. Zumindest funktioniert die macOS Terminal App so.Andere Antworten würden bei mir nicht funktionieren, wenn ich SSH beende, haben mich aber näher gebracht. Das Hinzufügen von setw zum automatischen Umbenennen funktioniert, wenn ich die Remote-SSH-Sitzung beende, sodass es automatisch umbenannt wird und das Fenster nicht mehr verlassen muss, um zurückgesetzt zu werden. [Jan. 2018 - Debian 9]
quelle