Во многих дистрибутивах команда screen установлена по-умолчанию, однако, если в вашей системе это не так, вы можете установить её вручную достаточно просто (т.к. она есть в стандартных репозиториях большинства дистрибутивов).
Для rpm-based дистрибутивов (RedHat, CentOS, Fedora, итп) выполните:
# yum install screen
Для deb-based дистрибутивов (Debian, Ubuntu, итп) выполните:
# apt-get install screen (On Debian based Systems)
Запуск screen в первый раз
Для запуска команды screen просто выполните:
screen
Вывод информации о клавиатурных сокращениях
После запуска команды screen вы можете работать совершенно обычным образом в интерфейсе командной строки. Но, поскольку команда screen сама является программой, у неё есть свои команды и параметры.
Нажмите "Ctrl+A" и, затем, "?" (без кавычек). На экран будут выведены клавиатурные сокращения:
Для выхода нажмите "пробел" или "Enter"
Отключение экрана screen
Важнейшим преимуществом команды screen является функция отсоединения экрана с последующей возможностью подключения (при этом выполнение программ не прерывается).
Например, это может понадобится в том случае, если вы работаете по ssh на удаленной машине, и вам необходимо скачать объемный файл с помощью команды wget, на что потребуется, например, 2 часа. В том случае, если вы закроете ssh-сессию по собственному желанию или случайно по причине разрыва соединения процесс загрузки также прервется. Соответственно, вам придется вручную запускать загрузку заново. Избежать такой проблемы как раз поможет команда screen.
В первую очередь, запустите команду screen:
screen
Затем запустите команду, которая занимает длительное время. Например, это может быть обновление системы или, как сказано выше, процесс загрузки большого файла:
wget http://mirror.yandex.ru/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso
Во время процесса загрузки нажмите комбинацию клавиш "Ctrl+A" и затем "d" (также можно "Ctrl+D"). При нажатии этих клавиш на экран ничего выведено не будет, только после того, как будет выполнено отключение экрана вы увидите подобное:
[detached from 7724.pts-0.howtoitru]
[istupak@howtoitru ~]$
Подключение отключенного экрана screen.
После того, как вы отключили экран screen вы закрыть сессию ssh. Подключившись позднее, например, удаленно из другого места вы можете подключить экран опять и проверить, была ли завершена загрузка. Для этого выполните команду:
screen -r
Вы увидите, что процесс, который вы запустили все еще работает.
В том случае, если вы запустили и оставили отключенными более чем одну сессию screen вам будет необходимо указать ID этой сессии. Для того, чтобы посмотреть, сколько сессий было запущено выполните:
screen -ls
Вывод будет примерно таким:
There are screens on:
7938.pts-0.howtoitru (Detached)
7724.pts-0.howtoitru (Detached)
2 Sockets in /var/run/screen/S-howtoitru
Если вы хотите восстановить сессию 7724.pts-0.howtoitru выполните:
screen -r 7724
Использование нескольких сессий screen
Как уже стало понятно, вы можете работать с несколькими сессиями screen для выполнения множества задач одновременно. Переключение между экранами можно выполнить двумя способами:
- отключение экрана и подключение к другому (как описано выше)
- переключение между "вложенными" экранами, не завершая команду screen
Для второго способа необходимо запустить команду screen и нажать "Ctrl-A" и "c" для создания следующего вложенного экрана. Переключение между экранами производится командами "Ctrl-A" и "n"(следующий экран) и "Ctrl-A" и "p"(предыдущий экран).
Запись (логирование) выполняемых команд.
Иногда желательно производить запись того, что выполняется в консоли, например, если вы системный администратор, управляющий множеством различных серверов.
Для запуска функции логирования нажмите "Ctrl-A" и "H" (обратите внимание на регистр символа "H", т.к. если вы выполните команду "h" будет создан скриншот экрана вместо записи действий). Все ваши действия и выводы на экран будут записаны в файл screenlog.0 в вашей домашней директории.
Для прекращения записи опять выполните "Ctrl-A" и "H".
Также можно активировать запись запусти команду с параметром -L:
screen -L
Блокировка экрана
Существует возможность блокировки экрана с помощью сочетания клавиш "Ctrl-A" и "x". При блокировке на экран будет выведено:
Screen used by howtoitru <howtoitru> onhowtoitru.
Password:
Завершение сессии screen
Для завершения сессии (полного, а не отключения, выполняемого командой "Ctrl+A" и "d") выполните обычную команду выхода:
exit
Также можно использовать сочетание клавиш "Ctrl+A" и "k" для завершения сесии.