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


22

我正在使用Byobu(在gnome-terminal内部带有Tmux),并且其键绑定有问题(我可能无法理解)。

我启动byobu,然后打开几个窗口,然后从其中一个窗口将ssh切换到另一台计算机,然后在其中启动byobu。无论如果我按Ctrl- cCtrl- - ac我不知道如何创建和在此远程会话窗口之间切换。

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

有任何想法吗?

在此先感谢您的帮助。


1
拥有两个tmux实例确实令人困惑:请尽可能避免使用它。也就是说,我确实回答了您的问题。
珍妮佛·威尔逊

Answers:


20

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

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

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

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

  • Ctrl- a a c#秒一个没有Ctrl

2
另一个想法:如果经常执行此操作,请将内部计算机的命令键更改为其他名称,例如^ B。
poolie

7
对我不起作用。双ctrl-a切换到本地byobu会话的另一个选项卡
Gelin Luo

1
@green我遇到了同样的问题,按两次Ctrl-a会更改外部会话中的选项卡。
注销

6
它应该是Ctrl-a a c
不受控制的

16

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

在这里找到了解决方案。


1
这对于将F键发送到byobu内部运行的应用程序也很有用。如还指出:askubuntu.com/questions/146585/...
mp3foley

2

Ctrl-a Ctrl-a也没有为我工作。在评论以下行后,我发现它起作用.byobu/keybindings.tmux

unbind-key -n C-a

另一个解决方法是使用内部Tmux send-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=切换到下一个窗口

不是很直观,但是即使使用腻子也可以。


谢谢你!我可以通过更改〜/ .byobu / keybindings.tmux将本地byobu前缀设置为Cb,将远程byobu前缀设置为Ca。出于某种原因,尝试在〜/ .byobu / .tmux.conf中进行设置没有任何效果。
Marc Laugharn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.