tmux várias instâncias da mesma sessão

6

Eu recentemente converti do gnu-screen para o tmux. Eu estou lutando com uma coisa.

Meu fluxo de trabalho é algo assim. Eu crio uma sessão para cada "tarefa" que estou fazendo a qualquer momento. Dessa forma, posso trabalhar em qualquer uma das N tarefas que estou realizando anexando a essa sessão.

O que eu era capaz de fazer com a tela e não ser capaz de fazer com o tmux é o seguinte: ter várias instâncias da mesma sessão abertas / anexadas em diferentes janelas e trabalhando nelas ao mesmo tempo. Por exemplo, se eu estiver editando 3 arquivos diferentes, posso fazer com que eles sejam abertos no painel 1, 2 e 3 da mesma sessão e ter cada instância da mesma sessão com esses 3 arquivos abertos na minha frente.

Eu não fui capaz de distorcer o tmux para me deixar fazer isso. Sempre que eu participo de uma sessão anexada existente no tmux, ela replica as ações que eu faço em qualquer sessão do outro.

Espero ter explicado bem isso. Se não, por favor me avise.

hari
fonte

Respostas:

5

Eu acho que você está pedindo, basicamente, como fazer screen -xem tmux? Aqui está um exemplo:

# 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.

Se você não gosta dos nomes numéricos padrão ao criar uma nova sessão, pode passar -s other_namepara nomear outra coisa.

jjlin
fonte
0

Para conseguir o que você descreve, você pode ter apenas layouts diferentes no tmux ( C-b+ c), que você pode dividir usando ( C-b+) %e ", você pode ter tudo o que deseja para uma tarefa em um painel e alternar o contexto usando C-b+ n (ext) ou p (revious) ou usando números. Também C-bz (oom) é seu amigo.

Curiosamente, o tmux e a tela são diferentes em como lidam com múltiplas visualizações da mesma sessão

  • no tmux ambas as visualizações vêem exatamente a mesma coisa (o que permite fazer programação em pares remotamente)
  • Na tela você pode olhar diferentes terminais em diferentes visões (o que permite que você compartilhe coisas, mas trabalhe de forma independente ... o que é possivelmente útil para usar múltiplos monitores para trabalhar na mesma linha de comando, eu ainda não descobri exatamente como! )
JonnyRaa
fonte