O valor de $TERM
é diferente dentro da tela. Por conseguinte, o seu ficheiro colorfile
deve provavelmente começar com
TERM screen*
TERM xterm*
Eu tenho uma linha no meu .bashrc que define um esquema de cores:
eval $(dircolors colorfile)
Isso funciona como esperado, definindo LS_COLORS com a string correta gerada a partir do 'colorfile'.
Quando eu uso a tela, o arquivo bashrc é lido novamente, mas perco minhas cores. Testando, eu corri dircolors colorfile
na linha de comando na tela e obtive
LS_COLORS='';
export LS_COLORS
Eu posso contornar isso muito facilmente, mas estou curioso sobre o que está causando dircolors para agir de forma diferente na tela vs não. Eu pensei que apenas cegamente analisou o arquivo e produziu a string. Mas deve estar checando alguma variável env ou algo assim?
Alguma pista? Veja algumas informações adicionais: Meu .screenrc está em branco, estou usando o gnome-terminal. A versão do Dircolors é 8.25.
Eu usei o comando which
para ter certeza de que não estava usando dois binários diferentes (eu não estava). Eu verifiquei o valor de $? depois de executar dircolors, foi 0 em ambos os casos.
Tags gnome-terminal terminal