Introdução
Minha pergunta surge da necessidade de entender por que agora tenho (após várias tentativas) o Terminal e o tmux suportando 256 cores e tput colorsme dizendo que existem apenas 8 delas.
fundo
Vamos começar do começo.
Estou usando uma caixa do Ubuntu , Guake , tmux , Vim e adoro o tema Solarized . Eles estavam com uma aparência horrível, então decidi ativar o suporte para 256 cores e brincar um pouco.
Vamos ver o que acontece no meu terminal . tput colorsdiz que existem 8 cores. Pessoalmente, defino-os como roxo, à esquerda e, claro, à direita, temos 2 tons diferentes de azul. $TERMdiz xterm. (Para ter o colorido lsI eval este no meu .bashrc.)

O Vim também parece bem, apesar do fato de eu chamá-lo com a 256bandeira em um ambiente em que 256 cores não são suportadas.
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
O único cara que reclama do espaço reduzido de cores é o tmux . A chamada tmuxfornece os resultados esperados "errados".

Mas chamar tmuxcom a -2bandeira faz tudo funcionar bem, magicamente .

Agora, a única coisa que eu entendo é que -2é equivalente a export TERM=screen-256color( fonte ).
Guake se comporta de maneira análoga ao Terminal e os dois respondem xtermà pergunta echo $TERM.
Pergunta, questão
Basicamente, alguém entende por que tudo funciona, mesmo que não deveria?
- Estou sádico por reclamar por que as coisas funcionam? Talvez.
- Existe uma razão melhor? Claro: gostaria de corrigir a aparência de outras caixas do Ubuntu no meu escritório e gostaria de entender por que as coisas funcionam ou não.
Experiências adicionais
A execução desse script (ligeiramente modificado) no meu xtermfornece o seguinte resultado: 256 cores, mas apenas 16 são exibidas corretamente.

Então, mudando o perfil do terminal, também essas 16 cores mudam.

Mais testes estão a seguir.
Da esquerda para a direita, de cima para baixo, temos o tema de cores Solarizeddircolor ansi-dark e 256dark, em seguida , o esquema de cores padrão ( Tango ) dircolor ansi-darke 256dark.

Observação : em teoria, o dircolor ansi-darkon Solarizado esquema de cores deve ter jogo de perto a dircolor 256dark. Isso não está acontecendo claramente para os arquivos listados específicos. Em vez disso, isso acontece quando no diretório de trabalho existem pastas , arquivos de texto e links simbólicos . Conclusão : não foi dada muita atenção ao codificar as 256darkcores.
Conclusões preliminares
xtermsuporta 256 cores, apesar do que tput colorsdiz. Os programas podem se referir à ansipaleta (personalizável pelo usuário) ou definir suas cores, escolhendo um total de 256 cores.
tput colorsé um teste não confiável. Você poderia verificar minhas conclusões preliminares ?
tput colorssó é possível retornar um valor e, nos terminais que suportam qualquer uma das 2,8,16,88 ou 256 cores, apenas o primeiro valor (8 no seu caso) é retornado. Para obter o valor verdadeiro, use o script do meu último comentário. O que isso retorna?
clique com o botão direito do mouse / veja a imagem para inspecionar em resolução máxima
mapa de referência dircolors "degradado" solarizado