Jetzt habe ich das fast einen Tag lang untersucht und endlich einen Weg gefunden, diesen Titel zu setzen. Dies geschieht über Escape-Sequenzen, die mit \ e] 0 beginnen. und ende mit einem BEL-Zeichen (= \ 007 = \ a). Im Gegensatz zu ich oben erwähnt, Mitteilungen der Schale zurück in die Terminal - Anwendung ist möglich, sehr begrenzt, durch eine solche Escape - Sequenzen (es gibt ein paar mehr).
Dazu von oben:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
Es kann funktionieren, aber nicht immer. PROMPT_COMMAND
ist eine Variable, deren Inhalt jedes Mal ausgeführt wird, wenn Sie einen Befehl senden. Daher sendet sie auch diese Escape-Sequenz. Dies kann jedoch durch eine Escape-Sequenz in der PS1-Variablen überschrieben werden, mit der die Befehlszeile festgelegt wird. Dies ist der Grund, warum das oben Gesagte hier keine Wirkung hatte.
Aus einer älteren Ubuntu-Installation habe ich folgendes herausgesucht, das die Eingabeaufforderung (rechter Teil nach dem ]
) setzt und auch die erforderliche Escape-Sequenz (linker Teil bis einschließlich des ]
) sendet :
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
Dies führt wahrscheinlich zu einer besseren Leistung, da nicht $PROMPT_COMMAND
jedes Mal eine Interpretation erforderlich ist . Es hat auch viel mehr Optionen, da Bash hier mehr Escape-Sequenzen hat, z. B. \u
für den aktuellen Benutzernamen, \W
für den aktuellen Verzeichnisnamen oder \w
für den gesamten Pfad des aktuellen Arbeitsverzeichnisses, optional auf die letzten paar durch die Zahl in gekürzt $PROMPT_DIRTRIM
. Siehe Kapitel PROMPTING
in der Bash-Manpage. Beachten Sie auch, dass die Escape-Sequenz zusätzlich von \[
und \]
hier umgeben sein muss.
So legen Sie einen festen Titel fest:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Genießen!
Während meiner Untersuchung habe ich auch versucht, den gnome-terminal-Quellcode zu verstehen, der zu vte-Quellcode führt, und dort wird die Unterstützung für das Setzen von Titeln und das Lesen von Escape-Sequenzen als Sicherheitsrisiko angesehen: Siehe hier (Fall 20, Fall 21) und hier ("Window Title Reporting").