paleta de 256 cores no Ubuntu 16.04

1

Eu tento rodar um jogo no meu terminal no Ubuntu 16.04, um jogo que foi feito usando a biblioteca c ncurses. No momento em que o jogo terminou, ele correu como eu esperava no terminal. Então fiz algumas alterações em um arquivo (talvez .bashrc), de modo que eu pudesse usar 256 paletas de cores para o meu jogo.

Agora, quando tento executar o jogo, recebo esta mensagem de erro:

Error opening terminal: xterm-256color.

A variável TERM está definida como xterm-256color e a saída das cores tput é 256. Existe um método mais apropriado para testar se o meu terminal usa 256 cores com certeza e como posso resolver o problema descrito acima?

    
por Iulian Barbu 16.08.2016 / 11:37

1 resposta

1

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
por Thomas Dickey 16.08.2016 / 12:27