A court de faire cela , est-il possible de déplacer une commande en cours d'exécution dans un volet vers une autre session tmux?
Oui, c'est assez simple, utilisez la commande move-pane
tmux. Pour plus d'informations courir
man tmux | less -I '+/mOVE-pane'
La partie délicate consiste simplement à savoir comment tmux référence les sessions, les fenêtres et les volets dans les commandes pour manipuler les volets, etc.
Déplacez-vous dans le volet que vous souhaitez déplacer vers l'autre session
Obtenez le nom de la session cible en exécutant <prefix>s
.
Sur mon système qui produit:
(0) + 0: 8 windows (attached)
(1) + 1: 1 windows
^
|
This is the session name. It could be different
on your system and it could be a Word (not just a number).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
Donc, sur mon système, je suis passé dans le volet avec le processus en cours, a couru
<prefix>:move-pane -t 1:1
et le volet contenant le processus qu'il a déplacé est passé à la première fenêtre de la session 1
.
Il est inséré en tant que scission, vous voudrez donc généralement exécuter la fenêtre sur l’autre session en tant que fenêtre jetable.
Remarque: il semble que la fenêtre cible doive exister, sinon la commande move-pane
générera une erreur.
Pour plus d'informations sur le format de spécification des sessions, des fenêtres et des volets dans une commande tmux, reportez-vous à la section COMMANDS
dans man tmux
.
Je ne peux pas commenter, je vais donc la placer ici: pour tmux 2.1-3build1 ~ précisez la commande devrait être:
<prefix>:move-pane -t session_name:window_number
- vous avez besoin d'un "-t
" avant le nom de session (pas nécessairement un numéro) et la fenêtre avec un numéro donné doit exister.
Tout le reste est comme décrit par the_velour_fog dans sa réponse .
P.S. Si vous ne tapez qu'un session_name
sans window_number
comme ceci:
<prefix>:move-pane -t session_name:
,
votre volet sera alors déplacé dans la fenêtre actuelle de la session de destination (et cette fenêtre sera scindée).
P.P.S. Si vous souhaitez simplement déplacer votre fenêtre (et pas uniquement votre volet), il existe une bonne réponse sur la manière de déplacer la fenêtre entre les clients tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
où src-window
et dst-window
ont la forme session:window.pane
.