консольный мультиплексор screen на linux


Screen - это очень мощный консольный мультиплексор при работе с одним соединением или одним окном терминала. С возможностью прервать работу (перезагрузка оболочки) и с такой же легкостью восстановить с того места где ее остановили со всеми открытыми окнами. Ко всему этому есть возможность поиска в текущем окне, а также поддержка скроллинга по окну.

Рассмотрим основные флаги при использовании консольного мультиплексора screen:

| -A                | подгонка размера окна screen под размер терминала    |
| -ls               | вывод списка отключенных окон                        |
| -d                | отключение сессии screen                             |
| -D                | отключение сессии screen, с игнорированием ошибок    |
                      на невозможность отключится                          |
| -r [pid.tty.host] | подключение к первой найденной сессии (если таковая  |
                      имеется) или подключение к определенной сессии,      |
                      код которой можем получить использовав флаг -ls      |
| -R                | подключение к первой найденной сессии, а в случае ее |
                      отсуствия создания новой. Может быть использована    |
                      и для подключения к определенной сессии              |
| -x                |                                                      |

Рассмотрим основные команды при использовании консольного мультиплексора screen:

| C^a F      | подогнать размер всех окон под размер терминала             |
| C^a c      | создать новое окно                                          |
| C^a '      | перейти на n-ое окно                                        |
| C^a "      | вывести список окон                                         |
| C^a n      | перейти на следующее окно                                   |
| C^a p      | перейти на предыдущее окно                                  |
| C^a [0..9] | перейти на n-ое окно                                        |
| C^a A      | сменить название окна                                       |
| C^a a      | нажатие буквы а                                             |
| C^a [      | режим копирования (выделение идет по нажатию пробела),      |
               в некоторых случаях позволяет "листать" окно,               |
               когда клавиши Shift+PgUp и Shift+PgDown не работают         |
| C^a ]      | вставить скопированное в буфер                              |
| C^a x      | заблокировать screen                                        |
| C^a d      | отключится от screen                                        |
| C^a k      | закрыть текущее окно                                        |
| C^a \      | выход из screen                                             |

У кого возникает вопрос что такое C^a, то ответ очень прост - это комбинация клавиш Ctrl + a.

Остальные возможности можно узнать командой:

man screen

А также внути screen можно получить справку по горячим клавишам, нажав соответствующую комбинацию:

C^a ?

Ну и на последок привожу свой конфигурационный файл ~/.screenrc:

startup_message off
altscreen on
vbell off
autodetach on
hardstatus alwayslastline "%-Lw%{= KW}%50>%n%f* %t%{-}%+Lw%<"

Если кратко, то тут отключается лицензионное соглашение на старте и визуальные сигналы (мерцание экрана). Включается возможность автоотключения от screen в случае разрыва соединения (по умолчанию off, поэтому в случае разрыва соединения - сессию восстановить будет невозможно), ко всему этому еще измененена и строка статуса.