Comment renommer le titre de l'onglet terminal dans gnome-terminal?

70

Utilisé pour pouvoir faire un clic droit sur l'onglet et changer le titre. Vous ne savez plus comment faire cela. Vient de passer à Fedora 21.

EDIT: je suis passé de gnome-terminal à ROXterm

penner
la source

Réponses:

108

Créer une fonction dans ~/.bashrc:

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

Ensuite, utilisez votre nouvelle commande pour définir le titre du terminal. Cela fonctionne aussi avec des espaces dans le nom

set-title my new tab title

Il est possible de réutiliser ultérieurement set-title(la PS1 d'origine est conservée en tant que ORIG).

Weston Ganger
la source
32

Le user titlecode a été retiré 1 de gnome-terminal 3.14. Pour définir le titre, vous pouvez utiliser une séquence d'échappement:

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

ou par exemple avec bash:

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

1: voir le bogue gnome 724110 et le bogue gnome 740188 .

don_crissti
la source
9
Merci pour un lien vers les discussions. Je suppose que la réponse à cette question était NON. Une citation amusante tirée de l’un des liens: "les utilisateurs modernes n’utilisent pas de terminaux". LOL.
penner
Cela ne fonctionne pas pour moi: Fedora 21, Bash 3.14.3.
kdbanman
Cela fonctionne aussi sur la FC22.
Balaji Perumal
3
Apparemment, ça revient ... "Désolée, l'option --title est restituée dans GNOME 3.20 (version de mars 2016), que nous avons publiée il y a un an. Ubuntu 16.04 est livré avec GNOME 3.18 (version de septembre 2015). avait retiré cette option ". Le commentaire n ° 31 de Michael Catanzaro 2016-09-01 à 18:41:45 UTC (extrait du second bug, 740188)
sage
1
@sage - il n'y a pas de fonctionnalité, le commentaire de Michael à propos de l' --titleoption que je peux confirmer qui a bien été restaurée. Cependant, le Q ici concerne l'option du clic droit pour renommer l'onglet actuellement ouvert - un problème différent ...
don_crissti
18

Les nouvelles versions de gnome-terminal viennent de jeter les fonctionnalités professionnelles les plus utiles. :-(

J'ai essayé d'installer une version plus ancienne de gnome-terminal et de comparer les alternatives.

Si terminatorc'est trop exotique pour vous, mate-terminalc'est une excellente option! C'est une fourchette de gnome-terminal et ne conserve que toutes les bonnes fonctionnalités:

  • vous pouvez ouvrir plusieurs onglets à partir de la ligne de commande en leur donnant différents titres

    mate-terminal --tab -t "aaa" --tab -t "bbb" --tab -t "ccc"
    
  • vous pouvez configurer un raccourci clavier (j'utiliser Ctrl + Maj i ) de fixer à i TLE

geekQ
la source
Guake n’est pas non plus une mauvaise variante
Bunyk le
1

Lorsque vous exécutez un programme résident tel que top ou ssh, l'onglet est correctement étiqueté.

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

Si vous utilisez Ubuntu 16.04, vous devrez peut-être:

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

J'énumère ceci un plus d'infos à son sujet au lien .

Zach Pfeffer
la source
0

mettez ceci dans .bashrc:

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

En tant qu'extension de la réponse de @Weston Ganger, si vous souhaitez définir automatiquement un titre lors de l'ouverture d'un nouveau terminal Gnome, ajoutez-le ensuite au bas de votre ~/.bashrc:

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

Puis lancez un terminal du type:

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

et il sera automatiquement exécuté set-titlepour appliquer le titre.

Cerin
la source
0

solution en une ligne, ajoutez la ligne suivante dans votre fichier .bashrc

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

maintenant tapez tab_name dans le terminal c'est-à-dire

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

Terminé

Soufyan
la source