Screen
screen — терминальный мультиплексор, то есть, приложение, позволяющее сохранять состояние сессии работы пользователя в консоли между подключениями, а также переключаться между несколькими сессиями в одном окне.
При разрыве соединения по SSH или при завершении работы эмулятора терминала, запущенные там приложения будут закрыты. Во избежание этого, используются терминальные мультиплексоры, в частности — screen: такое приложение запускается после подключения к системе (пользователем вручную или автоматически), в нём пользователь запускает приложения, а при разрыве соединения терминальный мультиплексор продолжит работу, вместе с запущенными в нём приложениями, и к нему можно будет в дальнейшем подключиться, продолжив работу с прерванной сессией. Кроме того, терминальный мультиплексор позволяет создавать работать с несколькими терминальными сессиями в рамках одного подключения, переключаясь между ними.
Типовой вариант использования
После открытия терминала или после подключения к удалённой машине по SSH, пользователь выполняет там команду вида:
screen -DR user
Здесь «user» — произвольное имя сессии (можно открыть несколько сессий с разными, и потом подключаться к выбранной, указав в команде её имя), а комбинация ключей -D -R (которую кратко можно записать как -DR) означает, что если сессия с заданным именем ещё не существует, она будет создана, а если она уже была запущена этим пользователем ранее и до сих пор активна (в том числе в рамках удалённого подключения с другого компьютера), то сессия будет переведена на текущий терминал (а на предыдущем месте произойдёт отключение, то есть, будет закрыто окно эмулятора терминала или произведён выход их консоли, примерно как если бы там была выполнена команда exit).
Комбинация ключей -D -R — это наиболее часто используемый вариант, но возможны и другие, определяемые комбинацией ключей -d/-D и -r/-R, например, комбинация ключей -d -r приводит к подключению к сессии с указанным именем (если она существует), при этом на старом месте работы просто происходит завершение работы screen (окно эмулятора терминала не будет закрыто), ну а если сессии с таким именем нет, то ничего не происходит, команда screen просто завершит работу, не создавая новой сессии.