Wie benenne ich den Titel der Terminalregisterkarte in gnome-terminal um?

70

Wird verwendet, um mit der rechten Maustaste auf die Registerkarte zu klicken und den Titel zu ändern. Ich bin mir nicht mehr sicher, wie ich das machen soll. Gerade auf Fedora 21 aktualisiert.

EDIT: Ich habe von Gnome-Terminal auf ROXterm umgestellt

Penner
quelle

Antworten:

108

Erstellen Sie eine Funktion in ~/.bashrc:

function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

Verwenden Sie dann Ihren neuen Befehl, um den Terminaltitel festzulegen. Es funktioniert auch mit Leerzeichen im Namen

set-title my new tab title

Eine spätere Verwendung ist möglich set-title(die ursprüngliche PS1 bleibt erhalten als ORIG).

Weston Ganger
quelle
32

Der user titleCode wurde 1 von entfernt gnome-terminal 3.14. Um den Titel festzulegen, können Sie eine Escape-Sequenz verwenden:

printf "\e]2;YOUR TITLE GOES HERE\a"

oder zB mit bash:

PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'

1: Siehe Gnomenkäfer 724110 und Gnomenkäfer 740188 .

don_crissti
quelle
9
Danke für einen Link zu den Diskussionen. Ich denke die Antwort darauf war NEIN. Ein lustiges Zitat aus einem der Links: "Moderne Benutzer verwenden keine Terminals". LOL.
Penner
Bei mir funktioniert das nicht: Fedora 21, Bash 3.14.3.
kdbanman
Es funktioniert auf fc22 auch ..
Balaji Perumal
3
Anscheinend kommt es zurück ... "Ja, tut mir leid, die Option --title ist in GNOME 3.20 (Release März 2016) wiederhergestellt, das wir vor einem halben Jahr veröffentlicht haben, aber Ubuntu 16.04 wurde mit GNOME 3.18 (Release September 2015) ausgeliefert, das hatte diese Option entfernt. " Michael Catanzaros 2016-09-01 18:41:45 UTC-Kommentar Nr. 31 (aus dem zweiten Bug, 740188)
Salbei
1
@sage - es gibt keine Funktion, Michaels Kommentar gibt es zu der --titleOption, die ich bestätigen kann, dass sie tatsächlich wiederhergestellt wurde. Das Q hier handelt jedoch von der Rechtsklick-Option zum Umbenennen des aktuell geöffneten Tabs - ein anderes Problem ...
don_crissti
18

Neue Versionen von gnome-terminal haben die hilfreichsten professionellen Funktionen einfach weggeworfen. :-(

Ich habe versucht, eine ältere Version von gnome-terminal einzurichten und zum Laufen zu bringen und auch Alternativen verglichen.

Wenn terminatores Ihnen zu exotisch ist, mate-terminalist dies eine großartige Option! Es ist eine Abzweigung des Gnome-Terminals und behält einfach alle guten Eigenschaften:

  • Sie können mehrere Registerkarten über die Befehlszeile öffnen und ihnen unterschiedliche Titel geben

    mate-terminal --tab -t "aaa" --tab -t "bbb" --tab -t "ccc"
    
  • Sie können eine Tastenkombination (ich verwende Strg + Shift- einrichten i ) einzustellen , bei i TLE

geekQ
quelle
Guake ist auch keine schlechte Variante
Bunyk
1

Wenn Sie ein residentes Programm wie top oder ssh ausführen, ist die Registerkarte ordnungsgemäß beschriftet.

gnome-terminal --tab -e top -t "aaa" --tab -e top -t "bbb" 
fastrizwaan
quelle
1

Wenn Sie Ubuntu 16.04 verwenden, müssen Sie möglicherweise:

PS1=$
PROMPT_COMMAND=
echo -en "\033]0;New title\a"

Ich liste dies und mehr Infos dazu unter link .

Zach Pfeffer
quelle
0

Gib dies in .bashrc ein:

function title() { 
  p1='echo -ne "\033]0;' 
  p2='\007"'
  PROMPT_COMMAND=$p1$@$p2 
  p1= 
  p2=
}
Kennzeichen
quelle
0

Wenn Sie als Erweiterung der Antwort von @Weston Ganger beim Öffnen eines neuen Gnome-Terminals automatisch einen Titel festlegen möchten, fügen Sie diesen unten in Ihre Liste ein ~/.bashrc:

if [ ! -z "$SET_TITLE" ]; then
    set-title $SET_TITLE;
    export SET_TITLE=;
fi

Dann starte ein Terminal wie:

gnome-terminal --tab -e 'bash -c "export SET_TITLE=\"my title\"; bash -i"'

und es wird automatisch ausgeführt set-title, um den Titel anzuwenden.

Cerin
quelle
0

Fügen Sie in Ihrer .bashrc-Datei die folgende Zeile hinzu

alias tab_name='read -p "Name to Assign:" tabname ;  printf "\e]2;$tabname\a" '

Geben Sie nun tab_name im Terminal ein

user:~$ tab_name  
Name to Assign: ( type desired name here! )

Getan

Sufyan
quelle