Использование утилиты screen

Screen - консольное приложение, которое позволяет использовать несколько терминальных сеансов в одном окне. Например, создав screen сессию и запустив любую консольную программу, Вы можете в любой момент от нее отсоединиться, а позже - снова подключиться, продолжив свою работу с того места где Вы остановились, причём с любого другого хоста, на котором установлен SSH клиент. Этому можно найти массу применений. Например, когда при выполнении долгосрочной операции (компилирование, копирование большого файла и т.п.), работая на удалённом сервере, можно быть уверенным в том, что запущенные операции не прервутся при обрыве связи.


После установки, программу можно запустить командой screen. При запуске команды без параметров, будет создана сессия, с названием состоящей из процесса самой сессии (PID) и части названия хоста. Для того, чтобы присвоить сессии имя, необходимо указать ключ –S:

screen –S session-test

Затем можно запустит необходимый нам процесс, который занимает длительное время, к примеру можно скачать образ дистрибутива.

wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04.1-desktop-amd64.iso

теперь во время процесса загрузки, для того чтобы отключиться от экрана, необходимо нажать "ctrl+a" затем "d". На экране появится надпись [detached].

Чтобы просмотреть список активных сессий, необходимо выполнить команду:

screen -ls

Вывод будет примерно следующим:

There is a screen on:
        2872.pts-1.server   (Detached)
1 Socket in /var/run/screen/S-root.

Если необходимо восстановить сессию 2872.pts-1.server выполните команду:

screen -r 2872

Для подключения к последней сессий, можно использовать команду, без указания идентификатора:

screen -r

Для того чтобы вывести на экран справку по командам screen, наберите в окне созданной сессий "ctrl+a" затем "?".

Несколько полезных команд:

ctrl+a ? Отображает справку по командам.
ctrl+a c Создать новое окно screen
ctrl+a " Вывести список открытых консолей
ctrl+a 1 Переключиться на сессию с номером 1
ctrl+a n Переключиться на следующую сессию screen
ctrl+a p Переключиться на предыдущую сессию screen
ctrl+a d Отключиться от текущей сессии screen, оставив сеанс работающим.
ctrl+d   Выйти из сеанса screen
ctrl+a shift+k Принудительное закрытие окна
ctrl+a shift+c Очистить окно
ctrl+a shift+h Протоколирование окна в файл screenlog

Комментарии (0)