当通过 SSH 连接到 Ubuntu 主机(AWS 上的 EC2 实例)时,我在 tmux 中遇到一些奇怪的控制台分页行为。我通过在 tmux 内运行 irssi 并点击PgUp和来演示这种行为PgDn。
(我知道通常应该按Ctrl+ B,然后PgUp在 tmux 中向上浏览缓冲区页面,但这应该在 irssi 中工作,因为它是一个接管缓冲区和分页的终端应用程序。)
您可以看到,它似乎认为窗口/缓冲区大约是其实际大小的一半,并将其移动到实际空间的顶部或底部(如果有意义的话)。
我的$TERM
是xterm-256color
,$SHELL
是/bin/bash
,tty
是/dev/pts/2
(至少目前,我认为分数发生了变化)。
tmux -V
现在是 2.3,因为我尝试从源代码安装最新的 master,我第一次遇到这种行为是通过打包在常规 Ubuntu 存储库(版本 2.1)中的 tmux。我的 Ubuntu 是 16.04.1 LTS。
答案1
就其价值而言,tmux
依赖于使用终端描述中的终端功能screen
。除了功能键(tmux
以不同的方式执行)之外,这里还有一些影响光标移动的差异(xterm 中的所有功能,但屏幕中没有),您可以使用以下命令查看infocmp xterm-256color screen
:
hpa: '\E[%i%p1%dG', NULL.
indn: '\E[%p1%dS', NULL.
rin: '\E[%p1%dT', NULL.
vpa: '\E[%i%p1%dd', NULL.
如果你设置TERM=screen
,这告诉大多数应用程序仅使用其中描述的颜色数量 (8)。 tmux 可以与screen-256color
大约以及您的非 tmux xterm-256color
还有tmux
和tmux-256color
条目,但打包者通常默认情况下只提供一个精简的终端数据库,而不提供这些条目。您可能想要安装该ncurses-term
软件包作为开始。
答案2
正如 meuh 评论的那样,TERM=screen
在 tmux 会话中需要它。