O comando toe
mostrará as definições do terminfo no sistema atual. Se você não tiver esse comando, verá os dados brutos em /usr/share/terminfo
na maioria dos sistemas Linux.
Ao iniciar tmux
, preciso passar um tipo de terminal válido. Como estou fazendo o script da inicialização inicial de tmux
, gostaria de abordar todas as bases descobrindo os valores válidos de TERM
no sistema atual.
Como posso encontrar valores válidos para usar para tmux
e qual ordem, incluindo um possível fallback de 16 cores, devo preferir?
Isto é principalmente para sistemas Linux, mas presumo que a abordagem seria semelhante na maioria dos outros unixóides.
O programa toe
lista as entradas no banco de dados do terminal ncurses, mas pode não ser útil em um menu simples.
Por exemplo, o pacote ncurses-base do Debian lista a noção de alguém das descrições de terminal mais comuns:
This package contains terminfo data files to support the most common types of terminal, including ansi, dumb, linux, rxvt, screen, sun, vt100, vt102, vt220, vt52, and xterm.
A seleção é ad hoc e reflete os relatórios de bugs. Verificando o pacote real;
ansi cons25 cons25-debian cygwin dumb Eterm Eterm-color hurd linux mach mach-bold mach-color mach-gnu mach-gnu-color pcansi rxvt rxvt-basic rxvt-m rxvt-unicode screen screen-256color screen-256color-bce screen-bce screen-s screen-w sun vt100 vt102 vt220 vt52 wsvt25 wsvt25m xterm xterm-256color xterm-color xterm-debian xterm-mono xterm-r5 xterm-r6 xterm-vt220 xterm-xfree86
ou 41 entradas. Olhando para a lista, há vários lugares para discordar:
xterm-xfree86
foi preterido em favor de xterm-new
12 anos atrás . hurd
(e as entradas relacionadas demach
) são poucos e ncurses-term
(que tem 2675 entradas). O programa infocmp
não é específico de ncurses, então você seria capaz de use isso em mais plataformas - para verificar a existência. Mas se você quiser verificar a existência (e verificar recursos específicos), tput
é o lugar para começar.
Na maioria dos sistemas que você provavelmente utilizará, você usaria o banco de dados de terminais ncurses - ou algum subconjunto definido pelo empacotador. Como o banco de dados de terminais ncurses define as variantes de 256 cores anexando "-256color"
ao nome recomendado para o terminal, a maneira que você encontraria uma adequada é simplesmente testar a existência do nome preferido com o sufixo.
Leitura adicional: