30

Я настроил свой tmux для использования screen-256colors и он отлично работает с vim.

Однако, когда я подключаюсь к удаленному хосту из tmux, screen-256colors не распознается, поэтому я получаю такие ошибки:

E558: Terminal entry not found in terminfo 'screen-256color' not known. Available builtin terminals are:
    builtin_ansi
    builtin_xterm
    builtin_iris-ansi
    builtin_dumb defaulting to 'ansi'

Кроме редактирования каждого удаленного .bashrc (аналогично этому предложению), есть ли способ правильно и автоматически установить TERM на удаленном хосте?

2 ответа2

39

Вы можете скопировать необходимые описания terminfo на удаленные хосты.

  1. В локальной системе выведите описание в текстовый формат:

    infocmp xterm-256color > xterm-256color.ti
    infocmp screen-256color > screen-256color.ti
    
  2. Скопируйте на удаленный хост и скомпилируйте:

    tic xterm-256color.ti
    tic screen-256color.ti
    

Описания будут сохранены в ~/.terminfo .

(infocmp и tic являются частью пакетов ncurses или ncurses-bin в большинстве дистрибутивов Linux, а также в большинстве BSD, использующих ncurses.)

7

У меня есть это в моем .bashrc:

alias ssh='TERM=screen ssh'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .