Bon nombre de personnes trouvent utile de faire apparaître dans le titre de leur terminal une information qui change dynamiquement, telle que le nom du serveur sur lequel on est connecté, le répertoire courant, etc.
On peut changer le titre de la fenêtre et de l'icône dans un xterm lancé en utilisant les séquences d'échappement XTerm. Les séquences suivantes sont utiles dans ce but :
ESC]0;nomBEL
-- Change le titre de la fenêtre et
de l'icôneESC]1;nomBEL
-- Change le titre de l'icôneESC]2;nomBEL
-- Change le titre de la fenêtreoù ESC est le caractère escape (échappement, \033), et BEL est le caractère bell (bip, \007).
Afficher l'une de ces séquences dans un xterm causera le changement du titre de la fenêtre ou de l'icône.
Note: Ces séquences fonctionnent également avec la plupart des dérivés de xterm, tels que nxterm, color-xterm et rxvt. D'autres émulateurs de terminaux utilisent d'autres séquences ; quelques exemples sont donnés en annexe. La liste complète des séquences d'échappement est donnée dans le fichier ctlseq2.txt de la distribution de xterm, ou dans le fichier xterm.seq de la distribution de rxvt.
Pour les informations qui ne changent pas au cours de l'éxécution du shell, telles que le serveur et le nom d'utilisateur, il suffit d'afficher les séquences depuis le fichier rc du shell :
echo -ne "\033]0;${USER}@${HOST}\007"
devrait donner un titre du genre nom@serveur
, pour
autant que les variables $USER
et $HOST
soient
correctes. Les options requises pour echo peuvent dépendre du shell (cf
ci-dessous).Pour les informations qui peuvent changer au cours de l'exécution du shell, telles que le répertoire courant, ces séquences doivent vraiment être données lors de chaque changement de l'invite. De cette façon, le titre est mis à jour lors de chaque commande et peut ainsi refléter des informations telles que le répertoire en cours, le nom d'utilisateur, le nom du serveur, etc. Certains shells offrent des fonctions spéciales pour y parvenir, d'autres pas : il faut dans ce cas insérer la chaîne directement dans le texte de l'invite.