So legen Sie den Titel der Registerkarte in Terminal.app für den Remoteserver fest, bei dem ich angemeldet bin

3

Ich benutze einen Mac, um an mehreren anderen zu arbeiten.

Ich möchte eine Möglichkeit finden, den Titel einer Registerkarte in Terminal.app programmgesteuert auf den Namen des Servers zu setzen, auf dem ich angemeldet bin, damit ich auf einen Blick feststellen kann, zu welcher Registerkarte ich springen möchte auf einem bestimmten Server zu überprüfen.

Weiß jemand, wie das geht?

Vielen Dank.

Alesplin
quelle

Antworten:

6

Sicher, das ist ein einfacher Weg:

echo -n -e "\033]0;Superuser.com rules\007"

Ändern Sie einfach die "SuperUser.com-Regeln" so, wie Sie die Sitzung benennen möchten.

Um den Hostnamen zu erfassen und unter dem Titel zu veröffentlichen, können Sie so etwas ausführen

name=`hostname`;echo -n -e "\033]0;$name\007"
ablinkin
quelle
1
Perfekt. Genau das, was ich brauchte.
Alesplin
Das ist großartig und funktioniert großartig. Gibt es eine Möglichkeit, dies beim Starten des Terminals und / oder beim Wechseln der Hosts automatisch zu befriedigen?
Mitch Malone
4

Ich wollte neulich genau das tun und kam zu folgendem Ergebnis:

Fügen Sie dies in Ihre .bash_profile / .bashrc-Datei ein:

function tabname { printf "\e]1;$1\a"; }
function winname { printf "\e]2;$1\a"; }
function ssh() { echo "$@" | tabname `sed -E 's/(.*@)?([-a-zA-Z0-9\.]*)(.*)/\2/'`; /usr/bin/ssh "$@"; tabname; }

Automatische Änderung der Terminal.app-Registerkartennamen bei Verwendung von SSH

Hoffe das hilft.

Ben Mackey
quelle
Es wird ein regulärer Ausdruck verwendet, um nur den Hostnamen abzurufen. Ich lerne nur reguläre Ausdrücke, daher kann jeder eine bessere Lösung posten, wenn Sie dies besser können.
Ben Mackey
printf hat ein Problem, wenn der Titel %Zeichen enthält
Blaise