Retomar termo após desconexão ssh sem multiplexador (screen / tmux)

3

Screen e tmux (como emacs) são sofisticados multiplexadores de terminal ricos em recursos projetados para permitir que você gerencie terminais de forma eficiente como se fosse 1985 mas eles complicam a simples tarefa de retomar uma sessão ssh de onde você parou após a troca de redes etc.

Eu uso o tmux quando preciso, mas geralmente não tenho utilidade para painéis divididos, janelas múltiplas, sessões etc ... Eu certamente não quero os efeitos irritantes de mexer com o terminal

Tudo o que eu quero (e meia dúzia de outras pessoas neste site que não sabem o suficiente para deixar claro que não querem o tmux) é um wrapper / clone ssh que continua a ser executado após a desconexão ( reconecta no acionamento de teclas) e um invólucro / clone do sshd que simplesmente armazena em buffer todas as saídas na desconexão e as transmite na reconexão .

A coisa mais próxima que eu vi é Mosh, mas como isso é difícil? Tem que haver um id único em cada conexão ssh (se nada usar um hash da chave de sessão) e o protocolo tcp significa sshd / ssh (ou buffers de kernel que eles usam) tem que reter cada pacote não enviado antes do ssh / sshd decide que a conexão expirou. Após o tempo limite, o sshd pode simplesmente salvar o conteúdo dos pacotes não carregados e quaisquer novos dados enviados para o termo e transmitir para o cliente conectando-se com o ID apropriado.

É plausível (ou já existe tal opção) para adicionar uma opção / wrapper com este comportamento (no entanto, é implementado) para ssh? Claro, ele não lidaria com situações extravagantes como um usuário redimensionando o termo entre timeout e reconectar, mas faria a única coisa que todo mundo queria me reconectar a uma sessão ssh anterior sem atrapalhar a rolagem, a história etc. etc. ..

    
por Peter Gerdes 15.09.2013 / 08:06

0 respostas