Ora ho studiato questo per la parte migliore di una giornata e finalmente ho trovato il modo di impostare questo titolo. Viene eseguito tramite sequenze di escape che iniziano con \ e] 0; e termina con un carattere BEL (= \ 007 = \ a). A differenza di quanto ho detto sopra, le comunicazioni dalla shell all'applicazione terminale sono possibili, molto limitate, attraverso tali sequenze di escape (ce ne sono altre).
A proposito di questo dall'alto:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
Si può lavorare, ma non sempre. PROMPT_COMMAND
è una variabile il cui contenuto viene eseguito ogni volta che si invia un comando, quindi invia anche questa sequenza di escape. Tuttavia, questo può essere annullato da una sequenza di escape nella variabile PS1, che imposta il prompt della riga di comando. Questo è il motivo per cui quanto sopra non ha avuto effetto qui.
Da una vecchia installazione di Ubuntu ho preso questo, che imposta il prompt dei comandi (parte destra, dopo il ]
) e invia anche la sequenza di escape richiesta (parte sinistra, fino a e incluso il ]
):
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
Questo probabilmente funziona meglio, perché non c'è bisogno di interpretare $PROMPT_COMMAND
ogni volta. Ha anche molte più opzioni, perché Bash ha più sequenze di escape qui, ad esempio \u
per il nome utente corrente, \W
per il nome della directory corrente o \w
per l'intero percorso della directory di lavoro corrente, facoltativamente ridotto a solo gli ultimi dal numero in $PROMPT_DIRTRIM
. Vedi capitolo PROMPTING
nella pagina man di Bash. Si noti inoltre che la sequenza di escape deve inoltre essere circondata da \[
e \]
qui.
Per impostare un titolo fisso, funziona:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Godere!
Durante la mia indagine ho anche cercato di capire il codice sorgente di gnome-terminal, che porta al codice sorgente vte e lì il supporto per l'impostazione del titolo e la lettura delle sequenze di escape è considerato un rischio per la sicurezza: vedi qui (caso 20, caso 21) e qui ("Rapporti sul titolo della finestra").