Как упоминалось ранее, эти программы, вероятно, напрямую выводят escape-последовательности ANSI:
Поскольку 256-цветовые таблицы поиска стали распространенными на графических картах, были добавлены escape-последовательности для выбора из предварительно определенного набора из 256 цветов: [требуется цитата]
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: оттенки серого от черного до белого за 24 шага
Этот аргумент также будет подтвержден ответами на аналогичный вопрос под названием « Отключить цвета в терминале и SSH в Unix SE».
В своих предыдущих вопросах по этой теме вы упоминали, что используете xterm. Страница man xterm также содержит параметр -cm
для отключения распознавания escape-последовательностей ANSI. Это также упоминается в ответах на связанный вопрос:
-см
Эта опция отключает распознавание escape-последовательностей изменения цвета ANSI. Устанавливает для ресурса colorMode значение false.
Задавая информацию о терминале, вы делаете то, что определяете возможности терминала (в соответствии с man terminfo). Таким образом, то, что вы делаете, равносильно тому, чтобы сказать ls
и так далее, что вы уверены, что можете делать определенные вещи, но это не значит, что они должны соблюдать это каким-либо образом.