Mover um painel tmux para outra sessão

23

Em falta de fazendo isso , é possível mover um comando em execução em um painel para outra sessão tmux?

    
por HEGX64 26.07.2016 / 05:42

3 respostas

32

Sim, é muito fácil, use o comando move-pane tmux. Para mais informações, execute

man tmux | less -I '+/mOVE-pane'

A parte complicada é apenas saber como o tmux faz referência a sessões, janelas e painéis nos comandos para manipular painéis, etc.

Primeiro passo

Mova-se para o painel que você deseja mover para a outra sessão

Etapa dois

Obtenha o nome da sessão de destino executando <prefix>s .

No meu sistema que produz:

 (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).

Etapa 3 - execute o comando

<prefix>:move-pane -t <session_name>:<window number>
                      ^^^^^^^^^^^^^^ the name from above goes in here

Então, no meu sistema, mudei para o painel com o processo em execução, corri

<prefix>:move-pane -t 1:1

e o painel com o processo foi movido para a janela um na sessão 1 .

Ele é inserido como uma divisão, então, normalmente, você deseja executar a janela na outra sessão como uma janela descartável.

Nota: parece que a janela de destino precisa existir, senão o comando move-pane emitirá um erro.

Para obter mais informações sobre o formato para especificar sessões, janelas e painéis dentro de um comando do tmux, consulte a seção COMMANDS in man tmux .

    
por 26.07.2016 / 07:09
6

Eu não posso comentar, então vou colocá-lo aqui: para o tmux 2.1-3build1 ~ preciso o comando deve ser:

<prefix>:move-pane -t session_name:window_number

- você precisa de um " -t " antes do nome da sessão (não necessariamente um número), e a janela com um determinado número deve existir.

Todo o resto é como descrito por the_velour_fog em sua resposta .

P.S. Se você digitar apenas session_name sem window_number da seguinte forma:

<prefix>:move-pane -t session_name: ,

então o seu painel será movido para a janela atual da sessão de destino (e esta janela será dividida).

P.P.S. Se você quer apenas mover sua janela (e não apenas seu painel), então há uma boa resposta sobre como Mover janela entre clientes tmux :

<prefix>:move-window [-d] [-s src-window] [-t dst-window]

(alias: movew)

em que src-window e dst-window têm o formato session:window.pane .

    
por 06.10.2016 / 01:19
0

Eu tenho duas sessões em execução, cada uma em seu próprio iTerm. Tudo o que eu precisava fazer para mover o painel de uma sessão para outra era

selecione o painel

<leader>s <session>

onde <session> é um número entre colchetes

tmux 2.7

    
por 07.09.2018 / 03:04

Tags