Screen

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 19671ID сессии 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Курсор лево/вниз/вверх/вправо
  • После SSH подключения к серверу, набираем screen;
  • Запускаем интересующую нас команду в режиме screen - сессии;
  • Выполняем команду Ctrl + a и d, чтобы выйти из режима работы с экран-сессией
  • Через какое-то время возвращаемся к запущенному ранее экрану командой screen -r

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