引用tmux
手册页:
对于在 tmux 中运行的所有程序,TERM 环境变量必须设置为“screen”。新窗口将自动将“TERM=screen”添加到它们的环境中,但必须注意不要在 shell 启动文件中重置它。
这是因为tmux
会话可以连接到任何终端(例如远程),screen
是最低公分母?如果我知道我的终端,我是否可以在没有意外结果的情况下强制执行它,或者某些不受支持的功能会中断(如滚动)?
Tho*_*key 14
这样做是为了利用先前安装的 GNU screen 终端描述。
既TMUX和屏幕提供具有(或多或少)“相同”的终端的应用程序的描述,以简化从不同的终端连接。tmux 和 screen 程序应该处理内部(TERM=screen)和外部(xterm、linux 等)之间的差异。所以screen
终端描述已经安装在“任何地方”(通常由 ncurses 安装)。
有一些区别:
从tmux 2.1 开始,您可以使用tmux
terminfo:
'default-terminal' 现在是一个会话选项。此外,如果将其设置为“screen-*”,则模拟 screen 的作用。如果需要斜体,可以将其设置为“tmux”,但这仍然是新的,不一定在所有安装了旧 ncurses 的平台上都受支持