远程主机不支持 tmux 和 screen-256 TERM

Yoa*_*ner 33 ssh terminal colors tmux

我已经设置了我的 tmux 来使用screen-256colors它,它与 vim 配合得很好。

但是,当我从 tmux 内 ssh 到远程主机时,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'
Run Code Online (Sandbox Code Playgroud)

除了编辑每个遥控器.bashrc(类似于这个建议),有没有办法TERM在远程主机上正确自动地设置?

use*_*686 46

您可以将必要的terminfo描述复制到远程主机。

  1. 在本地系统上,将描述转储为文本格式:

    infocmp xterm-256color > xterm-256color.ti
    infocmp screen-256color > screen-256color.ti
    
    Run Code Online (Sandbox Code Playgroud)
  2. 复制到远程主机并编译:

    tic xterm-256color.ti
    tic screen-256color.ti
    
    Run Code Online (Sandbox Code Playgroud)

描述将存储在~/.terminfo.

infocmp并且tic是大多数 Linux 发行版以及大多数使用ncurses 的BSD中的ncursesncurses-bin包的一部分。)


小智 8

我的 .bashrc 中有这个:

alias ssh='TERM=screen ssh'
Run Code Online (Sandbox Code Playgroud)