#ssh #консоль #shell
Иногда открытая сессия SSH может внезапно закрыться (broken pipe), например при работе через GPRS/wi-fi с плохим качеством сигнала. Если в момент разрыва на удалённом хосте что-то происходило (копирование большого списка файлов, сборка ПО из исходных кодов, или был открыт текстовый редактор), то результаты работы этого "чего-то" в большинстве случаев теряются. Это очень раздражает, как этого избежать?
Ответы
Ответ 1
То, что Вам нужно, называется консольный мультиплексор. Идея в том, чтобы на удалённом хосте запустить процесс, который будет как бы "сохранять состояние консоли", независимо от того, есть ли в данный момент активная сессия (ssh или физического доступа к хосту "через клавиатуру и монитор") работы с этой консолью. Сценарий действий будет таков: коннектимся к удалённому хосту по ssh запускаем терминальный мультиплексор начинаем работать соединение рвётся восстанавливаем соединение восстанавливаем сеанс работы с терминальным мультиплексором продолжаем работать с того же самого места, где остановились, ничего не потеряв Это удобно также для того, чтобы продолжить работу с другого комьютера, или передать работу над текущей консольной задачей коллеге. Самые популярные консольные мультиплексоры - screen (прост в освоении, минимальный функционал) и tmux (несколько более сложен, но намного более функционален - например, позволяет в рамках одной сессии tmux открыть сразу несколько экземпляров терминала и выводить их в консоль одновременно, разделив экран на несколько произвольных областей). Изучение ключей командной строки для команд screen и tmux оставлю на совести читателя.Ответ 2
Установите screen sudo apt-get install screen Сразу после подключения к ssh создайте новую сессию screen после рекконекта к ней можно подключиться вызовом screen -r Команда "два в одном" - подключение к существующей сессии или создание новой, если существующей нет: screen -D -rОтвет 3
mosh + (по желанию) tmux или screen
Комментариев нет:
Отправить комментарий