256 cores no console do Linux

5

Eu tenho no meu .bashrc

export TERM=xterm-256color

mas isso causa a intermitência de todo o texto colorido (ls --color, in vim etc.) em um console Linux ( Ctrl + Alt + F1 ).

Então existe alguma possibilidade de reconhecer em qual terminal eu estou (console Linux ou pseudo-tty) então posso exportar a variável TERM com um valor válido?

[EDITAR]

Eu encontrei apenas uma solução alternativa:

para usuário vim (em .vimrc)

set t_Co=256

ou para xterm em .Xdefaults (depois disso xrdb -load .Xdefaults)

XTerm*termName:         xterm-256color

ou para tela (.screenrc)

term screen-256color
    
por PaulP 10.07.2011 / 08:52

2 respostas

8

Tente não exportar a variável TERM . Isso deve ser definido pelo próprio terminal para um valor apropriado. O console do Linux deve definir isso para linux , enquanto vários programas de terminal baseados em X podem usar o valor definido por você.

Você só deve definir isso como uma substituição para quando os valores padrão não funcionarem ou não forem passados como no SSH para um local que não reconheça seu ambiente.

    
por 10.07.2011 / 09:12
5

O console $ TERM é linux , [1] para que você possa criar um teste assim:

if [ "$TERM" = "linux" ]; then
...

Como notas do Caleb , defina a variável de ambiente TERM para o tipo de terminal que você gostaria de emular não é uma boa ideia.

Veja link para detalhes

[1] Since kernel version 1.3.2, the kernel default for the console is TERM=linux.

link

    
por 10.07.2011 / 09:00