如果我使用tmux a命令连接到 tmux 会话,我最终会与朋友共享该会话,并且我们无法处理自己的事情(因为我们必须在不同的窗口中工作)。另一方面,如果我与 连接tmux a -d,我朋友的会话将分离,他(或者更确切地说,我们中的一个人)无法在服务器上工作。
我知道此功能可能与 tmux 的“目标”背道而驰,但我想我仍然应该问一下。无论如何,我和我的朋友可以在服务器上使用相同的 tmux 会话并同时在不同的窗口中工作吗?
Chr*_*sen 12
相反,连接到会话,你可以通过为创建一个“分组会议”-t到new-session:
tmux new-session -t 'original session name or number'
Run Code Online (Sandbox Code Playgroud)
分组的会话始终具有相同的窗口(新(关闭的)窗口链接到(从)组中的所有会话中删除),但它们每个都有自己的会话选项,包括当前和以前的窗口值。
如果您和您的朋友都在属于同一组的会话中工作,那么您可以在不同的窗口中工作,但仍然可以轻松访问同一组窗口,甚至可以在同一窗口中工作(如果是合适的)。
创建初始会话:
tmux # start initial session, lets say it gets the name '3'
Run Code Online (Sandbox Code Playgroud)
为了明确谁应该使用每个会话,您可能需要为每个会话指定一个助记符名称。我将使用his和mine以下,但您可能希望使用基于您的真实姓名、昵称、登录名或其他具有相同身份的内容。
将此原始会话重命名为his并(在原始会话之外)创建一个名为 的分组会话mine:
tmux rename-session -t 3 his
tmux new-session -d -t his -s mine # leave off -d to attach right away
Run Code Online (Sandbox Code Playgroud)
当您想附加到“会话”的克隆时:
tmux attach-sesssion -t mine
Run Code Online (Sandbox Code Playgroud)
当您的朋友想要附加到他的“会话”克隆时:
tmux attach-session -t his
Run Code Online (Sandbox Code Playgroud)
您可以kill-session进行会话,另一个将生存。您必须先杀死一组中的所有会话,然后才能强制关闭它们的窗口。
如果您正在编写tmux命令的脚本,最好使用完整的命令名称(如上所述)以避免歧义并有助于“自我文档化”。如果您正在输入它们,您可以使用缩写:
new-session: new, 或new-s, new-se, new-ses, ...rename-session: rename, 或rename-s, rename-se, rename-ses, ...attach-session: a, at, ..., attach, attach-, attach-s, ...kill-session: kill-ses, kill-sess, ...| 归档时间: |
|
| 查看次数: |
4612 次 |
| 最近记录: |