Para mi sorpresa, utilicé CRIU ( https://criu.org ) para verificar y reiniciar un cliente mosh y funcionó.
Impactante.
Encuentre el PID de su cliente mosh:
$ ps -ef | grep mosh
Luego, instale CRIU de acuerdo con sus instrucciones.
Luego, apúntalo así:
puesto de control $ mkdir
$ sudo ./criu dump -D punto de control -t PID --shell-job
Luego, restaurarlo:
$ sudo ./criu restore -D punto de control --shell-job
Y ahí está. Su cliente Mosh ha vuelto.
Una cosa a tener en cuenta, sin embargo, es que si su computadora portátil se reinicia (que es el objetivo de lo que estamos tratando de proteger), mosh usa un monotonic
reloj para rastrear el tiempo en el lado del cliente, que no funciona en los reinicios. Sin embargo, esto NO funcionará, si su computadora portátil simplemente se bloquea, no funcionará porque los números de secuencia mosh no estarán sincronizados con la versión que se verificó (el binario se reanudará, pero la comunicación se detendrá).
Para solucionar esto, debe decirle a mosh que deje de hacerlo y descargue el código fuente de mosh. Luego, edite este archivo:
cd mosh
vim configure.ac
Luego, busque GETTIME
y comente esa línea.
Entonces hazlo:
autoreconf # o ./autogen.sh si acaba de clonarlo por primera vez
./configure
hacer
hacer instalar
Después de eso, sus sesiones de cliente mosh con CRIU verificadas sobrevivirán a los reinicios.
(Obviamente, necesitaría escribir algo para realizar los puntos de control con la suficiente regularidad como para ser útil. Pero, eso es un ejercicio para el lector).