Каково правильное значение $TERM для ansi-термина emac, особенно если 'eterm-цвет' не доступен после SSH?

Необходимо установить СРОКИ в обоих к тому же самому. Если Вы используете экран, это должен быть screen-256color-bce и если Ваш терминал (urxvt, например) будет поддерживать 256 цветов, то Вы получите их. Обратите внимание, что энергия требует set t_Co=256 в Вашем ~/.vimrc для работы правильно.

Я предполагаю, что Вы хотите, чтобы цвет появился во всех vi/vim окнах. В противном случае просто измените свой терминал (шпаклевка), чтобы быть черными и белыми. Вы не будете затем видеть цветов вообще.

7
23.09.2013, 12:34
2 ответа

Я разработал подход, который позволяет Вам узнать конкретно, какие терминалы доступны на удаленном хосте и затем устанавливают его. Обычно, существует по крайней мере один ansi совместимый терминал, таким образом, 'взлом' для фальсифицирования его должен быть ненужным.

Сделанный в одном long'ish ssh команда, это будет выглядеть примерно так:

ssh -i ~/.ssh/some_key.pub -tty some_remote_server "export TERM=`ls -1R /usr/share/terminfo | grep ^eterm-color$ || ls -1R /usr/share/terminfo | grep ^aterm$ || ls -1R /usr/share/terminfo | grep ^ansi$ || ls -1R /usr/share/terminfo | grep ^xterm-256color$ || export TERM=xterm && emacs -nw"

Это находит отличающимся ansi совместимый (и несовместимый) терминальные типы в порядке предпочтения на удаленном хосте и устанавливает первый, найденный прежде, чем запустить EMACS. Это устанавливает СРОКИ для использования типа 'xterm', если ни один из наших предпочтительных типов не найден, гарантировав, что EMACS действительно на самом деле запускается.

В этом примере я ищу eterm-цвет, aterm, ansi, и xterm-256color в том порядке. Я не тяжелый пользователь EMACS, таким образом, не уверенный это является на самом деле лучшим. Я протестировал этот запуск на CentOS и работал хорошо (он нашел, eterm-раскрашивают мое тестирование).

Я полагаю, что terminfo находится в том же месте на большинстве/всех вариантах Linux, но можно добавить больше путей для поиска того же способа, которым Вы добавили бы больше терминалов путем добавления больше

 || ls -1R /a/different/path | grep ^someotherterminal$ 
условный тест и каналы.
3
27.01.2020, 20:18

Учитывая вашу проблему, я бы рекомендовал установить TERM на vt100. Он установлен везде, даже в пакете Debian ncurses-base . Альтернативы, упомянутые в предложенном ответе (ansi, aterm, xterm-256color), имеют различия, которые будут реализовывать функции, отсутствующие в eterm-color .

Кроме того, функция строки заголовка не является частью описания терминала. Ваши удаленные приложения используют его в соответствии с настройкой TERM , например, все, что использует "xterm".

Технически вы потеряете цвет (в конце концов, vt100 никогда не окрашивал ). Некоторые приложения все равно это делают.

3
27.01.2020, 20:18

Теги

Похожие вопросы