Con mia grande sorpresa, ho usato CRIU ( https://criu.org ) per controllare e riavviare un client mosh e ha funzionato.
Scioccante.
Trova il PID del tuo mosh-client:
$ ps -ef | grep mosh
Quindi, installare CRIU secondo le loro istruzioni.
Quindi, checkpoint in questo modo:
Checkpoint $ mkdir
$ sudo ./criu dump -D checkpoint -t PID --shell-job
Quindi ripristinalo:
$ sudo ./criu restore -D checkpoint --shell-job
Ed eccolo qui. Il tuo client mosh è tornato.
Una cosa da notare, tuttavia, è che se il tuo laptop si riavvia (che è l'intero punto di ciò che stiamo cercando di proteggere), mosh utilizza un monotonicorologio per tenere traccia del tempo sul lato client, che non funziona attraverso i riavvii. Questo NON funzionerà, tuttavia, se il tuo laptop si arresta in modo anomalo, non funzionerà perché i numeri di sequenza di mosh non saranno sincronizzati con la versione che è stata controllata (il binario riprenderà, ma la comunicazione si interromperà).
Per risolvere questo problema, devi dire a mosh di smettere di farlo e scaricare il codice sorgente di mosh. Quindi, modifica questo file:
cd mosh
vim configure.ac
Quindi, cerca GETTIMEe commenta quella riga.
Quindi fa:
autoreconf # o ./autogen.sh se l'hai appena clonato per la prima volta
./configure
rendere
fare l'installazione
Successivamente, le sessioni client mosh con checkpoint CRIU sopravviveranno al riavvio.
(Ovviamente avresti bisogno di scrivere qualcosa per eseguire i checkpoint abbastanza regolarmente da essere utile. Ma, questo è un esercizio per il lettore).