A variável de ambiente TERM é uma maneira que você, o usuário,
pode informar programas (por exemplo, emacs , grep , less , ls e vim )
em que tipo de terminal eles estão sendo executados, para que eles saibam quais são seus parâmetros, incluindo quais recursos ele possui e quais seqüências de escape precisa emitir para acessá-los. Isso existe porque é muito difícil, em geral,
para o software para determinar isso por si
(e era praticamente impossível quando os usuários interagiam
com computadores através de terminais que eram externos,
e só conectado ao computador por um cabo de dados).
gnome-terminal é um programa que fornece serviços semelhantes a terminais
para o usuário e os programas que o usuário executa dentro do terminal.
gnome-terminal pode estar ciente das variáveis de ambiente
que foram definidos em seu ambiente,
antes de ser invocado ( DISPLAY sendo o exemplo óbvio),
mas não tem conhecimento de variáveis de ambiente que são definidas
nos processos que estão sendo executados sob ele.
Portanto, gnome-terminal tem todas as capacidades que possui.
Pode ser possível ajustar / restringir esses fatores externamente,
por exemplo, por meio de opções de linha de comando, o ambiente pré-existente,
arquivos de configuração e diálogos no quadro da janela,
mas não alterando TERM no shell na janela.
Se é capaz de exibir 256 cores,
então é capaz de exibir 256 cores,
e você será capaz de fazer isso
enviando as seqüências de escape apropriadas.
Mas, contanto que você tenha TERM definido como xterm ,
os programas que você executa acreditarão que você está dizendo a eles
que eles estão funcionando em um terminal compatível com oito cores,
e assim eles restringirão seus pedidos (seqüências de escape)
para esses recursos .
Você precisa definir TERM para xterm-256color ,
para não permitir que gnome-terminal exiba 256 cores,
mas para dizer programas como grep e ls para perguntar
para usar mais de 8 cores.