Frage Wie ändere ich den Gnome-Terminal-Titel?


Ich habe mehrere Instanzen von Terminals in meiner Arbeitsumgebung ausgeführt, was ich möchte ist, einen bestimmten Titel für jeden einzelnen zu setzen, um eine klare Idee zu haben, welchen Zweck das spezifische Terminal Apache, editing_ini, Postgres usw. bedient ...

Natürlich von der Kommandozeile.


141
2018-01-20 13:20


Ursprung


Weiter zu Wards Kommentar: Vergiss nicht "PROMPT_COMMAND" zu deaktivieren Vor Sie senden die Sequenz zur Änderung des Titelwechsels, andernfalls gehen alle von Ihnen vorgenommenen Änderungen verloren, sobald die nächste Shell-Eingabeaufforderung erscheint. - Jon Green
Für eine ähnliche Frage für KDE, siehe stackoverflow.com/questions/8782159/... - naught101
Ich hatte dieses Problem beim Wechsel von OS X zu Ubuntu. Um benutzerdefinierte Titel in einem Multi-Tab-Setup zu erhalten, habe ich verwendet gnome-terminal --load-config zusammen mit Dieses Skript Ich habe geschrieben. - halfer
Fügen Sie Ihrer .bashrc-Datei in Ihrem Home-Verzeichnis Folgendes hinzu # set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitle Jetzt können Sie den Termit Alias ​​zum Einstellen des Titels z. termttl askubuntu - urmalp


Antworten:


  • Die benutzerfreundlichste Methode ist die Auswahl aus dem Menü Terminal -> "Titel festlegen ...".

  • Es gibt jedoch andere Möglichkeiten, die Sie auch ausgeben können

    gnome-terminal --title="SOME TITLE HERE"
    

    Dies kann nicht den gewünschten Effekt geben, da es eine große Chance gibt, dass Ihre .bashrc überschreibt dieses Verhalten.

  • Bring uns zu der letzten Methode, die ich schamlos aus meiner .bashrc.

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

Als zusätzliche Referenz ist dies die besondere Zeile in meinem .bashrc

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

Möglicherweise müssen Sie diesen Code auch in Ihrer ~ / .bashrc kommentieren

case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

129
2018-01-20 13:51



Müssen Sie kommentieren oder entfernen, wie Sie erwähnt haben, um wirksam zu werden! - topless
@Station: PROMPT_COMMAND ist ein Programm zu rennen. PS1 und PS1 sind Textzeichenfolgen das sind angezeigt. Im obigen Beispiel ist der Befehl, der ausgeführt wird echo, die dann einfach eine Zeichenkette ausgibt. Sehen man bash oder manpages.ubuntu.com/bash für mehr Details. - sladen
GNOME Terminal 3.16.2 sagt Option "--title" is no longer supported in this version of gnome-terminal. - Ivan Kozik
In Gnome 3.18.3 gibt es keinen "Set title" -Eintrag in den Menüs: / - shadi
Für alle anderen, die durch das Goobbledegook in den obigen Strings verwirrt sind, sind sie ANSI-Escape-Zeichen - siehe z.B. lihaoyi.com/post/... - WillC


Wards Antwort ist großartig, wenn Sie bei jedem Öffnen eines Terminals Ihren Titel basierend auf dem Host festlegen möchten, auf dem Sie sich gerade befinden. Wenn Sie jedoch nur schnell einen Titel festlegen möchten, können Sie einfach das Echo selbst ausführen:

echo -ne "\033]0;SOME TITLE HERE\007"

oder mach ein einfaches Bash-Skript, sag termtitle

#!/bin/bash

echo -ne "\033]0;${1}\007"

mit dem Sie laufen können termtitle "some title here"


52
2018-05-29 02:20



