J'essaie de trouver un moyen de changer rapidement le titre d'une fenêtre de Gnome Terminal 2.32.1 car j'en ai quelques-uns ouverts et que je modifie différents fichiers dans chacun d'eux, en utilisant un compilateur dans l'un, en réduisant les fichiers journaux dans d'autres et etc. Par conséquent, il est difficile de chercher la fenêtre que je veux quand ils disent tous pax@pax-desktop:~
.
Cette question m'a amené à essayer xtitle
mais, pour une raison quelconque, cela ne change pas réellement le titre.
L'exécution de xtitle xyzzy
n'entraîne aucun retour visible, mais le passer à travers od
confirme qu'il génère une séquence d'échappement (que je suppose en supposant est correct, bien que je n’ai pas vérifié en détail):
pax@pax-desktop:~/porn_dir$ xtitle xyzzy | od -xcb
0000000 5d1b 3b32 7978 7a7a 0779 5d1b 3b31 7978
033 ] 2 ; x y z z y \a 033 ] 1 ; x y
033 135 062 073 170 171 172 172 171 007 033 135 061 073 170 171
0000020 7a7a 0779
z z y \a
172 172 171 007
0000024
Je peux aller dans le menu Terminal | Set Title
et le changer à partir de là, mais je préférerais de loin une solution en ligne de commande, car je peux le faire automatiquement (comme créer un alias vi
qui fixe le titre à vi filename
avant d'exécuter l'éditeur et de le réinitialiser à la sortie).
Dans les préférences de profil, le titre initial est défini sur Terminal
et le When terminal commands set their own titles
est défini sur Replace initial title
. Il y a aussi un seul profil Default
qui est celui que j'utilise.
Il s'avère que xtitle
fonctionne correctement et modifie le titre. Cependant, il existe une section dans la valeur par défaut .bashrc
comme suit:
# If this is an xterm set the title to user@Host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
ce qui configure l'invite de manière à ce que le titre revienne à la valeur habituelle chaque fois qu'il demande à l'utilisateur une saisie.
En commentant la ligne PS1=...
ci-dessus, le titre reste défini sur ce que vous choisissez.
Cela a pour effet secondaire de ne pas mettre à jour l'état actuel user@Host
pour tous les terminaux. Pour l'activer de manière sélective uniquement pour le Shell actuel, avant d'exécuter xtitle
, utilisez:
export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
(N'oubliez pas que vous devez utiliser cette source dans le terminal, et non pas appeler/utiliser un script!)
Si vous utilisez Gnome Terminal, vérifiez également que, dans Edit
-> Profile Preferences
-> Title and Command
, l’option When terminal commands set their own titles
définie sur Replace initial title
(la valeur par défaut). ).