通过本地 tmux 会话在 ssh 上使用 tmux 命令
Using tmux commands on ssh through a local tmux session
我有一个本地 tmux 会话,我可以正常进行所有操作。现在我通过 ssh 连接到一台远程机器并在那里生成一个 tmux 会话。在远程会话中,我想使用所有工具,如打开一个新的 window、重命名一个 window、浏览会话-window 树等。问题是每当我使用任何这样的命令,它应用于本地会话而不是远程会话!例如,ctrl
+ b
+ ,
更改远程上的 window 名称,尝试重命名当前本地 tmux window 我通过它进行 ssh-编辑。即使我在远程 bash 中有一个闪烁的光标也是如此。我如何告诉 tmux 该命令将在远程机器上执行,而不是在本地机器上执行?
您必须在 .tmux.conf
中设置以下部分:
bind-key b send-prefix
现在您可以按 ctrl-b + b + ,
更改内部会话 window 名称。由于默认情况下所有命令都进入最外层会话,因此您必须使用绑定密钥来访问您的内部会话。
ctrl-b + b + , # changes name of inner session (remote)
ctrl-b + , # changes name of outer session (local)
我假设 ctrl-b
是您的默认前缀键。 ctrl-b
,我的意思是 ctrl + b
。
ctrl-b + b + ,
表示你必须按ctrl
,按两次b
然后再按,
。
您可以进一步使用 bind-key <key> send-keys <key1 key2>
绑定一个密钥,将多个密钥一起发送并访问远程实例中的 windows。您可以参考此answer or this answer了解更多信息。
我有一个本地 tmux 会话,我可以正常进行所有操作。现在我通过 ssh 连接到一台远程机器并在那里生成一个 tmux 会话。在远程会话中,我想使用所有工具,如打开一个新的 window、重命名一个 window、浏览会话-window 树等。问题是每当我使用任何这样的命令,它应用于本地会话而不是远程会话!例如,ctrl
+ b
+ ,
更改远程上的 window 名称,尝试重命名当前本地 tmux window 我通过它进行 ssh-编辑。即使我在远程 bash 中有一个闪烁的光标也是如此。我如何告诉 tmux 该命令将在远程机器上执行,而不是在本地机器上执行?
您必须在 .tmux.conf
中设置以下部分:
bind-key b send-prefix
现在您可以按 ctrl-b + b + ,
更改内部会话 window 名称。由于默认情况下所有命令都进入最外层会话,因此您必须使用绑定密钥来访问您的内部会话。
ctrl-b + b + , # changes name of inner session (remote)
ctrl-b + , # changes name of outer session (local)
我假设 ctrl-b
是您的默认前缀键。 ctrl-b
,我的意思是 ctrl + b
。 ctrl-b + b + ,
表示你必须按ctrl
,按两次b
然后再按,
。
您可以进一步使用 bind-key <key> send-keys <key1 key2>
绑定一个密钥,将多个密钥一起发送并访问远程实例中的 windows。您可以参考此answer or this answer了解更多信息。