“Redefinir” cores do terminal após a saída / logout do ssh

14

Quando eu ssh em um servidor remoto, eu gosto de mudar as cores do terminal. Eu uso setterm no meu arquivo ~ / .bashrc remoto para fazer isso. No entanto, quando eu exit , as cores do terminal não são redefinidas para as cores locais.

Resolvi o problema, mas não tenho certeza se é a melhor solução. Isso é o que eu poderia inventar.

No ~ / .bash_logout no servidor remoto, eu coloco:

echo -e "3[0m"
/usr/bin/clear

Apenas por curiosidade: Alguém sabe de uma maneira melhor? (Eu tenho a linha echo -e "3[0m" do link )

    
por dgo.a 31.07.2011 / 17:51

4 respostas

28

Melhor: tput sgr0 é normalmente o equivalente a echo -en "\e[0m"

A diferença é que o uso de tput se adaptará se o tipo de terminal for diferente de ANSI - e foi configurado corretamente.

man 5 terminfo para mais códigos a serem usados.

Lá você encontrará 'reset', então tput reset deve funcionar.

$ echo -e "\e[7m TEST \e[0m"  
 TEST   
$ echo -e "$(tput rev) TEST $(tput sgr0)"  
 TEST   
$   

(As impressões TEST devem ter trocado as cores de fundo / primeiro plano, não podem ser mostradas aqui - apenas "emuladas")

Encontrou outra opção para este , uma maneira menos nerd:

o pacote util-linux (no ubuntu) contém setterm (utilitário shell).

digite setterm --help e você encontrará as opções disponíveis.

    
por 06.09.2015 / 09:32
16

Eu acredito que você está procurando o comando de console "reset"

    
por 26.11.2014 / 16:42
3

Você pode achar isso usando o controle remoto .bash_logout mais apropriado:

tput init

Pode ser bom ter isso em todos os .bash_logout como uma boa prática geral (e talvez até em ~ / .profile)

    
por 28.10.2016 / 19:06
2

Se você colocar as cores desejadas no ~ / .bashrc da conta remota, elas deverão entrar em vigor no login e reverter para as configurações locais na saída.

    
por 31.07.2011 / 18:12