tmux plusieurs instances de la même session

6

J'ai récemment converti gnu-screen en tmux. Je me bats avec 1 chose.

Mon flux de travail est quelque chose comme ça. Je crée une session pour chaque "tâche" que je fais à tout moment. De cette façon, je peux travailler sur n'importe laquelle des N tâches que je fais en attachant à cette session.

Ce que j'ai pu faire avec screen et ne pas pouvoir faire avec tmux, c'est ce qui suit: avoir plusieurs instances de la même session ouvertes / attachées dans différentes fenêtres et y travailler en même temps. Par exemple, si je modifie 3 fichiers différents, je peux les ouvrir dans les volets 1, 2 et 3 de la même session et avoir chaque instance de la même session avec ces 3 fichiers ouverts devant moi.

Je ne suis pas parvenu à convaincre tmux de me laisser faire cela. Chaque fois que j'attache à une session attachée existante dans tmux, cela réplique les actions que je fais de n'importe quelle session sur l'autre.

J'espère que j'ai bien expliqué cela. Si non, s'il vous plaît faites le moi savoir.

hari
la source

Réponses:

5

Je pense que vous demandez essentiellement comment faire screen -xdans tmux? Voici un exemple:

# Start a new tmux session (with default session name "0").
tmux

# Start another tmux session (default name "1"), sharing windows with "0".
tmux new-session -t 0

# Start yet another tmux session (default name "2"), sharing windows with "0" (and "1").
tmux new-session -t 0

# Now you can attach to sessions with tmux attach-session -t <0|1|2>.
# Or you can omit the -t, and I think it attaches to one that isn't attached to yet.
# I don't know the exact rules for how it decides which free session to choose.

Si vous n'aimez pas les noms numériques par défaut lors de la création d'une nouvelle session, vous pouvez le -s other_namenommer autrement.

jjlin
la source
0

Pour obtenir ce que vous décrivez, vous pouvez vous contenter de disposer de différentes dispositions dans tmux ( C-b+ c), que vous divisez ensuite avec ( C-b+) %et "vous pouvez simplement avoir tout ce que vous voulez pour une tâche dans un volet, puis changer de contexte à l'aide de C-b+ n (ext) ou p (revious) ou en utilisant des nombres. Aussi C-bz (oom) est ton ami.

Fait intéressant, tmux et screen diffèrent dans la façon dont ils gèrent plusieurs vues de la même session

  • dans tmux, les deux vues voient exactement la même chose (ce qui vous permet de programmer par paire à distance)
  • à l'écran, vous pouvez regarder différents terminaux dans différentes vues (ce qui vous permet de partager des choses, mais de travailler de manière indépendante ... ce qui est peut-être utile pour utiliser plusieurs moniteurs pour travailler sur la même ligne de commande, je n'ai tout simplement pas compris exactement comment! )
JonnyRaa
la source