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.
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
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
.
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.
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 d'abord.
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:
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"'
Modifiez simplement PS1 avec le nouveau titre:
PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
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.
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
.
Une autre solution consiste à utiliser xdotool pour simuler des frappes au clavier, ce qui peut être utile dans les scripts:
Définissez un raccourci clavier dans gnome-terminal:
Edit > Keyboard Shortcuts... > Terminal > Set Title
Par exemple, assing le Shift+Ctrl+Y
.
Installez xdotool
si vous ne l'avez pas déjà:
Sudo apt-get install xdotool
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
[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.
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"'
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"
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
.
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