utilisant plusieurs terminaux x-windows avec une session tmux

Je travaille habituellement avec 2 moniteurs qui ne sont pas tout à fait alignés verticalement (j'ai une alimentation de paillasse sous mon moniteur gauche), mais je veux avoir 4 windows latérales côte à côte sur mes écrans que je peux faire défiler facilement, comme ceci:

entrer la description de l'image ici

Cet arrangement me rend très sortingste parce que je ne peux pas facilement parcourir tous les 4 d'une manière saine en utilisant seulement mon keyboard (alt-tab ne le coupe pas pour moi car il ne garde pas la command des 4 windows si J'appuie plusieurs fois sur alt-tab, il rebondit juste entre mes 2 windows les less récemment utilisées)

Existe-t-il un moyen d'get tmux pour générer une seconde window x afin que je puisse avoir 2 x-windows, avec chacun 2 windows tmux à l'intérieur?

tmux vous permet de créer des "groupes de session" – plusieurs sessions pouvant toutes être attachées au même set de windows.

(Merci à https://gist.github.com/chakrit/5004006 🙂

Dans le terminal de gauche, créez une nouvelle session + groupe de windows.

 tmux new-session -s left 

Divisez-le en panneaux comme d'habitude.

 :split-window -v 

Dans l'autre terminal (à droite), connectez-vous au groupe de windows existant. Vous allez devoir lui donner l'ancien nom à se connecter, et son propre nom de session pour le distinguer.

 tmux new-session -t left -s right 

Dans cette session, créez une autre window et partagez

 :new-window :split-window -h 

Vous pouvez maintenant voir toutes les windows ( tmux ) dans chaque window (terminal), mais la vue dans chacune est indépendante de l'autre.

Pour passer de l'un à l'autre (sans utiliser les raccourcis de votre gestionnaire de windows), vous pouvez utiliser par exemple. xdotool .

 xdotool search --name 'left:0:' windowactivate xdotool search --name 'right:1:' windowactivate 

Ceux-ci supposent que vous avez activé l' tmux set-titles tmux , afin de donner au terminal un nom interrogeable; et que vous n'utilisez qu'une window tmux (set de windows) dans chaque window.

Ne pouvez-vous pas utiliser la méthode low-tech pour resize un terminal (en faisant glisser les bords) pour couvrir les deux moniteurs, de sorte que le diviseur central se trouve à la limite des deux moniteurs?

Vous souhaiterez démarrer une session tmux distincte dans chaque terminal, puis split la window tmux chaque session en deux windows verticalement.

Donc, dans chaque terminal:

 $ tmux new-session \; split-window -h 

Ou plus court, dans chaque terminal:

 $ tmux new \; splitw -h 

Vous avez besoin de deux sessions, car avec une session, les deux terminaux seront toujours synchronisés et afficheront la même window tmux .

Utilisez ensuite les raccourcis de votre bureau pour permuter entre les deux terminaux.

Personnellement, je serais parti avec un seul moniteur, une session tmux et deux (ou plusieurs) windows tmux "derrière" l'une de l'autre, et les échanger avec Ctrl bn , mais c'est une question de goût.

 $ tmux new \; splitw -h \; neww \; splitw -h