В чем разница между xterm-color & xterm-256color?

Я столкнулся как с xterm-color, так и с xterm-256color в качестве опций при попытке настроить мою терминальную программу для использования цвета, т. е. вы можете установить переменную среды TERM в любой из них.

Мне было интересно, может ли кто-нибудь описать разницу между ними?

Я искал документацию на моем сервере ubuntu, а также на моем mac, но не нашел. Я только смог найти различные двоичные файлы в /usr/share/terminfo

2 ответов


xterm-256color описывает Xterm с поддержкой 256 цветов включен. xterm-color описывает более старую ветвь Xterm, которая поддерживает шестнадцать цветов. xterm-color Не рекомендуется, так как он описывает вариант xterm, что менее функциональные и, что вы вряд ли будете использовать. Обычно вы хотите использовать xterm, xterm-16color или xterm-256color.

в частности, xterm-256color является значением по умолчанию для терминала, начиная с Mac OS X 10.7 Lion, со следующими лучшими рекомендуемыми значениями xterm-16color или xterm (который описывает только поддержку восьми цветов ANSI). До 10.7, xterm-color было по умолчанию, потому что терминал не поддерживал некоторые критические функции, описанные рекомендуемыми значениями xterm terminfo, например, стирание цвета фона (BCE), современные коды для переключения основных/альтернативных экранов, 256 цветов.

иногда люди явно установлен TERM to xterm-color (в отличие от рекомендуемых значений Xterm), чтобы отключить функциональность или обойти несовместимости между доступные значения terminfo на конкретном компьютере и используемый эмулятор терминала.

обратите внимание, что технически Terminal должен иметь свои собственные обновленные значения terminfo, которые точно описывают, какие функции он поддерживает, вместо использования значений для Xterm, но:

  1. в настоящее время нет ни одного, который обновлен. nsterm представляет предка терминала из NeXTSTEP. Кто-то, по-видимому, обновил nsterm недавно (когда-то в прошлом пару годы), но я не знаю, пробился ли он в распределение ncurses, и он может быть не полностью обновлен с Terminal в 10.7.
  2. ряд программ и сценариев настройки оболочки явно проверить, является ли $TERM начинается с (или равен) xterm. Поэтому некоторым пользователям все равно нужно знать об использовании рекомендуемых значений Xterm с терминалом для совместимости с ними.

если вы не знакомы с системой terminfo, взгляните на страницу X-man://5/terminfo man. Кроме того, вы можете использовать infocmp команда для просмотра текущих настроек terminfo или сравнения двух разных, например,infocmp xterm-color xterm-256color будет показывать Вам все различия между этими двумя.


похоже, что xterm-256color является терминальным.приложение на OS / X. различия не крошечные - я infocmp'D xterm-color и xterm-256color на коробке Ubuntu и немного нормализовал их, и получил довольно много различий. Я мог бы даже сказать, что xterm-256color больше не является xterm.

обычно, когда вы используете конкретный эмулятор терминала, вам нужно "просто знать", какая запись terminfo лучше всего работает с ним. Они совпадают, хотя иногда вы можете, например, использовать запись VT100 terminfo на терминалов vt220.

с положительной стороны, почти все VT100-совместимо сегодня.