screen - это терминальный мультиплексор позволяющий работать с множеством сеансов терминала из одного инстанса терминала с разделением терминала на регионы и последующей эмуляцией терминала в каждом таком регионе.
Это полезно если нужно визуально отслеживать какие-то real-time данные из нескольких терминалов (эмуляций терминалов).
Так же при помощи reptyr можно направить вывод сервиса systemd в терминал сеанса screen и наблюдать вывод. Затем можно открепить сеанс screen и закрыть терминал, при этом сервис systemd продолжит свою работу.
Ссылка на по-русски про детальное описание screen
Сеанс (терминальная сессия) - среда для работы с сервером. Проще - инстанс терминала.
В самом простом случае для создания нового сеанса необходимо:
$ screen
После чего будет приветсвенное сообщение программы, где нужно нажать space или enter.

Можно создать именованный сеанс (name - произвольное имя на латинице):
$ screen -S name
Просмотр списка сеансов:
$ screen -ls
There are screens on:
5811.test2 (22.07.2021 09:51:25) (Detached)
5794.test1 (22.07.2021 09:51:17) (Attached)
5582.pts-0.byurrer-Lenovo-G580 (22.07.2021 09:44:20) (Detached)
3 Sockets in /run/screen/S-byurrer.
В каждом сеансе
screenработают горячие клавиши, которые начинаются сCtrl+a.
Несколько горячих клавиш управления сеансом:
d - открепить текущий сеанс? - просмотр всех команд и горячих клавиш screen (в терминале Ubuntu 21.04 не работает)c - очистить экран: - ввод команды screen:
kill - уничтожить текущий сеансhelp - просмотр всех команд и горячих клавиш screenСеансы могут быть в 3 состояниях:
detached - сеанс запущен, но не прикреплен к терминалуattached - сеанс запущен, прикреплен к терминалу и ожидает вводdead - сеанс некорректно завершен, например при помощи kill -9Перейти в detached сеанс (PID - pid процесса или название сеанса):
$ screen -r PID
Попытка перейти на attached сеанс закончится провалом:
$ screen -r test1
There is a screen on:
5794.test1 (22.07.2021 09:51:17) (Attached)
There is no screen to be resumed matching test1.
Все потому что процесс сеанса используется клиентом и ожидает ввод. Для того чтобы подключится к attached сеансу нужно его открепить (сделать detached):
$ screen -d PID
Теперь можно прикрепиться к сеансу. Но можно открепить и прикрепить сеанс в одной команде так:
$ screen -rD PID
Уничтожить сеанс можно через команду kill, в этом случае произойдет уничтожение процесса и сеанса screen:
$ kill PID
Уничтожение процесса через kill -9 приведет к тому, что уничтожаемый сеанс останется в списке сеансов screen, но будет со статусом dead, это происходит по той причине что kill -9 не дает процессу самостоятельно завершится, а уничтожает его принудительно (сигнал SIGKILL не может быть обработан уничтожаемым процессом). Продробнее про kill vs kill -9.
$ kill -9 7117
$ screen -ls
There is a screen on:
7117.test (21.07.2021 20:43:26) (Dead ???)
Remove dead screens with 'screen -wipe'.
1 Socket in /run/screen/S-byurrer.
После kill -9 сеанс нужно очистить следующим образом:
$ screen -wipe PID
Каждый сеанс позволяет разделять терминал на несколько регионов, но это вовсе необязательно, можно переключаться между сеансами в однорегиональном режиме.

Команды screen (Ctrl + a + :) для работы с регионами:
split - разделить окно по горизонталиsplit -v - разделить окно по вертикалиremove - закрыть текущий регионПри создании регионы по умолчанию пустые, для ввода команд терминала необходимо включить эмуляцию терминала в регионе.
Горячие клавишы для работы с регионами (Ctrl + a + ):
c - эмуляция терминала в регионеw - список окон сеанса" - список окон сеанса с возможностью выбора для переходаp - перейти на предыдущее окноn - перейти на следующее окноtab - переход между окнами в многоконном режиме