Agora, investiguei isso por quase um dia e finalmente encontrei uma maneira de definir esse título. É feito através de seqüências de escape que começam com \ e] 0; e termina com um caractere BEL (= \ 007 = \ a). Ao contrário do que afirmei acima, as comunicações do shell de volta ao aplicativo terminal são possíveis, muito limitadas, por meio dessas sequências de escape (há mais algumas).
Sobre isso de cima:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
pode funcionar, mas nem sempre. PROMPT_COMMAND
é uma variável cujo conteúdo é executado cada vez que você envia um comando, então ele também envia essa seqüência de escape. No entanto, isso pode ser substituído por uma seqüência de escape na variável PS1, que define o prompt da linha de comando. É por isso que o acima não teve efeito aqui.
De uma instalação mais antiga do Ubuntu eu peguei isso, que define o prompt de comando (parte direita, após o ]
) e também envia a seqüência de escape necessária (parte esquerda, até e incluindo o ]
):
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
Isso provavelmente terá um melhor desempenho, porque não há necessidade de interpretar $PROMPT_COMMAND
a cada vez. Também tem muito mais opções, porque o Bash tem mais sequências de escape aqui, por ex. \u
para o nome de usuário atual, \W
para o nome do diretório atual ou \w
para o caminho inteiro do diretório de trabalho atual, opcionalmente reduzido para apenas os últimos pelo número em $PROMPT_DIRTRIM
. Veja o capítulo PROMPTING
na página man do Bash. Além disso, observe que a sequência de escape também está cercada por \[
e \]
aqui.
Para definir um título fixo, isso funciona:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Aproveite!
Durante minha investigação eu também tentei entender o código-fonte do gnome-terminal, que leva ao código-fonte e aí o suporte para a configuração de título e leitura de seqüências de escape é considerado um risco de segurança: Veja aqui (caso 20, caso 21) e aqui (" Relatório de Título da Janela ").