A falta de hacer esto , ¿es posible mover un comando en ejecución en un panel a otra sesión de tmux?
A falta de hacer esto , ¿es posible mover un comando en ejecución en un panel a otra sesión de tmux?
Respuestas:
Sí, es bastante fácil, usa el move-pane
comando tmux. Para más información corre
man tmux | less -I '+/mOVE-pane'
La parte difícil es saber cómo tmux hace referencia a sesiones, ventanas y paneles en los comandos para manipular paneles, etc.
Muévase al panel que desea mover a la otra sesión
Obtenga el nombre de la sesión de destino ejecutando <prefix>s
.
En mi sistema que produce:
(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
Entonces, en mi sistema, me mudé al panel con el proceso en ejecución, ejecuté
<prefix>:move-pane -t 1:1
y el panel con el proceso se movió a la ventana uno de la sesión 1
.
Se inserta como una división, por lo que generalmente querrá ejecutar la ventana en la otra sesión como una ventana desechable.
Nota: parece que la ventana de destino debe existir, de lo contrario, el move-pane
comando emitirá un error.
Para obtener más información sobre el formato para especificar sesiones, ventanas y paneles dentro de un comando tmux, consulte la sección COMMANDS
en man tmux
.
No puedo comentar, así que lo colocaré aquí: para tmux 2.1-3build1 ~ preciso, el comando debe ser:
<prefix>:move-pane -t session_name:window_number
- necesita un " -t
" antes del nombre de la sesión (no necesariamente un número), y la ventana con un número dado debe existir.
Todo lo demás es como lo describe the_velour_fog en su respuesta .
PD: si escribe solo un session_name
sin window_number
así:
<prefix>:move-pane -t session_name:
,
entonces su panel se moverá a la ventana actual de la sesión de destino (y esta ventana se dividirá).
PPS Si solo desea mover su ventana (y no solo su panel), entonces hay una buena respuesta sobre cómo mover la ventana entre clientes tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
donde src-window
y dst-window
tener la forma session:window.pane
.
Tengo dos sesiones en ejecución, cada una en su propio iTerm. Todo lo que necesitaba hacer para mover el panel de una sesión a otra era
seleccione el panel
<leader>s <session>
donde <session>
hay un número entre corchetes
tmux 2.7
<prefix>m
, vaya a la ventana de destino con<prefix>w
y mueva el panel marcado con allíjoin-pane
.