如何在嵌套的远程会话中使用 Byobu 键绑定?

如何在嵌套的远程会话中使用 Byobu 键绑定?

我正在使用 Byobu(与 Tmux 一起使用,在 gnome-terminal 内部),但它的键绑定有点问题(我可能无法理解)。

我启动 byobu,打开几个窗口,然后从其中一个窗口,我 ssh 到另一台机器并在那里启动 byobu。无论我按Ctrl-c还是Ctrl- a- c,我都不确定如何在这个远程会话中创建和切换窗口。

注意:如果我输入Shift-F12我可以使用远程会话中的功能键在窗口之间切换,但这并不理想,因为我还需要在主会话中在窗口之间切换。

有任何想法吗?

在此先感谢您的帮助。

答案1

我发现使用 来Shift-F12打开/关闭外部 byobu 的按键绑定更容易记住和使用。唯一需要记住的新键是Shift-F12,然后可以使用常规 F 键绑定来控制内部 byobu。

找到解决方案这里

同样有用的是Shift-F12在 byobu 内部帮助的键绑定列表中列出的,可以通过Shift-F1菜单F1的“帮助 - 快速入门指南”访问。

答案2

我假设您已将 byobu 配置为使用Ctrl-A作为 tmux 的转义序列。

您在终端中输入的命令首先由本地 tmux 实例处理,然后由嵌套的 tmux 会话处理。这意味着您需要退出两次才能转到嵌套实例:

  • Ctrl- a c#在本地会话中打开一个窗口
  • Ctrl- a Ctrl- a c# 在远程会话中打开一个窗口

如果第二行不起作用,请尝试(如@artm 指出

  • Ctrl- a a c# 第二个没有Ctrl

答案3

Ctrl-a Ctrl-a对我来说也没有用。我发现在注释掉下面这行之后,它就起作用了.byobu/keybindings.tmux

unbind-key -n C-a

另一个解决方法是使用内部 Tmuxsend-key命令:

  • 选择嵌套会话运行的窗格或窗口
  • Ctrl+ a :Enter send-key -2,然后输入要发送的命令或键

例子:

  • Ctrl+ a : send-key -2 c= 创建新窗口
  • Ctrl+ a : send-key -2 p= 切换到上一个窗口
  • Ctrl+ a : send-key -2 n= 切换到下一个窗口

不是很直观,但即使使用 Putty 也可以工作。

相关内容