Como mencionado antes, esses programas provavelmente produzem diretamente seqüências de escape ANSI :
As 256-color lookup tables became common on graphic cards, escape sequences were added to select from a pre-defined set of 256 colors:[citation needed]
ESC[ … 38;5;<n> … m Select foreground color
ESC[ … 48;5;<n> … m Select background color
0- 7: standard colors (as in ESC [ 30–37 m)
8- 15: high intensity colors (as in ESC [ 90–97 m)
16-231: 6 × 6 × 6 cube (216 colors): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)
232-255: grayscale from black to white in 24 steps
Esse argumento também seria estrito por respostas para uma pergunta semelhante intitulada Disable colors no terminal e SSH no Unix SE .
Em suas perguntas anteriores para este tópico, você mencionou que está usando o xterm. A página man do xterm também lista uma opção -cm
para desabilitar o reconhecimento de seqüências de escape ANSI. Isso também é mencionado nas respostas da pergunta vinculada:
-cm
This option disables recognition of ANSI color-change escape sequences. It sets the colorMode resource to "false".
O que você está fazendo definindo as informações do terminal é que você define as capacidades do terminal (conforme man terminfo ). Como tal, o que você está fazendo equivale a dizer ls
e assim por diante que você tem certeza de que pode fazer certas coisas, mas isso não significa que elas tenham que honrá-lo de alguma forma.