tmux: sessão compartilhada, um usuário em um painel, outro em outro painel, dois cursores diferentes

10

Eu decidi experimentar o tmux: tenho lido os documentos e pesquisado, tentando encontrar uma maneira de ter dois usuários compartilhando uma sessão, cada um com um cursor diferente.

No entanto, dar 777 permissões ao soquete ou criar um grupo, chgrp ing o soquete e adicionar ambos os usuários a ele, parece permitir que o mesmo soquete seja usado para compartilhar uma sessão com apenas um cursor: ambos os usuários podem escrever, mas sempre na mesma posição do cursor.

Neste momento, ambos os usuários estão no mesmo servidor doméstico sobre o ssh, e a idéia é ter:

  • Um terminal em um, digamos, painel esquerdo, onde eu posso digitar comandos
  • Outro terminal em um painel direito, onde posso ver outro usuário digitando comandos seu próprio terminal
  • A mesma coisa para o outro usuário

O que eu estou fazendo no momento é usar duas sessões (não compartilhadas) e uma combinação script -f e tail -f que funciona para a leitura dos toques de tecla um do outro, mas eu acho que provavelmente há alguma maneira de fazer isso usando os recursos de compartilhamento do tmux.

Existe uma maneira de fazer com que essa ideia funcione com suporte de gravação no terminal um do outro?

Qual é a melhor maneira de fazer isso?

    
por ferhtgoldaraz 02.04.2014 / 19:16

2 respostas

16

Esta pergunta é um pouco antiga, mas eu estava procurando por algo semelhante, e achei aqui . Ele cria uma segunda sessão que compartilha janelas com a primeira, mas tem sua própria visão e cursor.

tmux new-session -s alice
tmux new-session -t alice -s bob

Se o compartilhamento estiver acontecendo entre duas contas de usuário, talvez ainda seja necessário bagunça com permissões (o que parece que você já tinha trabalhado).

Editar: Conforme sugerido, uma citação de outra resposta :

Primeiro, adicione um grupo para usuários do tmux

export TMUX_GROUP=tmux
addgroup $TMUX_GROUP

Crie um diretório com o grupo definido como $ TMUX_GROUP e use o bit setgid para que os arquivos criados no diretório tenham automaticamente o grupo configurado como $ TMUX_GROUP.

mkdir /var/tmux
chgrp $TMUX_GROUP /var/tmux
chmod g+ws /var/tmux

Em seguida, verifique se os usuários que desejam compartilhar a sessão são membros do $ TMUX_GROUP

usermod -aG $TMUX_GROUP user1
usermod -aG $TMUX_GROUP user2
    
por 19.01.2015 / 04:55
1

Você pode tentar executar duas sessões tmux separadas de uma só vez - uma para você e a segunda para o outro usuário. Em seguida, use o sistema de janelas do sistema operacional para organizar dois terminais lado a lado, com um para você e outro para ele. Se você precisa escrever em seu terminal, basta escolher para entrada.

Você executa (cada comando em seu próprio terminal):

tmux new-session -s Alice
tmux new-session -s Bob

E então Bob é executado (novamente, cada comando em seu próprio terminal):

tmux attach -t Alice
tmux attach -t Bob

Se você não tiver um sistema de janelas que suporte a exibição lado a lado ou detestar o mouse, cada um poderá (cuidadosamente) configurá-lo em uma sessão de wrapper screen / tmux não compartilhada.

    
por 03.10.2014 / 00:38