web-dev-qa-db-fra.com

Comment changer le titre de Gnome-Terminal?

J'ai plusieurs exemples de terminaux fonctionnant dans mon environnement de travail. Ce que je voudrais, c'est définir un titre spécifique pour chacun d'eux, afin d'avoir une idée précise de l'objectif du terminal spécifique, à savoir Apache, montage_ini, postgres, etc.

Bien sûr depuis la ligne de commande.

158
topless
  • Le moyen le plus convivial consiste à le sélectionner dans le menu Terminal -> "Définir le titre ...".

  • Il y a d'autres façons, mais vous pouvez aussi émettre

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

    Cela pourrait ne pas donner l'effet souhaité, car il y a de grandes chances que votre .bashrc écrase ce comportement.

  • Nous amenant à la dernière méthode, que j’ai effacée sans vergogne de mon .bashrc.

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

En tant que référence supplémentaire, il s'agit de la ligne particulière de mon .bashrc

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

Vous devrez peut-être aussi commenter ce code dans votre ~/.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
142
Ward Muylaert

La réponse de Ward est excellente si vous souhaitez définir votre titre en fonction de votre hôte, etc. à chaque fois que vous ouvrez un terminal. Si vous voulez juste définir rapidement un titre, vous pouvez simplement lancer echo par lui-même:

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

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

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

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

61
naught101

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 va définir des titres de terminal sympas indiquant le nom du fichier que vous êtes en train d’éditer et quelques autres choses.

31
ulidtko

Par souci d'exhaustivité, j'ajouterais que vous pouvez également définir le titre gnome-terminal à l'aide de cette commande:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

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

25
Isaiah

Argh, tellement de réponses ...

J'ai essayé wmctrl, qui presque a fonctionné, sauf que je n'ai pas réussi à le faire pour changer le titre de l'icône, du moins pas de manière permanente.

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

La 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

Ainsi, il existe deux solutions:

Solution 1: simplifiez PS1, puis utilisez Prompt_COMMAND

Changez la PS1 en quelque chose de plus simple:

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

Ensuite, utilisez Prompt_COMMAND:

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

Solution 2: modifiez directement PS1

Modifiez simplement PS1 avec le nouveau titre:

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

Si vous êtes un utilisateur Ubuntu, vous pouvez modifier le titre d'un onglet gnome-terminal à l'aide de HUD .

Dans le terminal gnome, appuyez sur Alt pour afficher le HUD, saisissez les premières lettres, par exemple. "tit", appuyez sur Entrée et tapez votre nouveau titre.

C'est une méthode très rapide et évite d'utiliser la souris.

10
Tom

Une autre façon de changer le titre de gnome-terminal consiste à utiliser gconftool-2; cela change le titre initial du terminal pour profil sélectionné, de sorte que vous pouvez avoir différents profils associés à des titres tels que 'Apache', 'Édition', etc. Vous pouvez ensuite lancer gnome-terminal avec le profil approprié pour obtenir le titre du terminal que vous avez spécifié. Ceci contraste avec gnome-terminal --title "name" qui modifie le titre par terminal, mais n'affecte pas le titre initial spécifié dans le profil.

Vous pouvez utiliser la commande suivante dans un script pour définir le nom du terminal pour un profil. Vous pouvez également modifier le nom du terminal à certaines heures de la journée pour vous rappeler des choses:

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

Ceci concerne le profil par défaut, mais vous pouvez également définir le titre d'autres profils en modifiant, par exemple, Default en un autre profil tel que Profile0:

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

Je pensais que cette façon de changer le titre était utile en raison de la manière dont elle pourrait être utilisée dans les scripts, ou simplement comme un moyen rapide en ligne de commande de définir le titre du profil. Notez que vous devez parfois relancer le terminal avec le profil spécifié pour que le paramètre gconftool-2 prenne effet. Les paramètres complets disponibles pour gnome-terminal peuvent être listés avec gconftool-2 -R /apps/gnome-terminal.

3
user76204

Une autre solution consiste à utiliser xdotool pour simuler des frappes au clavier, ce qui peut être utile dans les scripts:

  1. Définissez un raccourci clavier dans gnome-terminal:

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

    Par exemple, assing le Shift+Ctrl+Y.

  2. Installez xdotool si vous ne l'avez pas déjà:

    Sudo apt-get install xdotool
    
  3. La séquence de commandes suivante (que vous pouvez également utiliser dans un script bash) définira le titre du terminal/onglet (échappera aux espaces avec \):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [facultatif] Vous pouvez également utiliser xdotool pour, par exemple, ouvrez un nouvel onglet et définissez le titre avec les commandes ci-dessus, en utilisant:

    xdotool key ctrl+shift+t
    

    Envisagez d’ajouter une heure de sommeil avant et après l’ouverture d’un nouvel onglet, par exemple. sleep 1 (à attendre 1 seconde).

Ce n'est pas la solution la plus élégante, mais cela a fonctionné pour moi! Les réponses précédentes n'ont pas fonctionné dans mon cas. J'utilise gnome-terminal dans Ubuntu 14.04 et je voulais créer un script bash.

2
MakisH

Pour afficher uniquement le répertoire de travail actuel dans le titre, essayez ceci dans votre '.bashrc':

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

ou

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

Cela a fonctionné dans mon Gnome Terminal 3.18..

Editez votre fichier . Bashrc et ajoutez cette fonction

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

N'oubliez pas de source votre . Fichier bashrc

$ source ~/.bashrc

Et puis vous pouvez simplement mettre à jour, vous pourrez changer le titre du terminal comme ceci:

$ termtitle "MariaDB CLI"
0
RousseauAlexandre

Si vous utilisez gnome 3, l'option de menu pratique Terminal > Set Title a été supprimée. Vous pouvez installer un terminal forké de gnome 2 qui a toujours cette option de menu "Définir le titre", et l'exécuter à la place:

Sudo apt-get install mate-terminal

Au lieu d'exécuter "Terminal", exécutez "MATE Terminal". Vous devriez probablement aussi sélectionner mate-terminal dans Sudo update-alternatives --config x-terminal-emulator.

0
JDiMatteo

Si des âmes pauvres comme moi sont obligées d’utiliser tcsh, essayez quelque chose comme ça dans votre .cshrc:

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

Source et plus de détails: http://tldp.org/HOWTO/Xterm-Title-4.html

0
spookypeanut