Dies ist die Antwort, nach der Sie suchen - iondiode
oder ähnlich können wir als Bash-Alias ​​hinzufügen, indem wir die folgenden Zeilen in ~ / .bash_aliases hinzufügen function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_title und dann benutze: $ title term_title - sumit
Im GNOME-Terminal 3.6.2 scheint es leider nicht zu funktionieren. - austinmarton
Scheint auch nicht in Xterm 322 oder Konsole 16.12 zu funktionieren ... Ich weiß nicht, ob es eine neue Methode gibt, leider :( - naught101
@ 3ozän ist es in diesem Fall eigentlich nicht wichtig, sie sind das gleiche, aber es ist eine gute Gewohnheit, hineinzukommen, weil z.B. $var_log und ${var}_log sind sehr unterschiedliche Dinge, und der Unterschied kann Fehler in Skripten verursachen. - naught101


Wenn Sie den Vim-Editor verwenden, können Sie diese Option auch in Ihrem vimrc aktivieren:

:set title

Das ist standardmäßig deaktiviert. Es werden coole Terminaltitel angezeigt, die den Dateinamen, den Sie gerade bearbeiten, und einige andere Dinge anzeigen.


30
2018-01-20 14:40





Der Vollständigkeit halber würde ich hinzufügen, dass Sie auch das einstellen können gnome-terminal Titel mit diesem Befehl:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Sie müssen das Paket installieren wmctrl Install wmctrl zuerst.


22
2018-01-23 00:57



MyWindowTitle wird nicht im Titel des Terminals angezeigt. Es zeigt sich, wenn ich wmctrl -m mache. - sureshvv
Beachten Sie, dass wmctrl den Fenstertitel und nicht den Tab-Titel ändert, während die Lösung mit den Escape-Zeichen den Tab-Titel ändert. Darüber hinaus wird der Fenstertitel wieder in den ursprünglichen Registerkartentitel geändert, sobald Sie zwischen den Registerkarten wechseln. - redochka


Argh, so viele Antworten ...

Ich habe versucht, wmctrl, was fast funktionierte, außer dass ich es nicht schaffte, den Icontitel zu ändern, zumindest nicht dauerhaft.

Die Lösung ist, dass PS1 in ubuntu den Titel setzt.

Die Standard-PS1 ist

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

... welcher den Titel in der ersten Escape-Sequenz setzt.

Daher gibt es zwei Lösungen:

Lösung 1: Vereinfachen Sie PS1 und verwenden Sie dann PROMPT_COMMAND

Ändere PS1 auf etwas einfacheres:

PS1="\u@\h:\w\$ "

... dann benutze das PROMPT_COMMAND:

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

Lösung 2: PS1 direkt ändern

Ändere einfach PS1 mit neuem Titel:

PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

15
2018-02-07 03:36



Hi, ich mag deine Antwort sehr gerne. Würde es Ihnen etwas ausmachen, die Rolle von ]0; in deinem Code? Ich glaube, ich fand die Bedeutung von echo -e '\007 \033' mit dem ascii -o Befehl ... obwohl ich ehrlich gesagt nicht sicher bin, was das dort auch macht ... danke ... - isomorphismes


Wenn Sie ein Ubuntu-Benutzer sind, können Sie den Titel eines gnome-terminal-Tabs mit dem ändern HUD.

Tippen Sie im Gnome-Terminal auf Alt, um das HUD aufzurufen, und geben Sie die ersten Buchstaben ein, z. "Tit", drücken Sie Enter und geben Sie Ihren neuen Titel ein.

Dies ist eine sehr schnelle Methode und vermeidet die Verwendung der Maus.


11
2018-06-18 06:55



