向 tmux 发送命令 在 tmux 中运行

向 tmux 发送命令 在 tmux 中运行

我用它tmux来管理我的 Windows 等,其中一件事是通过 SSH 连接到远程服务器并连接到在那里运行的 tmux 会话。但是,到达那里后,我无法将 Cb 发送到该 tmux 会话(在我原来的本地 tmux 中以 ssh 运行的会话)。

有没有解决的办法?

答案1

按一次Ctrl-b表示本地tmux,再按一次表示远程,然后按一下表示要在远程会话中使用的命令的键。

答案2

如果你还没有映射Ctrl++b Ctrlb

如果您尚未将Ctrl+ b Ctrl+映射b到 last-window 以模拟屏幕的行为(这非常流行),那么您可以将其用作内部 tmux 会话的前缀。因此,要向内部会话发出命令,您可以使用Ctrl+ b Ctrl+b 命令

上述答案假设您的前缀键在两台机器上仍然是Ctrl+ 。b

如果你已经映射了Ctrl++b Ctrlb

如果您已映射Ctrl+ b Ctrl+ b,则需要使用 tmux 的:send-prefix命令。许多人将其映射到Ctrl+b b以模拟屏幕的默认行为。您可以将其添加到 .tmux.conf 以永久添加此绑定:
bind b send-prefix

Ctrl然后您可以使用+向内部会话发出命令b b 命令
(或者不使用Ctrl+进行绑定b :send-prefix 命令

上述答案假设您的前缀键在外部会话中仍然是Ctrl+ 。b

答案3

简而言之,您可以在 tmux.conf 中添加以下行来控制“tmux inside tmux”。此行定义了 CTRL+A“远程”会话的绑定键。

bind-key -n C-a send-prefix

C-a可以通过任何其他自由键来更改快捷方式。

然后您可以使用CTRL+B它来控制您的 tmux 会话级别 1(默认)并 CTRL+A控制第二个 tmux 会话。

相关内容