15

Вопрос по colors, terminal, xterm, macos, linux – В чем разница между xterm-color и xterm-256color?

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

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

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

  • 5

    Похоже

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

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

    С другой стороны, сегодня почти все совместимо с vt100.

  • 34

    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 вxterm-color (в отличие от рекомендуемых значений Xterm), чтобы отключить функциональность или обойти несовместимости между доступными значениями terminfo на конкретном компьютере и используемым эмулятором терминала.

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

    There isn’t one that’s up to date currently. nsterm represents Terminal’s ancestor from NeXTSTEP. Someone apparently has updated nsterm recently (sometime in the past couple of years), but I don’t know whether that has made its way into the ncurses distribution, and it may not be completely up to date with Terminal in 10.7. A number of programs and shell customization scripts explicitly check whether $TERM starts with (or is equal to) xterm. So some users would still need to know about using the recommended Xterm values with Terminal for compatibility with those.

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