我用它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 会话。