Maintenant, j'ai étudié la question pendant la plus grande partie de la journée et j'ai finalement trouvé un moyen de définir ce titre. Cela se fait via des séquences d'échappement commençant par \ e] 0; et se terminer par un caractère BEL (= \ 007 = \ a). Contrairement à ce que j'ai indiqué ci-dessus, les communications du shell avec l'application de terminal sont possibles, très limitées, via de telles séquences d'échappement (il en existe quelques autres).
À propos d'en haut:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
Cela peut fonctionner, mais ce n'est pas toujours le cas. PROMPT_COMMAND
est une variable dont le contenu est exécuté à chaque fois que vous envoyez une commande. Il envoie donc également cette séquence d'échappement. Toutefois, cela peut être annulé par une séquence d'échappement dans la variable PS1, qui définit l'invite de ligne de commande. C’est pourquoi ce qui précède n’a eu aucun effet ici.
À partir d'une ancienne installation Ubuntu, j'ai saisi ceci, qui définit l'invite de commande (partie droite, après le ]
) et envoie également la séquence d'échappement requise (partie gauche, jusqu'au ]
inclus):
PS1="\[\e]0;\[email protected]\h: \w\a\]\[email protected]\h:\w\$ "
Cela fonctionne probablement mieux, car il n'est pas nécessaire d'interpréter $PROMPT_COMMAND
à chaque fois. Il a également beaucoup plus d'options, car Bash a plus de séquences d'échappement ici, par exemple. \u
pour le nom d'utilisateur actuel, \W
pour le nom du répertoire en cours ou \w
pour le chemin d'accès complet du répertoire de travail en cours, éventuellement ajusté aux derniers en fonction du nombre indiqué dans $PROMPT_DIRTRIM
. Voir le chapitre PROMPTING
dans la page de manuel Bash. Notez également que la séquence d'échappement doit en outre être entourée par \[
et \]
ici.
Pour définir un titre fixe, cela fonctionne:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\[email protected]\h:\w\$ "
Profitez!
Au cours de mon enquête, j’ai également essayé de comprendre le code source de gnome-terminal, ce qui aboutissait au code source vte. Là, la prise en charge de la définition du titre et de la lecture des séquences d’échappement est considérée comme un risque pour la sécurité: Voir ici (cas 20, cas 21) et ici (" Rapport de titre de fenêtre ").