Isso não é exclusivo do tmux, mas agora é o que estou usando:
Você pode usar script -f /path/to/some/file
para gravar uma sessão de terminal em um arquivo. A opção -f
atualiza o arquivo enquanto você digita.
Alguém (com apenas permissões de leitura para o arquivo, se você quiser) pode fazer tail -f
para ver o arquivo, sua sessão de terminal. A opção -f
torna tail
output o que for acrescentado.
A combinação dos dois "sincroniza" a visão de um terminal. Quando usado com o tmux, ele também tem a vantagem de evitar o redimensionamento que acontece quando os dois usuários têm resoluções diferentes. Outra característica é que cada usuário pode trabalhar em outra janela ou sessão privada.
Um possível inconveniente é que alguns comandos (ncurses baseados, por exemplo) podem fazer coisas estranhas na saída, e também seqüências de escape (cores). No entanto, estou usando isso dentro do tmux, e parece que o tmux corrige esses problemas. Eu posso ver o outro usuário ler man pages e usar outros comandos que criam buffers, as cores são exibidas corretamente, etc.
Isso não permite gravar no terminal um do outro (talvez alguma outra solução possa ser adicionada para isso).
Eu gosto de ter uma janela com dois painéis: um painel executando script -f
para o meu ponto de vista, um outro ao lado onde eu tail -f
é terminal.
Funciona também no ttys (e sockets ou pipes nomeados também podem ser usados para o arquivo)