Почему tmux устанавливает переменную TERM на экран?

Почему tmux устанавливает переменную TERM на экран?

Ссылка на tmuxстраницу руководства:

Переменная окружения TERM должна быть установлена ​​на «screen» для всех программ, работающих внутри tmux. Новые окна автоматически будут иметь «TERM=screen» в своей среде, но нужно быть осторожным, чтобы не сбросить это в файлах запуска оболочки.

Это потому, что tmuxсеанс может быть подключен к любому терминалу (например, удаленному), screenявляясь наименьшим общим знаменателем? Если я знаю свой терминал, могу ли я принудительно его включить без неожиданных результатов, или некоторые неподдерживаемые возможности сломаются (например, прокрутка)?

решение1

Это делается для того, чтобы воспользоваться ранее установленным описанием терминала для GNU screen.

Обаtmuxиэкранпредоставлять приложениям (более или менее) "те же" описания терминалов для упрощения подключения с разных терминалов. Программы tmux и screen должны обрабатывать различия между внутренним (TERM=screen) и внешним (xterm, linux и т. д.). Поэтому описание терминала screenбыло установлено "везде" (обычно ncurses).

Есть некоторые отличия:

  • Экран GNU имееточень старая проблемапредставляющая собой "выдающуюся" функцию (которая технически не является конкретной функцией терминала, а скорее абстракцией для удобства приложений curses). tmux не имеет такого ограничения. Но улучшенныйТЕРМ=tmuxне обязательно «везде».
  • GNU screen имеет функцию использования гибридных описаний терминала. Учитывая внешний TERM=xterm и существование "screen.xterm", он выберет его для внутреннего значения TERM. (см. напримербаза данных терминала). tmux этого не делает.

решение2

По состоянию наtmux 2.1, вы можете использоватьtmux терминфо:

'default-terminal' теперь является опцией сеанса. Кроме того, если он установлен на 'screen-*', то эмулируйте то, что делает screen. Если требуется курсив, его можно установить на 'tmux', но это все еще новое и не обязательно поддерживается на всех платформах со старыми установками ncurses

Связанный контент