Para minha surpresa, usei o CRIU ( https://criu.org ) para verificar e reiniciar um cliente mosh e funcionou.
Chocante.
Encontre o PID do seu mosh-client:
$ ps -ef | grep mosh
Em seguida, instale o CRIU de acordo com as instruções.
Em seguida, verifique-o assim:
ponto de verificação $ mkdir
$ sudo ./criu dump -D ponto de verificação -t PID --shell-job
Em seguida, restaure-o:
$ sudo ./criu restore -D ponto de verificação --shell-job
E aí está. Seu cliente mosh está de volta.
Uma coisa a ser observada, no entanto, é que, se o seu laptop for reiniciado (que é o objetivo principal do que estamos tentando proteger), o mosh usará um monotonic
relógio para rastrear o tempo no lado do cliente, o que não funcionará durante as reinicializações. Isso NÃO funcionará, no entanto, se seu laptop travar, ele não funcionará porque os números de sequência mosh estarão fora de sincronia com a versão que foi marcada (o binário será retomado, mas a comunicação será interrompida).
Para corrigir isso, você precisa dizer ao mosh para parar de fazer isso e baixar o código-fonte do mosh. Em seguida, edite este arquivo:
cd mosh
vim configure.ac
Em seguida, pesquise GETTIME
e comente essa linha.
Então faça:
autoreconf # ou ./autogen.sh se você o clonou pela primeira vez
./configure
faço
faça instalar
Depois disso, suas sessões mosh client com ponto de verificação CRIU sobreviverão às reinicializações.
(Obviamente, você precisará escrever algo para executar os pontos de verificação regularmente o suficiente para ser útil. Mas isso é um exercício para o leitor).