À ma grande surprise, j'ai utilisé CRIU ( https://criu.org ) pour vérifier et redémarrer un client mosh et cela a fonctionné.
Choquant.
Trouvez le PID de votre client mosh:
$ ps -ef | grep mosh
Ensuite, installez CRIU selon leurs instructions.
Ensuite, vérifiez-le comme ceci:
point de contrôle $ mkdir
$ sudo ./criu dump -D point de contrôle -t PID --shell-job
Ensuite, restaurez-le:
$ sudo ./criu restore -D point de contrôle --shell-job
Et ça y est. Votre client mosh est de retour.
Une chose à noter, cependant, est que si votre ordinateur portable redémarre (ce qui est le but de ce contre quoi nous essayons de nous protéger), mosh utilise une monotonic
horloge pour suivre l'heure côté client, ce qui ne fonctionne pas entre les redémarrages. Cela ne fonctionnera PAS, cependant, si votre ordinateur portable tombe tout simplement en panne, cela ne fonctionnera pas car les numéros de séquence mosh ne seront pas synchronisés avec la version qui a été vérifiée (le binaire reprendra, mais la communication s'arrêtera).
Pour résoudre ce problème, vous devez dire à mosh d'arrêter de le faire et télécharger le code source de mosh. Ensuite, éditez ce fichier:
cd mosh
vim configure.ac
Ensuite, recherchez GETTIME
et commentez cette ligne.
Alors fais:
autoreconf # ou ./autogen.sh si vous venez de le cloner pour la première fois
./configure
faire
faire installer
Après cela, vos sessions client mosh contrôlées par CRIU survivront aux redémarrages.
(De toute évidence, vous auriez besoin d'écrire quelque chose pour effectuer les points de contrôle assez régulièrement pour être utile. Mais c'est un exercice pour le lecteur).