Вступ
Моє запитання виникає з необхідності розуміння того, чому у мене зараз (після декількох випробувань) термінали та tmux підтримують 256 кольорів і tput colorsкажуть, що їх лише 8.
Фон
Почнемо з початку.
Я використовую коробку Ubuntu , Guake , tmux , Vim, і я люблю тему Solarized . Вони виглядали досить жахливо, тому я вирішив включити підтримку 256 кольорів і трохи пограти.
Подивимося, що станеться з моїм Терміналом . tput colorsкаже, що існує 8 кольорів. Я особисто встановив їх на фіолетовий, зліва, і, звичайно, праворуч у нас є 2 різних відтінки синього. $TERMкаже xterm. (Щоб мати кольоровий lsя eval це у своєму .bashrc.)

Vim також виглядає чудово, незважаючи на те, що я називаю це 256прапором у середовищі, де 256 кольорів не підтримуються.
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
Єдиний хлопець, який скаржиться на зменшений кольоровий простір, - tmux . Виклик tmuxзабезпечує "неправильні" очікувані результати.

Але виклик tmuxз -2прапором робить все відмінно працює, чарівно .

Тепер єдине, що я розумію, -2це еквівалент export TERM=screen-256color( джерело ).
Гуаке поводиться аналогічно Терміналу, і вони обидва відповідають xtermна питання echo $TERM.
Питання
По суті, хтось розуміє, чому все працює, навіть якщо не повинно?
- Чи я садист, що я скаржуюся, чому все працює? Може бути.
- Чи є краща причина? Впевнений: я хотів би виправити появу інших скриньок Ubuntu у своєму кабінеті, і я хотів би зрозуміти, чому все працює чи не працює.
Додаткові експерименти
Запуск цього сценарію (трохи змінений) на моєму xtermдає наступний результат: 256 кольорів, але лише 16 відображаються правильно.

Потім, змінюючи профіль терміналу, також змінюються ці 16 кольорів.

Ще тести наступні.
Зліва направо, зверху вниз, ми маємо кольорову тему Соляризовану , dircolor ansi-darkа 256darkпотім кольорову гаму за замовчуванням ( Танго ) dircolor ansi-darkта 256dark.

Спостереження : теоретично кольорова схема dircolor ansi-darkна соляризованій основі повинна відповідати тій самій dircolor 256dark. Це не однозначно відбувається для конкретних перелічених файлів. Натомість це цілком відбувається, коли в робочому каталозі є папки , текстові файли та символьні посилання . Висновок : при кодуванні 256darkкольорів не приділялося багато уваги .
Попередні висновки
xtermпідтримує 256 кольорів, незважаючи на те, що tput colorsговорить. Програми можуть посилатися на ansiпалітру (налаштовується користувачем) або визначати їх кольори, вибираючи із 256 кольорів.
tput colorsце ненадійне випробування. Не могли б ви перевірити мої попередні висновки ?
tput colorsможна повернути лише одне значення, а в терміналах, які підтримують будь-який із 2,8,16,88 або 256 кольорів, повертається лише перше значення (8 у вашому випадку). Щоб отримати справжнє значення, використовуйте скрипт з мого останнього коментаря. Що це повертає?
натисніть правою клавішею миші / перегляньте зображення, щоб оглянути повне дозвіл
соляризована "деградована" двоколірна довідкова карта