共享现有的 tmux 会话

wis*_*iso 5 tmux

我有一个 tmux 会话已经在运行。我只是用

tmux
Run Code Online (Sandbox Code Playgroud)

现在我可以离开会话并重新进入

tmux a -t 0
Run Code Online (Sandbox Code Playgroud)

如何与其他用户共享此会话?通常必须创建带有-S选项的会话,但我没有。有没有办法分享我的会话?

cuo*_*glm 5

您可以使用tmux分组会话。

首先,创建初始会话,将其名称更改为share

$ tmux
$ tmux list-session
0: 1 windows (created Wed Aug 27 00:14:05 2014) [80x23] (attached)   
$ tmux rename-session -t 0 share 
$ tmux list-session
share: 1 windows (created Wed Aug 27 00:14:05 2014) [80x23] (attached)
Run Code Online (Sandbox Code Playgroud)

然后,从其他客户端,您只需将-t选项和分组会话名称(在本例中为share)添加到tmux new-session命令:

$ tmux new-session -t share -s cuonglm
Run Code Online (Sandbox Code Playgroud)

-s选项设置会话名称。如果其他用户,即 wiso,想要附加分组会话,他只需执行以下操作:

$ tmux new-session -t share -s wiso
Run Code Online (Sandbox Code Playgroud)

来自man tmux

如果给出 -t,则新会话将与目标会话分组。这意味着它们共享同一组窗口 - 来自目标会话的所有窗口都链接到新会话,并且任何后续的新窗口或正在关闭的窗口都应用于这两个会话。当前和上一个窗口以及任何会话选项保持独立,并且可以终止任一会话而不会影响另一个会话。如果使用 -t,则给出 -n 或 shell-command 无效。