Я установил $TERM
переменную, добавив строку XTerm*termName: xterm-256color
в мой .Xresources
файл. Когда я делал это, я не знал, что именно это означает (я следовал онлайн-руководству, чтобы изменить внешний вид xterm
), но теперь я прочитал немного больше и беспокоюсь, что я сделал неправильно. В частности, я хочу знать, что есть что-то плохое в настройке $TERM
переменной вручную, и если это так, как я могу исправить свою ошибку.
В случае, если вам нужно, я запускаю Fedora 20 с xterm
.
terminal
xterm
x-resources
Santaru72
источник
источник
Ответы:
По большей части, вы не должны устанавливать
TERM
вручную. Переменная всегда устанавливается автоматически, и существует только узкий набор обстоятельств, в которых значение по умолчанию является неправильным.На значение
TERM
нужно ссылаться в системной базе данных terminfo (или для нескольких устаревших систем в базе данных termcap ). Terminfo и Termcap отображают типы терминалов в описании возможностей терминала, используемых приложениями. ЗначениеTERM
является типом терминала.Основная причина, по которой вам иногда может потребоваться внести изменения,
TERM
заключается в том, что вы входите удаленно, когда локальный компьютер и удаленный компьютер имеют разные базы данных терминала.Другая причина, которая связана с предыдущей, заключается в том, что иногда существует несколько похожих записей для терминала с немного различными возможностями. Обычно это происходит, когда появляется новый терминал, который совместим с существующим терминалом, но имеет больше функций. Затем вы получаете выбор между традиционным именем, которое понимают все машины, но которое рекламирует только традиционные функции, или более новым именем, которое рекламирует все новые функции, но которое некоторые машины не понимают.
Примером этого является xterm с 16 цветами против xterm с 256 цветами. Традиционный xterm поддерживает только 16 цветов, так что именно это определяет
xterm
база данных терминала. Изменениеxterm
записи сделало бы пользователей более новых версий xterm счастливыми, но нарушило бы конфигурацию пользователей более старых версий xterm, которые входят в систему удаленно. Переключение на новое имя -xterm-256color
предоставляет новые возможности, когда они доступны, но не распознается, если вы входите удаленно на компьютеры с более старой базой данных терминала. Поскольку не существует решения, которое могло бы удовлетворить всех, у вас есть выбор: либо придерживатьсяxterm
и не получать 256 цветов, либо использовать,xterm-256color
которое не работает, если вы входите на удаленные машины, которые его не поддерживают.Оставляя значение по умолчанию
xterm
и устанавливаяtermName
ресурсxterm-256color
(что приводит к тому, что переменная окруженияTERM
устанавливается на одно и то же значение), оба являются разумным выбором. УстановкаTERM
произвольных значений не сработает, но и тоxterm
и другоеxterm-256color
имеет смысл.источник
Это хорошо, если вы знаете, что сделали; большинство графических терминалов поддерживают это.
Вы также можете установить его из командной строки или в скрипте
Это относится только к этому терминалу или последующим дочерним элементам.
Портативное значение по умолчанию будет просто
xterm
, что означает поддержку 16 цветов. Если у вас установлено 256 цветов и ваш терминал не поддерживает его, запуск 256-цветных приложений TUI будет выглядеть странно; Вы, вероятно, сразу заметите. Но это не должно быть опасно.источник
XTerm*termName: xterm
вместоXTerm*termName: xterm-256color
меня должна быть в порядке, верно?xterm
по умолчаниюxterm
;) но это означает 16 цветов. Основная цель использованияxterm-256color
- сообщить приложениям, что терминал поддерживает 256 цветов . Если вы этого не сделаете, они предполагают 16 цветов.