Tatsächlich. Hält die Hände auf der Tastatur. Der existierende Titel wird angezeigt, so dass es schnell und einfach ist, auch den existierenden Titel mit dieser Methode zu modifizieren. - Brent Faust
Meise ist nur für Englisch Ubuntu. - törzsmókus
und die ganze Option wurde entfernt :( - törzsmókus
das F2 Schlüssel vermeidet auch die Maus. - isomorphismes


Eine andere Möglichkeit, den Titel zu ändern gnome-terminal ist mit gconftool-2; Dies ändert den ursprünglichen Terminaltitel für die Profil ausgewählt, sodass Sie verschiedene Profile mit Titeln wie "Apache", "Bearbeiten" usw. verknüpfen können. Sie würden dann starten gnome-terminal mit dem entsprechenden Profil, um den von Ihnen angegebenen Terminaltitel zu erhalten. Dies steht im Gegensatz zu gnome-terminal --title "name" Dies ändert den Titel pro Terminal, hat aber keinen Einfluss auf den ursprünglichen Titel, der im Profil angegeben ist.

Sie könnten den folgenden Befehl in einem Skript verwenden, um den Namen des Terminals für ein Profil festzulegen, und Sie könnten den Namen des Terminals zu bestimmten Zeiten am Tag ändern lassen, um Sie an Dinge zu erinnern:

gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"

Dies gilt für das Standardprofil, aber Sie können den Titel auch für andere Profile festlegen, indem Sie beispielsweise Default zu einem anderen Profil wie Profile0:

gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"

Ich dachte, dass diese Art, den Titel zu ändern, von Nutzen ist, weil man es beim Scripting verwenden kann, oder einfach als schnelle Befehlszeile, um den Titel für das Profil festzulegen. Beachten Sie, dass Sie das Terminal manchmal mit dem angegebenen Profil neu starten müssen gconftool-2 Einstellung, um Einfluss zu nehmen. Die vollständigen Einstellungen für gnome-terminal kann mit aufgelistet werden gconftool-2 -R /apps/gnome-terminal.


4
2018-01-03 01:09





Eine andere Lösung ist die Verwendung von xdotool, um Tastatureingaben zu simulieren, möglicherweise nützlich in Skripten:

  1. Setze eine Tastenkombination in gnome-terminal:

    Edit > Keyboard Shortcuts... > Terminal > Set Title
    

    Zum Beispiel den Shift+Ctrl+Y.

  2. Installieren xdotool wenn du es noch nicht hast:

    sudo apt-get install xdotool
    
  3. Die folgende Befehlssequenz (die Sie auch in einem Bash - Skript verwenden können) setzt den Terminal - / Tab - Titel (die Leerzeichen mit \):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [optional] Sie können xdotool auch für z. öffne eine neue Registerkarte und setze den Titel mit den obigen Befehlen unter Verwendung von:

    xdotool key ctrl+shift+t
    

    Erwägen Sie, vor und nach dem Öffnen eines neuen Tabs, z. sleep 1 (um 1 Sekunde zu warten).

Dies ist nicht die eleganteste Lösung, aber es hat für mich funktioniert! Die vorherigen Antworten funktionierten in meinem Fall nicht. Ich benutze Gnome-Terminal in Ubuntu 14.04 und ich wollte ein Bash-Skript machen.


3
2017-11-12 17:55





Um nur das aktuelle Arbeitsverzeichnis im Titel anzuzeigen, versuchen Sie dies in Ihrer '.bashrc':

PROMPT_COMMAND='echo -ne "\033]0; ${PWD##*/}\007"'

oder

PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"' 

2
2018-03-16 05:47





Falls arme Seelen wie ich gezwungen sind, tcsh zu benutzen, probiere etwas in deiner .cshrc:

set prompt='%{\033]0;%n@%m\007%}%~%# '

Quelle und weitere Details: http://tldp.org/HOWTO/Xterm-Title-4.html


0
2018-05-02 11:11





Das hat in meiner Arbeit funktioniert Gnome Terminal 3.18.3.

Bearbeiten Sie Ihre .bashrc Datei und fügen Sie diese Funktion hinzu

# Update gnome terminal title
function termtitle() {
    # take argument
    TITLE=$1
    shift
    # update title
    PROMPT_COMMAND='echo -ne "\033]0; $TITLE \007"'
}

Vergiss nicht zu source Ihre .bashrc Datei

$ source ~/.bashrc

Und dann können Sie einfach aktualisieren Sie können Terminal-Titel wie folgt ändern:

$ termtitle "MariaDB CLI"

0
2017-10-23 09:06