web-dev-qa-db-fra.com

Comment utiliser les liaisons de clé Byobu dans une session distante imbriquée?

J'utilise Byobu (avec Tmux, à l'intérieur de gnome-terminal) et j'ai un problème avec ses associations de touches (que je ne comprends probablement pas).

Je lance byobu, ouvre quelques fenêtres puis, depuis l'une de ces fenêtres, je ssh sur une autre machine et lance byobu. Peu importe si je presse Ctrl-c ou Ctrl-a-cJe ne suis pas sûr de savoir comment créer et basculer d’une fenêtre à l’autre dans cette session à distance.

Note: si j'entre Shift-F12 Je peux passer d’une fenêtre à l’autre à l’aide des touches de fonction de la session distante, mais c’est loin d’être idéal car je dois également basculer d’une fenêtre à l’autre dans la session principale.

Des idées?

Merci d'avance pour votre aide.

19
tseliot

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

Les commandes que vous tapez dans votre terminal sont d’abord traitées par votre instance tmux locale, puis par la session imbriquée tmux. Cela signifie que vous devez vous échapper deux fois pour aller à l'instance imbriquée:

  • Ctrl-ac # ouvre une fenêtre dans votre session locale
  • Ctrl-aCtrl-ac # ouvre une fenêtre dans votre session distante

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

  • Ctrl-aac # seconde a sans Ctrl
16
Jennifer Wilson

J'ai trouvé en utilisant Shift-F12 Activer/désactiver les raccourcis clavier du byobu extérieur est un peu plus facile à mémoriser et à utiliser. La seule nouvelle clé à retenir est Shift-F12, puis le byobu interne peut être contrôlé avec les liaisons de clé F normales.

Trouvé cette solution ici .

16
mp3foley

Ctrl-a Ctrl-a n'a pas non plus fonctionné pour moi. 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 commande interne Tmux send-key:

  • sélectionnez le volet ou la fenêtre où la session imbriquée est exécutée
  • presse Ctrl+a: entrez send-key -2 puis la commande ou la clé 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.

2
LiveWireBT