
Я использую Byobu (с Tmux, внутри gnome-terminal) и у меня возникла проблема с его сочетаниями клавиш (которую я, вероятно, не понимаю).
Я запускаю byobu, открываю несколько окон, затем из одного из этих окон я подключаюсь по ssh к другой машине и запускаю byobu там. Независимо от того, нажимаю ли я Ctrl- cили Ctrl- a- c, я не уверен, как создавать и переключаться между окнами в этом удаленном сеансе.
Примечание: если я войду Shift, F12я смогу переключаться между окнами с помощью функциональных клавиш в удаленном сеансе, но это не идеально, так как мне также нужно переключаться между окнами в основном сеансе.
Есть идеи?
Заранее спасибо за вашу помощь.
решение1
Я обнаружил, что использование Shift-F12для включения/выключения внешних сочетаний клавиш byobu немного проще для запоминания и использования. Единственная новая клавиша, которую нужно запомнить, это Shift-F12, а затем внутренним byobu можно управлять с помощью обычных сочетаний клавиш F-.
Нашел это решениездесь.
Также полезно то, что он Shift-F12указан в списке сочетаний клавиш внутренней справки byobu, доступ к которому можно получить через Shift-F1меню F1«Справка - Краткое руководство».
решение2
Я предполагаю, что вы настроили byobu на использование Ctrl- Aв качестве escape-последовательности tmux.
Команды, которые вы вводите в терминале, сначала обрабатываются вашим локальным экземпляром tmux, а затем вложенным сеансом tmux. Это означает, что вам нужно дважды выполнить escape, чтобы перейти к вложенному экземпляру:
- 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
Другим решением может стать использование внутренней 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.