повторно инициализировать / повторно подключить терминал после прерывания сети
Вопрос
У меня, наверное, очень простой вопрос, связанный с терминалом. Я использую Ubuntu 8.10 Intrepid Ibex, использую Gnome и часто открываю терминалы ssh сессия только для того, чтобы его отбросить в какой-то момент позже. После того, как сеанс сброшен, терминал становится непригодным для использования, очевидно, из-за разрыва сетевого подключения.
Есть ли способ повторно инициализировать сеанс или даже вернуться к работающему локальному терминалу?
В Windows, используя putty, когда это происходит, я могу щелкнуть правой кнопкой мыши и выбрать перезапустить сеанс, и не нужно открывать новый терминал, однако под Linux мое непонимание этого субъект заставил меня всегда закрывать неработающий терминал и перезапускать новый с нуля. Я хотел бы изучить новый и полезный трюк, если таковой есть.
Кроме того, я нашел следующий пост, который очень похож на мой,
< a href = "https://stackoverflow.com/questions/474967/automatics-or-more-easily-"> Автоматически (или проще) повторно подключиться к сеансу экрана после прерывания сети повторно-к-а-экрана-сеанс после того, как-сеть INTERR р>
Однако, насколько я могу судить, это другая тема.
Решение
Вы хотите использовать свой SSH-выход а>. По умолчанию это ~ и ~. прервет ваше соединение.
Вопрос, на который вы ссылаетесь, касается экрана, который полезен для возобновления удаленного сеанса после того, как вы используете escape-символ для завершения локального процесса ssh и повторного подключения.
Другие советы
Сначала используйте ~.
для локального отключения вашего ssh-соединения. Это вернет вас к работающему локальному терминалу. Вы также можете использовать другой терминал для уничтожения соответствующей команды ssh.
Чтобы сохранить удаленное состояние, вы должны использовать screen
, как предлагалось ранее.
Недавно я узнал о mosh , который является интересным клиентом с возможностью восстановления оболочки на основе UDP. Он использует ssh для инициализации соединения и, вероятно, нуждается в mosh, установленном на сервере (и UDP-доступ между клиентом и сервером), однако может восстанавливаться после отключений и изменений IP-адреса клиента.
Чтобы снова использовать ваш локальный терминал, вы можете использовать команду reset .
Для запуска команды в виртуальном терминале вы можете прикрепить / отсоединить, вы можете использовать screen или tmux . Типичное использование для экрана :
$ screen -S somename
screen$ some-console-command
...
^ad
Вы отсоединяетесь от экрана, набрав ctrl + a затем d
Затем вы можете перечислить сессию и прикрепить к ней
$ screen -ls
$ screen -dr somename
screen$