tmux 强制调整窗口大小

tmux 强制调整窗口大小

我通常从特定的 Windows 服务器 (W1) 连接到远程 Linux 服务器。在 Windows 端,我使用putty,在 Linux 端,我启动tmux.

有时,我必须使用不同的 Windows 服务器 (W2) 并连接到相同的tmux会话。

问题:如果我在 W1 上设置了窗口大小putty,那么我在 W2 上就不能超过这个大小。当我最大化putty窗口时,多余的空间无法使用,充满了~字符。

有没有办法“强制”调整 W2 的大小,即使这意味着 W1 将仅显示部分输出?或者让 W1 与tmux会话断开连接的方法?

答案1

使用tmux list-client,您可以列出连接到 tmux 会话的所有客户端。例如:

$ tmux list-client
/dev/pts/6: 0 [25x80 xterm] (utf8)
/dev/pts/8: 0 [25x80 xterm] (utf8)

此时,您可以选择分离指定的客户端,或指定会话的所有客户端。假设我想分离连接到会话 0 的每个人:

$ tmux detach-client -s 0

然后,您可以附加会话,这样大小就是您的了。

实际上,所有这些都可以完成tmux attach -d(该-d选项强制所有其他客户端分离)。

答案2

无需分离其他会话。使用

<c-b>:resize-window -A

将窗口扩大到最大的连接会话。

resize-window( )的其他有用参数resizew包括:

  • -a:调整为最小会话大小。
  • -U-D-L-R:分别向上、向下、向左或向右调整。后面可以跟一个数字,确定增长 (-D-R) 或收缩 (-U和)的程度-L
  • -x <width>和/或-y <height>将宽度和高度设置为给定值。

答案3

如果您已经在 tmux 中,那么您可以使用 分离所有其他连接:detach-client -a。它只会离开您当前的会话。因此,您不会有多余的空间无法使用,充满~字符。

答案4

如果您使用xterm,那么您可以tmux通过以下方式手动调整 W2 上的窗口大小:

  1. tmux从 W1 和 W2 的会话中分离,
  2. resize在 W2 上的终端中输入并运行它,
  3. 返回到您的会话,窗口大小应该会调整。

(假设您没有启用自动调整窗口大小tmux。)

相关内容