Restaure o título do Terminal do Mac OS X após fechar uma conexão SSH [duplicado]

17

Toda vez que você faz o logout de uma conexão SSH no terminal do Mac OS X, você obtém as informações de login anteriores no título da janela.

A maioria das soluções que eu encontrei pesquisando na web envolve brincar com sequências de escape, como esta pergunta ou esta postagem no blog .

Parece ser uma questão SSH, não uma coisa Terminal, então eu queria saber se existe uma maneira mais fácil de fazer isso (talvez editando a configuração do cliente SSH?).

    
por elitalon 26.09.2011 / 10:07

1 resposta

24

Não é um problema de SSH. O problema é que o shell no host remoto está configurado para enviar uma seqüência de escape para definir o título da janela do terminal. Esta é uma configuração bastante comum. As soluções mencionadas na postagem no blog às quais você está vinculado correto.

A solução mais simples e direta é configurar o mesmo shell remoto para redefinir o título da janela ao efetuar o logout. por exemplo, se o shell remoto for bash, coloque isso em ~ / .bash_logout:

printf '\e]0;\a'

Como alternativa, se quiser que seu shell local atualize o título da janela com algo útil, enfim, faça isso. Quando a conexão ssh termina, o shell local irá definir o título da janela para outra coisa, em vez de deixar o valor obsoleto. por exemplo. coloque isso em ~ / .bashrc:

PS1='\[\e]1;\s\$ \W\a\e]2;\u@\h\a\]'"$PS1"

Isso coloca o nome do usuário e do host no título da janela (que normalmente é o que os shells remotos estão configurados para fazer) e também define o título da guia para mostrar o nome e tipo do shell (usuário normal ou raiz) e o diretório de trabalho atual. .

Note que se você ainda não tem um ~ / .bash_profile (ou ~ / .profile), crie um e execute ~ / .bashrc para que ~ / .bashrc se aplique a shells de login e não-login:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi
    
por 26.09.2011 / 14:19