screen - виртуальный терминал
Утилита screen позволяет запускать много процессов в одном терминале. Эффективно использовать совместно ssh, чтобы во время одно сессии иметь доступ к нескольким консольным терминалам.
Также при обрывах связи или закрытии окна консоли сессия терминалов продолжается выполнять и к ним можно переподключиться.
Установка
Установка в gentoo:
emerge app-misc/screen -av
Настройка
Чтобы сделать использование визуально более удобным можно воспользоваться следующим конфигом:
~/.screenrc или /etc/screenrc
hardstatus alwayslastline hardstatus string '%{gk}[ %{G}%H %{g}][%{= kw}%-w%{= BW}%n %t%{-}%+w][%= %{=b kR}(%{W} %h%?(%u)%?%{=b kR} )%{= kw}%=][%{Y}%l%{g}]%{=b C}[ %d.%m.%Y %c:%s ]%{W}'
Использование
Создание новой сессии терминала:
screen
Список активных сессий терминала:
screen -ls
Подключиться к предыдущей сессии или создать новую (если сессий нет):
screen -R
Если после разъединения, терминал в котором работали остался в состоянии Attached
There is a screen on: 834.pts-2.host (Attached) 1 Socket in /root/.screen.
Необходимо использовать следующие сочетание опций
-d -R Reattach a session and if necessary detach or even create it first.
Основные действия внутри терминала выполняются клавиатурными комбинациями:
- Создать новое окно терминала - Ctrl+A,C
- Изменить название окна - Ctrl+A,Shift+A
- Список окон - Ctrl+A,"
- Перейти к следующему окну - Ctrl+A,N
- Перейти к предудущему окну - Ctrl+A,P
- Отсоединиться от терминала - Ctrl+A,D
- Блокировка сессии - Ctrl+A,X (разблокировка по паролю)
- Прокрутка - Ctrl+A,Esc, (PgUpPgDown)
Регионы
Screen можно поделить на регионы по горизонтали, в каждом регионе будет отображаться отдельно окно терминала.
- Новый регион создается командой Ctrl+A,Shift+S.
- Чтобы попасть во вновь созданный регион нужно переключиться в него: Ctrl+A,Tab
- В каждом регионе можно циклически переключаться между окнами с помощью команд Ctrl+A,N или Ctrl+A,P.
- Регион закрывается командой Ctrl+A,Shift+X.
- Размер текущего региона может быть изменен командой Ctrl+A,+ или Ctrl+A,-.
Проблемы с замороженным окном
Легко перепутать заглавную S со строчной s и вместо Ctrl+A,Shift+S набрать команду Ctrl+A,S которая пошлет сигнал «заморозить» родительский терминал.
Чтобы отменить эту команду необходимо набрать - Ctrl+A,Q.
Обсуждение