You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在不同tmux会话间共享单个窗格?

在两个tmux会话间共享单个窗格的方法

当然可以实现这个需求!tmux内置了专门的机制,能让同一个窗格同时出现在多个会话中,完美匹配你描述的场景——让测试输出在一个会话持续显示,同时在另一个桌面会话里随时对这个窗格进行输入操作。

下面是具体的操作步骤:

步骤1:创建带共享窗格的初始会话

先打开一个终端,创建并进入第一个会话(比如命名为monitor,用来专门显示测试输出):

tmux new-session -s monitor

在这个会话里,打开你需要共享的窗格(比如运行你的测试命令,让它持续输出内容)。

步骤2:创建/进入第二个会话

打开另一个终端窗口,创建或者进入你的桌面大会话(比如命名为main):

tmux new-session -s main

步骤3:将共享窗格接入第二个会话

首先你需要获取monitor会话中目标窗格的标识符:

  • monitor会话里,按下Ctrl+b + q,tmux会短暂显示每个窗格的编号(比如0),对应的标识符就是%0
  • 或者在任意终端执行命令查看:
tmux list-panes -t monitor

输出会类似0: [80x24] [history 0/1000, 0 bytes] %0,其中%0就是你要的窗格标识符。

接下来回到main会话,执行命令把目标窗格加进来:

tmux join-pane -t monitor:%0

执行后,你就能在main会话里看到那个共享的窗格了,而且两个会话里的这个窗格是完全同步的——在main里输入内容,monitor里会实时显示;monitor里的输出,main里也能看到。

进阶:设置快捷键快速接入

如果你需要频繁切换接入这个窗格,可以修改~/.tmux.conf配置文件,添加一个自定义快捷键:

bind-key j join-pane -t monitor:%0

保存配置后,在tmux会话里按下Ctrl+b + :,输入source ~/.tmux.conf加载配置。之后你在main会话里按下Ctrl+b + j,就能一键把共享窗格接入进来,非常方便。

内容的提问来源于stack exchange,提问作者Miles

火山引擎 最新活动