Как использовать сочетания клавиш Byobu во вложенном удаленном сеансе?

22

Я использую Byobu (с Tmux, внутри gnome-терминала), и у меня проблема с привязками клавиш (которые я, вероятно, не понимаю).

Я запускаю byobu, открываю несколько окон, затем из одного из этих окон запускаю ssh на другую машину и запускаю там byobu. Независимо от того , если нажать Ctrl- cили Ctrl- a- cя не знаю , как создавать и переключаться между окнами в этой удаленной сессии.

Примечание: если я вхожу Shift- F12я могу переключаться между окнами, используя функциональные клавиши в удаленном сеансе, но это не идеально, так как мне также нужно переключаться между окнами в основном сеансе.

Любые идеи?

Заранее спасибо за вашу помощь.

tseliot
источник
1
Наличие двух экземпляров tmux действительно сбивает с толку: по возможности избегайте его. Тем не менее, я ответил на ваш вопрос.
Дженнифер Уилсон

Ответы:

20

Я предполагаю, что вы настроили byobu для использования Ctrl- в Aкачестве escape-последовательности tmux.

Команды, которые вы вводите в своем терминале, сначала обрабатываются вашим локальным экземпляром tmux, а затем обрабатываются вложенным сеансом tmux. Это означает, что вам нужно дважды убежать, чтобы перейти к вложенному экземпляру:

  • Ctrl- a c# открывает окно в вашем локальном сеансе
  • Ctrl- a Ctrl- a c# открывает окно в вашем удаленном сеансе

Если вторая строка не работает, попробуйте (как указано @artm )

  • Ctrl- a a c№ второй безCtrl
Дженнифер Уилсон
источник
2
Еще одна идея: если вы делаете это часто, замените командную клавишу для внутренней машины на что-то другое, например, возможно, ^ B.
пул
7
не работает для меня Двойное ctrl-a переключение на другую вкладку локальной сессии по бёбу
Гелин Ло
1
@green У меня возникла та же проблема, при двойном нажатии клавиши Ctrl-a изменяется вкладка во внешнем сеансе.
выход
6
это должно быть Ctrl-a a c(второе «а» без контроля)
artm
16

Я обнаружил, что использование Shift-F12для включения / выключения внешних сочетаний клавиш byobu немного легче запомнить и использовать. Единственный новый ключ, который нужно запомнить, - Shift-F12и тогда внутренняя бёбу может управляться с помощью обычных F-сочетаний клавиш.

Нашел это решение здесь .

mp3foley
источник
1
Это также полезно для возможности отправки F-клавиш в приложение, работающее внутри byobu. Как также отмечено в: askubuntu.com/questions/146585/…
mp3foley
2

Ctrl-a Ctrl-aтакже не работал для меня. Я обнаружил, что это работает после комментирования следующей строки в .byobu/keybindings.tmux:

unbind-key -n C-a

Другим обходным решением будет использование внутренней send-keyкоманды Tmux :

  • выберите панель или окно, в котором выполняется вложенный сеанс
  • нажмите Ctrl+ a :введите send-key -2и затем команду или ключ, который вы хотите отправить

Примеры:

  • Ctrl+ a : send-key -2 c= создать новое окно
  • Ctrl+ a : send-key -2 p= переключиться на предыдущее окно
  • Ctrl+ a : send-key -2 n= переключиться на следующее окно

Не очень интуитивно понятно, но работает даже с Putty.

LiveWireBT
источник
Спасибо за это! Я смог установить свой локальный префикс byobu в Cb, а мой удаленный префикс byobu в Ca, изменив ~ / .byobu / keybindings.tmux. Попытка установить это в ~ / .byobu / .tmux.conf по какой-то причине не сработала.
Марк Laugharn