Screen это терминальный мультиплексор. Другими словами, оно дает нам возможность внутри действующей сессии открыть сколько угодно много виртуальных окон/терминалов. Что важно - процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии.
screen –version Посмотреть версию
~/.screenrc - параметры screen сессии
#Выключаем приветствие startup_message off # включаем визуальный звонок vbell off # буфер для сохраненных строк делаем 10000 defscrollback 10000 # кастомим строку состояния hardstatus alwayslastline hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
| Команда | Описание |
|---|---|
| screen -S test | Запуск новой сессии с именем test |
| screen -dmS home | Создание сессии home без подключения к ней |
| screen -ls (-list) | просмотр запущенных сессий |
| screen -x | Присоединиться к запущенной активной сессии |
| screen -r | Присоединиться к сессии, если она одна |
| screen -r 22222.test | подключимся к сессии 22222.test |
| screen -dRR | Присоединиться к сессии, отключив все остальные дисплеи |
| Команда | Описание |
|---|---|
| ctrl + a и d | выйти из текущей сессии screen |
| ctrl + a и D D | выйти из текущей сессии и сделать logout |
| ctrl + a \ | выйти из всех программ в screen(не рекомендуется) |
| ctrl + a Ctrl+\ | Принудительный выход(не рекомендуется) |
| exit | закрыть текущую сессию |
| screen -X -S 21208.21179.home quit | |
| kill 19671 | ID сессии screen = ID процесса, поэтому удалив процесс можно удалить сессиию |
| screen -S my_session_4 -X quit | Запустить команду quit в сессии, закрыть сессию |
| Сочетание клавиш | Описание |
|---|---|
| Ctrl+a или ? | Список команд |
| ctrl + a и c | Создание терминального окна |
| ctrl + a и ctrl + a | перейти между окнами |
| ctrl + a и <номер> | Переход в окно <номер> |
| ctrl + a и ' <номер или название окна> | Переход в окно <номер или название окна> |
| ctrl + a и n или Ctrl+a пробел | Переход к следующему окну в списке |
| ctrl + a и p | Переход к предыдущему окну |
| ctrl + a и " | Показать список всех окон |
| ctrl + a и w | Показать панель окон |
| ctrl + a и k | Принудительно закрыть текущее окно(не рекомендуется) |
| ctrl + a и \ | Принудительно закрыть все окна(не рекомендуется) |
| Сочетание клавиш | Описание |
|---|---|
| ctrl + a и S | Разделить окно по горизонтали на две области |
| ctrl + a и | или ctrl+a V | Разделить окно по вертикали на две области |
| ctrl + a и tab | Перейти на следующую область разделённого окна |
| ctrl + a и X | Удалить текущий регион |
| ctrl + a и Q | Закрыть все разделённые области кроме |
| Сочетание клавиш | Описание |
|---|---|
| ctrl+a [ или ctrl+a <esc> | Навигация по буферу |
| <пробел> | Включить выделение для копирования |
| ctrl+a ] | Вставить из буфера |
| Сочетание клавиш | Описание |
|---|---|
| screen -S имя сессии -X команда | посылает команду в сессию |
| screen -S session1 -X ping www.ru | Запускает пинг в сессии |
| screen -S session1 [-p <page>] -X stuff $'quit\r' | Запускает пинг в сессии |
# run bash within screen screen -AmdS bash_shell bash # run top within that bash session screen -S bash_shell -p 0 -X stuff $'top\r' # ... some time later # stuff 'q' to tell top to quit screen -S bash_shell -X stuff 'q' # stuff 'exit\n' to exit bash session screen -S bash_shell -X stuff $'exit\r'
| Сочетание клавиш | Описание |
|---|---|
| ctrl+a ctrl+l | Перерисовка окна |
| ctrl+a M | Мониторинг окна на активность |
| ctrl+a _ | Мониторинг окна на отсутсвие активности |
| ctrl+a ctrl+V | Ввести цифровый символ |
| ctrl+a p | Ввести пароль на сессию |
| ctrl+a : | Ввести команду screen |
| ctrl+a H | Запретить логирование в screen сессии |
В режиме копирования можно осуществлять перемещение с помощью следующих сочетаний клавиш.
| Сочетание клавиш | Описание |
|---|---|
| ctrl+u | Скроллинг на пол страницы верх |
| ctrl+d | Скроллинг на пол страницы вниз |
| ctrl+b | Назад |
| ctrl+f | Вперёд |
| h/j/k/l | Курсор лево/вниз/вверх/вправо |
1.Создаём сессию archiving
screen -S archiving
Выходим из сессии Ctrl+A+D
2.Создаём сессию BuildO
screen -S BuildO
Выходим из сессии Ctrl+A+D
3.Просматриваем список сессий
screen -ls
4.Подключаемся к сессии BuildO
screen -r 20577.BuildO
5.Выходим из сессии
exit