在远程计算机上的 tmux 中,终端中的每个新行都缩进到先前显示的行的末尾

在远程计算机上的 tmux 中,终端中的每个新行都缩进到先前显示的行的末尾

更新:感谢@NotTheDr01ds 的评论解决了

原问题

(我使用的机器的详细信息在最后)

我使用以下方式连接到我的 Uni 的 VPN:

sudo /sbin/modprobe tun && sudo openconnect gucsasa1.cent.gla.ac.uk

我得到这个输出:

POST https://gucsasa1.cent.gla.ac.uk/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connected as 172.20.183.165, using SSL, with DTLS in progress
Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(ECDHE-RSA)-(AES-256-GCM).
Unknown DTLS packet type 13, len 16

然后我运行以下命令通过 ssh 连接:

ssh -X mymachine

连接后,服务器上的 .bashrc 会尝试自动启动 tmux(版本 2.6):

# Launch tmux
if command -v tmux>/dev/null; then
    [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux new-session -A -s main
fi

但它立即崩溃,让我的终端显示看起来像这样(这里我输入ls以显示问题,但所有标准输出都会发生这种情况):

输入“clear”然后输入“ls”后

我也看不到我在终端中输入的任何内容 - 也就是说,直到我在命令上按回车键(“盲目”输入)后,它才会更新显示。

当在 ssh 中使用-X-Y标志时,我对 GUI 程序没有任何问题。这是特定于 tmux 终端中的 stdout 渲染的。

经过谷歌搜索后,我发现打字reset带来了“正常”体验,但也杀死了 tmux 服务器。这是输入的结果ls

输入“reset”然后输入“ls”后

当我尝试启动 tmux 时,它再次崩溃,我又回到了原来的问题。

当我使用同一台客户端机器和同一终端连接到其他服务器(运行 Debian 10 和 Ubuntu 20.04、bash 和 tmux 2.8)时,我没有遇到这个问题。

有谁知道我如何解决这个问题?我一整天都在谷歌上搜索但没有成功。

客户端机

  • 操作系统:lubuntu 20.04
  • 航站楼: 圣
  • 外壳:bash
  • 在 tmux 会话中::echo $TERMst-256color
  • 外部 tmux 会话::echo $TERMscreen-256color

服务器机

  • 操作系统:Ubuntu 18.04
  • 终端: gnome 终端
  • 外壳:bash
  • 外部 tmux 会话::echo $TERMst-256color

答案1

我无法使用类似的配置自己重现这一点,但听起来(并从评论中确认)主机上的termcap 和$TERM( ) 可能不匹配。st-256color

我会尝试以下几件事:

  • 首先,看看不同的终端是否会出现同样的问题。在这种情况下,gnome-terminal工作正常。

  • 尝试不同的TERM设置,例如tmux-256colorscreen-256color、 或xterm-256color

  • (在这种情况下什么起作用) export TERM=xterm-256color在连接到主机之前在客户端上。 TERM=xterm256color ssh -X mymachine也应该有效。

相关内容