Não existe um método 100% confiável para determinar se um terminal suporta um determinado número de cores. Você define TERM para que os aplicativos usem uma descrição específica do terminal, para que ncurses e outras bibliotecas saibam como trabalhar com o terminal.
A descrição de xterm-256color faz parte do pacote ncurses-base , essencial :
$ dlocate /lib/terminfo/x/xterm-256color
ncurses-base: /lib/terminfo/x/xterm-256color
Se o seu aplicativo não puder abri-lo, é provável que você tenha um conjunto de variáveis de ambiente (como TERMINFO ) que instrui ncurses a procurar em um local onde essa descrição não exista.
Você pode usar strace para ver quais arquivos são abertos por um aplicativo e (normalmente) ver problemas desse tipo, por exemplo, procurando por falhas de abertura do "xterm-256color".
Leitura adicional:
- TERMINFO , variável de ambiente na página de manual do ncurses