Screen для Linux



GNU Screen

– это приложение, позволяющее запускать несколько виртуальных терминалов в режиме сессий. После того, как сессия создана, от неё можно отключиться, а позже — снова подключиться, причём с любого другого хоста, на котором установлен SSH клиент. Процессы, запущенные в Screen, продолжают выполняться и после того как пользователь отключается от сессии или вообще от хоста в целом. Это ещё одна причина (кроме повышения удобства работы в командной строке вследствие использования возможности перехода между окнами), по которой используется Screen. Если соединение с Интернетом – ненадёжное или у пользователя нет возможности поддерживать постоянное соединение, или существует необходимость запустить выполнение процесса в офисе, а остановить – дома, то использование Screen (или подобных приложений, например, Tmux) – способ решить эти проблемы.

УСТАНОВКА УТИЛИТЫ SCREEN



Разница в инсталляции программы на разных дистрибутивах заключается в программах управления пакетами и их командами.

Чтобы установить screen в Ubuntu, Linux Mint, Deepin и других систем семейства Debian, используйте команду apt:

sudo apt install screen


В Manjaro, Antergos и других Arch-подобных ОС screen располагается в AUR, поэтому используйте соответствующую программу управления пакетами, например aurman:

aurman -S screen


Для инсталляции screen в системах на основе Red Hat (например Fedora и CentOS) используйте утилиту dnf:

dnf install screen




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

screen –S namescreen


После входа в сессию её управление осуществляется путём ввода комбинаций клавиш. Вводная комбинация для Screen – ctrl + a. После этого вводится символ, который определён для выполнения того или иного действия. Например, для того, чтобы отключиться от сессии, необходимо указать символ d, то есть:

ctrl + a d


Для создания нового окна используется символ c:

ctrl + a c


Переход к следующему окну:

ctrl + a n


Переход к предыдущему окну:

ctrl + a p


Для выбора конкретного окна:

ctrl + a “


или

ctrl + a 1 (где 1 – номер окна)


Для удаления текущего окна:

ctrl + a k


При удалении последнего окна также уничтожается и сама сессия. Для уничтожения всех окон и выхода из Screen:

ctrl + a ctrl 


Для разбиения окна на два (по горизонтали):

ctrl + a S


Полный список комбинаций можно просмотреть в документации при помощи команды:

man screen


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

screen –ls


Для подключения к определённой сессии (например, namescreen):

screen –x namescreen