207 votes

Comment changer le titre de Gnome-Terminal ?

J'ai plusieurs instances de terminaux qui fonctionnent dans mon environnement de travail, ce que j'aimerais, c'est définir un titre spécifique pour chacun d'entre eux, afin d'avoir une idée claire de l'objectif du terminal spécifique, par exemple Apache, editing_ini, postgres, etc...

Bien sûr, à partir de la ligne de commande.

183voto

Matthew Ruston Points 2319

Alternatives :

  • Il existe cependant d'autres moyens, vous pouvez aussi émettre

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

    Cela peut ne pas donner l'effet désiré car il y a de grandes chances que votre .bashrc écrase ce comportement.

  • Ce qui nous amène à la dernière méthode, que j'ai arrachée sans vergogne à mon .bashrc .

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

À titre de référence supplémentaire, il s'agit de la ligne particulière de ma .bashrc

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

Vous devrez peut-être aussi commenter ce code dans votre fichier ~/.bashrc

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

86voto

Topkapi Points 1

La réponse de Ward est excellente si vous souhaitez définir votre titre en fonction de l'hôte sur lequel vous vous trouvez, etc. à chaque fois que vous ouvrez un terminal. Si vous voulez juste définir rapidement un titre, vous pouvez simplement exécuter echo tout seul :

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

ou créer une fonction simple (dans votre ~/.bashrc ), disons termtitle

termtitle() { printf "\033]0;$*\007"; }

que vous pouvez exécuter avec termtitle some title here .

35voto

ulidtko Points 5283

Si vous utilisez l'éditeur Vim, vous pouvez également activer cette option dans votre vimrc :

:set title

qui est désactivé par défaut. Il mettra en place des titres de terminal cool montrant le nom du fichier que vous êtes en train d'éditer et quelques autres choses.

32voto

Hugh Perkins Points 461

Argh, tant de réponses...

J'ai essayé wmctrl qui presque a fonctionné, sauf que je n'ai pas réussi à changer le titre de l'icône, du moins pas de façon permanente.

Le problème est que le PS1 dans Bash dans Ubuntu définit le titre.

Le PS1 par défaut est

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

... qui définit le titre dans la première séquence d'échappement : \e]0;\u@\h: \w\a

Il existe donc deux solutions :

Solution 1 : simplifier PS1, puis utiliser PROMPT_COMMAND

Remplacez PS1 par quelque chose de plus simple :

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

Utilisez ensuite la commande PROMPT_COMMAND :

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

Solution 2 : modifier directement le PS1

Il suffit de modifier la PS1 avec un nouveau titre :

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

Notes sur les codes d'échappement

Notez que (en empruntant au commentaire de wjandrea sous cette réponse) :

  • \e ou \033 est le caractère d'échappement (ESC), qui lance une séquence d'échappement.
  • ] lance une commande du système d'exploitation (OSC).
  • Pour un xterm, 0; signifie "fixer le titre", et
  • \a ou \007 est le caractère de cloche (BEL) qui termine l'OSC.

Plus d'informations : https://en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences

27voto

Craig Smitham Points 522

Dans un souci d'exhaustivité, j'ajouterais que vous pouvez également définir le paramètre gnome-terminal titre en utilisant cette commande :

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Vous devez installer le paquet wmctrl Install wmctrl d'abord.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X