O título da janela no X mostra o nome do aplicativo errado

1

Estou usando o ambiente LXDE no Debian, mas acho que minha pergunta é geral. Quando eu tenho uma janela aberta (ou seja, emulador de terminal executando bash) a janela tem um título de janela com o texto /bin/bash . Quando eu inicio mc no terminal, o título muda para mc [martin@localhost] .

O mesmo texto também aparece como o nome da janela no painel da janela, onde posso alternar entre as janelas abertas.

Meu problema é que o nome da janela não é atualizado, ele ainda mostra mc [martin@localhost] , mesmo quando eu já estou conectado a outra máquina. Somente quando eu inicio mc , o título é atualizado novamente.

Existe uma maneira de atualizar automaticamente o título?

    
por Martin Vegter 23.03.2014 / 14:56

1 resposta

3

Alguns programas definem o título da janela e esquecem de redefini-lo antes de terminá-lo.

Você pode adicionar algo como as seguintes linhas ao seu '~ / .bashrc' para definir o título da janela antes de cada novo prompt bash.

A instrução case faz isso acontecer apenas em terminais conhecidos por serem capazes de alterar o título da janela com um comando ESCape. Eu sugiro adicionar 'screen *' lá ...

case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD}
PROMPT_COMMAND="$PROMPT_COMMAND;"'echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD}
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD}
PROMPT_COMMAND="$PROMPT_COMMAND;"'echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD}%pre%7"'
7"' ;; *) ;; esac
7"'
7"' ;; *) ;; esac

Estas linhas vêm de um '/etc/bash.bashrc' do Debian-6.0.9 e inicialmente são comentadas lá fora. Olhe no '/ etc / bash.bashrc' do seu sistema, você provavelmente encontrará algumas linhas similares lá.

O padrão '~ / .bashrc' pode conter linhas semelhantes. Se você não quiser ativar esse sistema inteiro, faça-o ao remover o comentário ou adicionar essas linhas.

Quando você já estiver usando PROMPT_COMMAND , coloque a instrução case após sua definição PROMPT_COMMAND preexistente e escreva a atribuição dentro da instrução case como:

%pre%     
por 23.03.2014 / 15:51