Um tópico relacionado surgiu na lista de discussão tmux-users : Tentando usar o socat para sintonizar o soquete do tmux
Resumo:
- O simples encaminhamento do diálogo dentro da banda sobre o socket entre um cliente tmux e seu servidor não funcionará porque tmux usa a passagem do descritor de arquivo (o cliente passa seu tty fd para o servidor).
- Pode ser possível desenvolver um proxy especializado, mas parece não ser trivial - ele precisaria conhecer o suficiente do protocolo de soquete tmux para saber quando aceitar e enviar fds , e seria necessário um método de proxies dos fds e quaisquer operações feitas nesses fds.
- O cartaz da lista de e-mails conseguiu criar um tmux sistema de encaminhamento usando socat que trabalhou principalmente .
- Provavelmente você poderia definir um tamanho de terminal inicial diferente dando as opções
-x
e-y
anew-session
, mas isso não corrigiria o tratamento de redimensionamento (a socat precisaria manipular e encaminhar SIGWINCH (através de TIOCGWINSZ / TIOCSWINSZ ioctls)). - Parece que você pode querer que seu "servidor de encaminhamento" esteja em seu sistema operacional convidado, mas a solução vinculada tornaria o servidor em seu sistema operacional host. Você provavelmente poderia retrabalhar, então acontece o contrário.
- Provavelmente você poderia definir um tamanho de terminal inicial diferente dando as opções
A menos que haja algum motivo para você não executar um servidor SSH em seu convidado, provavelmente será mais fácil usar o SSH para efetuar login no seu convidado (permitir que os programas SSH lidem com a conexão pela rede e gerenciar os ttys) e anexar a ( ou emitir comandos para) o residente tmux dessa forma:
host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.
Você pode criar uma chave SSH e ~/.ssh/config
entradas em seu host para simplificar as linhas de comando ssh (ou seja, usando apenas ssh guest
acima em vez de ssh -i guest-user1-key user1@guest-vm-ip
).