Trước sự ngạc nhiên của tôi, tôi đã sử dụng CRIU ( https://criu.org ) để kiểm tra và khởi động lại máy khách mosh và nó đã hoạt động.
Gây sốc.
Tìm bộ vi xử lý mosh-client của bạn:
$ ps -ef | grep mosh
Sau đó, cài đặt CRIU theo hướng dẫn của họ.
Sau đó, kiểm tra nó như thế này:
$ mkdir điểm kiểm tra
$ sudo ./criu dump -D điểm kiểm tra -t PID - công việc
Sau đó, khôi phục nó:
$ sudo ./criu khôi phục -D điểm kiểm tra - công việc
Và, nó đây rồi. Khách hàng mosh của bạn đã trở lại.
Tuy nhiên, một điều cần lưu ý là nếu máy tính xách tay của bạn khởi động lại (đó là toàn bộ vấn đề chúng tôi đang cố gắng bảo vệ), mosh sử dụng monotonic
đồng hồ để theo dõi thời gian ở phía máy khách, không hoạt động trong quá trình khởi động lại. Tuy nhiên, điều này sẽ KHÔNG hoạt động, nếu máy tính xách tay của bạn gặp sự cố, nó sẽ không hoạt động vì số thứ tự mosh sẽ không đồng bộ với phiên bản đã được kiểm tra (nhị phân sẽ tiếp tục, nhưng giao tiếp sẽ dừng).
Để khắc phục điều này, bạn cần nói với mosh ngừng làm điều đó và tải xuống mã nguồn mosh. Sau đó, chỉnh sửa tệp này:
cd mosh
vim configure.ac
Sau đó, tìm kiếm GETTIME
và bình luận ra dòng đó.
Sau đó làm:
autoreconf # hoặc ./autogen.sh nếu bạn mới nhân bản nó lần đầu tiên
./mình
làm
cài đặt
Sau đó, các phiên máy khách mosh được kiểm tra CRIU của bạn sẽ tồn tại khi khởi động lại.
(Rõ ràng là bạn cần phải viết một cái gì đó để thực hiện các điểm kiểm tra thường xuyên đủ để có ích. Nhưng, đó là một bài tập cho người đọc).