Jak używać skrótów klawiszowych Byobu w zagnieżdżonej sesji zdalnej?

22

Używam Byobu (z Tmux, wewnątrz gnome-terminal) i mam problem z powiązaniami klawiszy (których prawdopodobnie nie rozumiem).

Uruchamiam byobu, otwieram kilka okien, następnie z jednego z tych okien ssh na inną maszynę i tam uruchamiam byobu. Bez względu na to, czy naciskam Ctrl- club Ctrl- a- c, nie jestem pewien, jak utworzyć i przełączać się między oknami w tej zdalnej sesji.

Uwaga: jeśli wejdę Shift- F12mogę przełączać się między oknami za pomocą klawiszy funkcyjnych w sesji zdalnej, ale jest to mniej niż idealne, ponieważ muszę także przełączać się między oknami w sesji głównej.

Jakieś pomysły?

Z góry dziękuje za twoją pomoc.

tseliot
źródło
1
Posiadanie dwóch instancji tmux jest naprawdę mylące: jeśli możesz, rozważ unikanie tego. To powiedziawszy, odpowiedziałem na twoje pytanie.
Jennifer Wilson

Odpowiedzi:

20

Zakładam, że skonfigurowałeś byobu do użycia Ctrl- Ajako sekwencji ucieczki tmux.

Polecenia wpisywane w terminalu są najpierw obsługiwane przez lokalną instancję tmux, a następnie przez zagnieżdżoną sesję tmux. Oznacza to, że musisz dwa razy uciec, aby przejść do zagnieżdżonej instancji:

  • Ctrl- a c# otwiera okno w lokalnej sesji
  • Ctrl- a Ctrl- a c# otwiera okno w zdalnej sesji

Jeśli druga linia nie działa, spróbuj (jak wskazał @artm )

  • Ctrl- a a c# sekunda bezCtrl
Jennifer Wilson
źródło
2
Jeden dodatkowy pomysł: jeśli często to robisz, zmień klawisz polecenia dla wewnętrznej maszyny na coś innego, na przykład ^ B.
poolie
7
nie działa dla mnie Podwójne ctrl-a przejście do innej zakładki lokalnej sesji byobu
Gelin Luo
1
@green Wystąpił ten sam problem, dwukrotne naciśnięcie Ctrl-a zmienia zakładkę w sesji zewnętrznej.
wyloguj się
6
powinno być Ctrl-a a c(drugie „a” bez kontroli)
artm
16

Odkryłem, że używanie Shift-F12włączania / wyłączania skrótów klawiszowych zewnętrznego byobu jest nieco łatwiejsze do zapamiętania i użycia. Jedynym nowym kluczem do zapamiętania jest Shift-F12, a następnie wewnętrznym byobu można sterować za pomocą normalnych skrótów klawiszowych F.

Znalazłem to rozwiązanie tutaj .

mp3foley
źródło
1
Jest to również przydatne, gdy można wysyłać klawisze funkcyjne do aplikacji działającej wewnątrz byobu. Jak wspomniano również w: askubuntu.com/questions/146585/…
mp3foley
2

Ctrl-a Ctrl-ateż nie działało dla mnie. Stwierdziłem, że zadziałało po skomentowaniu następującego wiersza w .byobu/keybindings.tmux:

unbind-key -n C-a

Innym obejściem byłoby użycie wewnętrznego send-keypolecenia Tmux :

  • wybierz panel lub okno, w którym działa sesja zagnieżdżona
  • naciśnij Ctrl+ a :enter, send-key -2a następnie polecenie lub klawisz, który chcesz wysłać

Przykłady:

  • Ctrl+ a : send-key -2 c= utwórz nowe okno
  • Ctrl+ a : send-key -2 p= przejście do poprzedniego okna
  • Ctrl+ a : send-key -2 n= przejście do następnego okna

Niezbyt intuicyjny, ale działa nawet z Putty.

LiveWireBT
źródło
Dzięki za to! Byłem w stanie ustawić mój lokalny prefiks byobu na Cb i mój zdalny prefiks byobu na Ca, zmieniając ~ / .byobu / keybindings.tmux. Próba ustawienia tego w ~ / .byobu / .tmux.conf nie działała z jakiegoś powodu.
Marc Laugharn