上个月我将 Ubuntu 从 16.04 更新到了 18.04,从那时起,我就注意到使用 TMUX 通过 SSH 时出现了一些奇怪的行为。(这个问题不会直接发生在控制台上。)为了访问这个 shell,我在 Cygwin 中使用 OpenSSH,它位于控制台包装器。终端尺寸为 132x43。
我认为可能是 TMUX 不知道终端窗口或父容器之一的正确高度。这是我需要在某处定义的东西吗?
首先,当我打开 TMUX 时,唯一奇怪的是状态栏行的位置太高了一行:
如果我在一段时间内不执行任何操作,状态栏就会开始重复:
我可以向上滚动再次查看工作目录,但文本输入位置 1 行太低了:
如果我按下 CTRL+L 清除屏幕,状态栏就会消失,我必须向下滚动才能找到它。
接下来,如果我按下 CTRL+ 来重命名窗口,我输入的每个键都会创建一个新的状态栏行:
我也在 Debian Stretch 目标上测试过这个问题,这个问题没有发生,所以我倾向于认为这个问题只出现在我的 Ubuntu 18.04 VM 上。以下是同样的情况,但使用的是 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