На мій подив, я використав CRIU ( https://criu.org ), щоб перевірити та перезапустити mosh-клієнт, і він спрацював.
Шокуюча.
Знайдіть PID вашого клієнта:
$ ps -ef | греп мош
Потім встановіть CRIU відповідно до їх інструкцій.
Потім перевірте так:
КПП $ mkdir
$ sudo ./criu dump -D контрольна точка -t PID - оболонка-робота
Потім відновіть його:
$ sudo ./criu відновити -D контрольно-пропускний пункт - оболонка-завдання
І ось воно є. Ваш клієнт mosh повернувся.
Однак слід зазначити, що якщо ваш ноутбук перезавантажиться (в чому полягає вся суть того, від чого ми намагаємося захистити), mosh використовує monotonic
годинник для відстеження часу на стороні клієнта, що не працює через перезавантаження. Це НЕ буде працювати, однак, якщо ваш ноутбук просто вирівняється з ладу, він не працюватиме, оскільки послідовні номери мош не будуть синхронізовані з версією, яка була перевірена (двійковий файл відновиться, але зв’язок припиниться).
Для того, щоб виправити це, вам потрібно сказати mosh, щоб припинити це робити та завантажити вихідний код mosh. Потім відредагуйте цей файл:
cd mosh
vim configure.ac
Потім знайдіть GETTIME
і прокоментуйте цей рядок.
Потім зробіть:
autoreconf # або ./autogen.sh, якщо ви вперше його клонували
./ конфігурація
зробити
зробити встановлення
Після цього ваші мошенні клієнтські сесії, перевірені CRIU, переживуть перезавантаження.
(Очевидно, що вам потрібно буде написати щось, щоб виконувати контрольні пункти досить регулярно, щоб бути корисними. Але це вправа для читача).