Установка $ TERM для экрана GNU

12

Итак, у меня есть экран, скомпилированный с 256 цветами, работающий на Konsole в режиме 256 цветов. Если стартовый экран, TERM установлен на «экран». Если я вручную экспортирую TERM в screen-256color, все будет работать прекрасно.

У меня два вопроса. Во-первых, почему screen устанавливает TERM на «screen» вместо «screen-256color», когда он это поддерживает? Во-вторых, если у меня есть следующая строка в моем файле .screenrc

term    screen-256color

почему экран все еще не устанавливает мой термин?

Дополнительная информация: я работаю с Screen version 4.00.03jw4 (FAU) 2-May-06 на Kubuntu Jaunty amd64

Zxaos
источник
термин screen-256color работает здесь с экранной версией 4.00.03jw4 (FAU) 2-мая-06 по тестированию Debian. Подробнее, пожалуйста.
Дероберт
Похоже, я использую ту же версию экрана, что и вы. Интересно, это проблема terminfo?
Zxaos
Да, скорее всего, ваш terminfo не имеет screen-256color, поэтому screen правильно отказывается устанавливать для него terminfo, так как приложения, которые вы запускаете под ним, не будут работать
njsf
Если я установлю его вручную, все будет работать, и 'Tput Colours' отображает правильное количество цветов. В любом случае, я не знаю достаточно о terminfo, чтобы исправить это. Какие-либо предложения?
Zxaos
Если tput работает, то у вас есть записи terminfo.
Дероберт

Ответы:

10

Экран всегда устанавливает TERM на «экран» по умолчанию. Тем не менее, вы должны понимать, что экран TERM = поддерживает цвета.

Я протестировал добавление «term screen-256color» к моему ~ / .screenrc, и он установил для меня TERM «screen-256color» (Версия экрана 4.00.03 (FAU) 23-Oct-06). Возможно ли, что экран ищет неправильное место для вашего файла .screenrc?

Вы также можете попробовать запустить экран следующим образом:

screen -T screen-256color

Посмотри, работает ли это.

yadimka
источник
Указание терминала вручную запускает экран с правильным термином. (Причина, по которой меня волнует, заключается в том, что Vim, похоже, не хочет играть красиво, по цвету, с экраном вместо screen-256color, если я не переключаю его в режим 256 цветов. Что касается, если экран ищет мой .screenrc неправильно место, как бы я это проверить?
Zxaos
Спасибо, ваше предложение привело меня к выяснению, что это были установленные профили экрана, которые мешали анализу моего .screenrc.
Zxaos
5

На самом деле проблема заключалась в некоторых конфликтующих профилях экрана, которые были установлены на моей машине. Хотя они использовали мой локальный .screenrc, они не позволили мне установить срок. Отключение использования профилей (я переименовал символическую ссылку ~ / .screen-profile в другое) заставило screen прочитать термин, заданный в моем файле .screenrc.

Zxaos
источник
0

Добавьте в ваш «~ / .screenrc»:

attrcolor b ".I"
termcapinfo xterm 'Co # 256: AB = \ E [48; 5;% dm: AF = \ E [38; 5;% dm'
defbce "on"
drybjed
источник
Нет. Переменная TERM по-прежнему имеет значение «screen», даже когда
запускается