通过 SSH 使用 TMUX 时终端行未对齐

通过 SSH 使用 TMUX 时终端行未对齐

上个月我将 Ubuntu 从 16.04 更新到了 18.04,从那时起,我就注意到使用 TMUX 通过 SSH 时出现了一些奇怪的行为。(这个问题不会直接发生在控制台上。)为了访问这个 shell,我在 Cygwin 中使用 OpenSSH,它位于控制台包装器。终端尺寸为 132x43。

我认为可能是 TMUX 不知道终端窗口或父容器之一的正确高度。这是我需要在某处定义的东西吗?

首先,当我打开 TMUX 时,唯一奇怪的是状态栏行的位置太高了一行:

TMUX 首次打开时的视图

如果我在一段时间内不执行任何操作,状态栏就会开始重复:

几分钟不做任何操作后的 TMUX 视图

我可以向上滚动再次查看工作目录,但文本输入位置 1 行太低了:

向上滚动一点

如果我按下 CTRL+L 清除屏幕,状态栏就会消失,我必须向下滚动才能找到它。

接下来,如果我按下 CTRL+ 来重命名窗口,我输入的每个键都会创建一个新的状态栏行:

重命名 TMUX 窗口

我也在 Debian Stretch 目标上测试过这个问题,这个问题没有发生,所以我倾向于认为这个问题只出现在我的 Ubuntu 18.04 VM 上。以下是同样的情况,但使用的是 Debian Stretch 主机:

与上述相同,但针对的是 Debian Stretch 主机

答案1

我遇到了类似的问题,并根据这篇博文的建议解决了它:http://blog.bigsmoke.us/2018/06/15/garbled-screen-in-tmux-on-ubuntu-18.04-in-konsole

将以下内容添加到您的~/.tmux.conf

set -as terminal-overrides ',*:indn@'

该博客讨论了 Konsole 中的一个错误,但对我来说,该问题也发生在其他终端上,包括通过 SSH,并且这个错误已经修复。

答案2

这里有一个解决方法:https://github.com/cbucher/console/issues/175

本质上,将 TMUX 会话包装在 Screen 会话中可以很好地包装屏幕。不要需要在 Cygwin 中安装 Screen。

控制台Z->SSH->屏幕->TMUX

相关内容