Этот пост представляет собой больше узелок на память, чем развернутый ответ на вопросы что? где? когда? ... почему? :)
Screen является консольной утилитой для работы с несколькими консолями в одной терминальной сессии. Грубо говоря screen позволяет запускать несколько приложений в одном терминале и легко между ними маневрировать, делить окно на несколько частей и в каждой части отображать разные приложения (например, на сервере можно в одном окне сразу смотреть top и mytop).
Работа с screen
screen - создание новой сессии
screen -ls - список запущенных сессий
screen -S "session_name" - запустить новую сессию с именем session_name
screen -r [session_name] - восстановить последнюю рабочую сессию, необязательный параметр - имя сессии
screen top - запустить программу top в первой консоле
Шоткаты для screen
Ctrl+a c - создать новое окно
Ctrl+a k - убить выбранное окно
Ctrl+a d - выход из screen, сессия остается работать в фоновом режиме
Ctrl+a " - показать список всех открытых окон
Ctrl+a n - переключиться на следующие окно
Ctrl+a p - переключиться на предыдущие окно
Ctrl+a <номер окна> - переключиться на окно с выбранным номером
Ctrl+a :source ~/.screenrc - перезагрузить конфиг
Ctrl+a S - разбить окно на регионы по-горизонтали
Ctrl+a TAB - переключится на другой регион
Ctrl+a Q - закрыть все регионы, кроме текущего
Ctrl+a A - переименовать окно
Ctrl+a [ (или Ctrl+a ESC) - перейти в режим копирования
Ctrl+a ] - вставить содержимое буфера по умолчанию
Ctrl+a m - установить отметку о мониторинге за данным окном, если что-то поменяется то screen просигнализирует об этом
Мой .screenrc
startup_message off hardstatus alwayslastline hardstatus string "%= %{kW}[ %H ] [ %t ]" caption always "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %{..Y} %l %c %d/%m/%Y " # detach on hangup autodetach on # set a big scrolling buffer defscrollback 5000 termcapinfo xterm|xterms|xs|rxvt ti@:te@
Дополнительное чтиво:
Альтернатива screen - tmux