Linux TuxСегодня я расскажу об основных возможностях утилиты GNU Screen. Многие администраторы активно пользуются скрином при использовании ssh. Также он хорош для любого, кто активно пользуется терминалом для повседневных задач. Screen позволяет управлять несколькими сессиями из одной консоли или окна терминала. Утилита незаменима, когда к одному сеансу надо подключиться из двух мест одновременно или взаимодействовать с несколькими сессиями. Многие администраторы любят Screen за то, что при потере связи по ssh, могут вернуться в свою сессию, а выполняемые в момент разрыва операции не прервутся.

В ряде Linux дистрибутивов (и не только Linux, Mac OS тоже тут) Screen присутствует по умолчанию. В случае с Debian и форками его требуется поставить отдельно. Сделать это можно, выполнив команду:

Сразу после установки Screen готов к работе.

Для начала работы запустим Screen без параметров, создав новый скрин:

Сразу после запуска появится окно с информацией о создателях и лицензии и будет ожидаться нажатие пробела или Enter.

Команды Screen выполняются по горячим клавишам Ctrl-a. После однократного нажатия Screen ждет команду.

Запросим у Screen список всех команд:

Если не получилось, попробуйте еще раз. Нажмите Ctrl+a, отпустите, введите “?”.

Выйдем из хелпа и попрактикуемся в использовании.

Для начала в текущем скрине (в списке он нулевой) запустим:

Теперь введем

Этой командой мы создали новый скрин и теперь они работают одновременно.

Запустим в нем:

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

Теперь свернем Screen с нашими пингами. Для этого воспользуемся хоткеем

После выполнения команды Screen свернется и мы попадем в наш терминал. Для того, чтобы вернуться, запустим утилиту с ключом -r:

Иногда случается неприятность с потерянными скринами, для того, чтобы подключиться к ним, нужно выполнить команду:

после чего найти в выводе номер потерянного скрина и вернуть его командой:

где n — тот самый номер.

Вернуться в сессию можно и после разрыва соединения ssh при удаленном использовании Screen, что делает его незаменимым при выполнении множества работ.

Можно быстро создать новый скрин с запущенной программой, например wget большого файла.

С помощью ключа -S при запуске Screen можно указать имя скрина.

Всегда есть возможность переименовать скрин хоткеем

Посмотреть все активные скрины можно командой:

Если вам необходимо подключиться к скрину, запущенному в другом терминале, сделать это вы сможете с помощью команды:

Скрины можно закрыть от посторонних хоткеем

Еще одной полезной возможностью утилиты является разделение окна по регионам.

Это делается хоткеем

Переключаться между регионами можно хоткеем

Если после переключения в новый регион ничего нельзя сделать, значит в этом регионе нет скрина, его можно либо добавить, либо выбрать из существующих

Закрываются регионы хоткеями

После начала активного использования Screen, очень быстро надоедает приветственное окно. Убрать его можно добавив в файл ~/.screenrc строку

Сделать это быстро можно, выполнив команду:

В статье я рассмотрел только базовые возможности Screen, чтобы не перегружать редко используемым функционалом. Для более подробного изучения возможностей читайте маны.

До новых встреч!