我有一个非常简单的 tmux 会话,运行着两个打开的窗口;其中之一用于本地黑客攻击,其中之一用于工作。
我想做的就是简单地连接到黑客窗口,同时在另一个终端中保持工作窗口打开。但是,一旦我连接到 tmux,所有命令都会发送到两个窗口,因此如果我切换到另一个窗口,同样的事情会在另一个终端中发生,反之亦然。
有没有办法让我简单地分别连接到每个窗口?
答案1
两个客户端同时切换窗口的原因是因为它们都连接到同一个会话(“当前窗口”是会话的属性,而不是客户端的属性)。您可以做的是将一个或多个窗口链接到多个不同的会话。由于每个会话都有自己的“当前窗口”,因此您可以在每个会话中独立切换窗口。
使用此功能的最简单方法是使用new-session
命令的“分组会话”功能:
$ tmux new-session -t 'original session name or number'
要查看当前可用的会话:
$ tmux list-sessions
组中的每个会话将自动共享同一组窗口:打开/链接(或关闭/取消链接)组中一个会话中的窗口会自动导致同一窗口在该组的所有其他会话中链接(或取消链接)。团体。
当您完成“额外”会话后,您可以使用 终止它kill-session
。窗口本身不会被杀死,除非您的会话是它们唯一链接的会话。或者,您可以像平常一样断开“额外”会话(前缀d
或detach-client
);如果您确实保留“额外”会话(通过简单地从中分离),您可能需要给它一个描述性名称(Prefix$
或rename-session
),以便您轻松识别它并稍后重新连接到它(您可能还想给它一个描述性名称) “原始”会话也是一个名称)。
如果您不想自动共享一组动态窗口,则可以使用link-window
(和unlink-window
)将各个窗口带入(或带出)您自己的“个人”会话;这提供了对“分组会话”所基于的相同核心功能(链接到多个会话的窗口)的非自动和较低级别的访问。