Comment utiliser les raccourcis clavier Byobu dans une session distante imbriquée?

22

J'utilise Byobu (avec Tmux, à l'intérieur de gnome-terminal) et j'ai un problème avec ses raccourcis clavier (que je n'arrive probablement pas à comprendre).

Je lance byobu, j'ouvre quelques fenêtres puis, depuis l'une de ces fenêtres, je ssh sur une autre machine et j'y lance byobu. Peu importe si j'appuie sur Ctrl- cou Ctrl- a- c, je ne sais pas comment créer et basculer entre les fenêtres dans cette session à distance.

Remarque: si j'entre Shift- F12je peux basculer entre les fenêtres en utilisant les touches de fonction dans la session distante mais cela n'est pas idéal car j'ai également besoin de basculer entre les fenêtres dans la session principale.

Des idées?

Merci d'avance pour votre aide.

tseliot
la source
1
Avoir deux instances tmux est vraiment déroutant: envisagez de l'éviter si vous le pouvez. Cela dit, j'ai répondu à votre question.
Jennifer Wilson

Réponses:

20

Je suppose que vous avez configuré byobu pour l'utiliser Ctrl- Acomme séquence d'échappement de tmux.

Les commandes que vous saisissez dans votre terminal sont d'abord gérées par votre instance tmux locale, puis gérées par la session tmux imbriquée. Cela signifie que vous devez vous échapper deux fois pour accéder à l'instance imbriquée:

  • Ctrl- a c# ouvre une fenêtre dans votre session locale
  • Ctrl- a Ctrl- a c# ouvre une fenêtre dans votre session à distance

Si la deuxième ligne ne fonctionne pas, essayez (comme indiqué par @artm )

  • Ctrl- a a c# seconde sansCtrl
Jennifer Wilson
la source
2
Une autre idée: si vous le faites souvent, remplacez la touche de commande de la machine interne par autre chose, comme peut-être ^ B.
poolie
7
ne fonctionne pas pour moi. Double ctrl-a pour passer à un autre onglet de la session locale de byobu
Gelin Luo
1
@green Je rencontre le même problème, en appuyant deux fois sur Ctrl-a, on change l'onglet dans la session externe.
fermeture de session le
6
il devrait être Ctrl-a a c(deuxième 'a' sans contrôle)
artm
16

J'ai trouvé en utilisant Shift-F12 d'activer / désactiver les raccourcis clavier du byobu externe était un peu plus facile à mémoriser et à utiliser. La seule nouvelle clé à retenir est Shift-F12, puis le byobu intérieur peut être contrôlé avec les raccourcis clavier normaux.

J'ai trouvé cette solution ici .

mp3foley
la source
1
Ceci est également utile pour pouvoir envoyer des touches F à une application exécutée à l'intérieur de byobu. Comme également noté dans: askubuntu.com/questions/146585/…
mp3foley
2

Ctrl-a Ctrl-an'a pas fonctionné pour moi non plus. J'ai trouvé que cela fonctionnait après avoir commenté la ligne suivante dans .byobu/keybindings.tmux:

unbind-key -n C-a

Une autre solution consiste à utiliser la send-keycommande interne Tmux :

  • sélectionnez le volet ou la fenêtre où s'exécute la session imbriquée
  • appuyez sur Ctrl+ a :entrée send-key -2puis sur la commande ou la touche que vous souhaitez envoyer

Exemples:

  • Ctrl+ a : send-key -2 c= créer une nouvelle fenêtre
  • Ctrl+ a : send-key -2 p= passer à la fenêtre précédente
  • Ctrl+ a : send-key -2 n= passer à la fenêtre suivante

Pas très intuitif, mais fonctionne même avec Putty.

LiveWireBT
la source
Merci pour cela! J'ai pu définir mon préfixe byobu local sur Cb et mon préfixe byobu distant sur Ca en modifiant ~ / .byobu / keybindings.tmux. Essayer de définir cela dans ~ / .byobu / .tmux.conf n'a pas fonctionné pour une raison quelconque.
Marc Laugharn