linux:screen
Содержание
Утилита screen
Утилита screen позволяет запускать много процессов в одном терминале. Эффективно использовать совместно ssh, чтобы во время одно сессии иметь доступ к нескольким консольным терминалам.
Также при обрывах связи или закрытии окна консоли сессия терминалов продолжается выполнять и к ним можно переподключиться.
# yum install screen (CentOS) # apt-get install screen (Debian) # emerge app-misc/screen (Gentoo)
Команды screen
Управление screen-ом из shell | |
---|---|
screen -S <session_name> | Создать сессию screen с именем <session_name> |
screen -ls | Список сессий screen |
screen -r <session-id> | Подключиться к сесии <session-id> |
screen -d -r <session-id> | Подключиться к сесии <session-id> в состоянии (Attached) |
screen -R | Подключиться к отключенной (detached) сесии если возможно, либо запустить новую |
screen -X lockscreen | Заблокировать сессию screen (для разблокировки необходим пароль пользователя) |
Команды screen | ||
---|---|---|
Комбинация клавиш | Команда | Описание |
Общие команды | ||
<ctrl + a> + <:> | colon | Переключение в командный режим |
<ctrl + a> + <?> | help | Справка по командам |
<ctrl + a> + <m> | lastmsg | Повтор последнего сообщения в строке статуса |
<ctrl + a> + <a> | meta | Передать ону управляющую комбинацию <Ctrl+a> |
Управление окнами | ||
<ctrl + a> + <c> | screen | Cоздание нового окна в текущей сессии screen |
<ctrl + a> + <w> | windows | Вывод списка окон в строке статуса |
<ctrl + a> + <N> | number | Вывод номера и заголовка текущего окна в строке статуса |
<ctrl + a> + <”> | windowlist | Вывод интерактивного списка окон для последующего переключения |
<ctrl + a> + <Number> | select | Переключение в окно с порядковым номером <Number> |
<ctrl + a> + <Space> | next | Переключение в следующее окно |
<ctrl + a> + <BackSpace> | prev | Переключение в предыдущее окно |
<ctrl + a> + <ctrl + a> | other | Переключение между текущим и предыдущим окнами |
<ctrl + a> + <'> | select | Ввод номера окна для переключения |
<ctrl + a> + <A> | title | Переименование текущего окна |
<ctrl + a> + <k> | kill | Принудительно закрыть окно |
<ctrl + d> | Выход из текущего окна, в последнем окне- выход из screen | |
Работа с содержимым окон | ||
<ctrl + a> + <С> | clear | Очистить текущее окно |
<ctrl + a> + <M> | monitor | Включение/отключение слежения за активностью в текущем окне |
<ctrl + a> + <_> | silence | Включение/отключение слежения за бездействием в текущем окне |
<ctrl + a> + <H> | log | Включение/отключение записи протокола действий в текущем окне в тектовый файл screenlog.<number> |
<ctrl + a> + <h> | hardcopy | Текстовый дамп содержимого окна в файл hardcopy.<number> |
<ctrl + a> + <[> | copy | Режим копирования ("пробел" отмечает начало и конец области и копирует в буфер) |
<ctrl + a> + <]> | paste | Вставка содержимого буфера в текущую позицию |
Работа с областями экрана | ||
<ctrl + a> + <S> | split | Разделить окно или область на 2е части |
<ctrl + a> + <Tab> | focus | Перючение между областями |
<ctrl + a> + <Q> | only | Закрыть все области кроме текущей |
<ctrl + a> + <X> | remove | Закрыть текущую область |
Выход из screen | ||
<ctrl + a> + <d> | detach | Отключение от screen, сессия остается запущенной в фоновом режиме |
<ctrl + a> + <D><D> | pow_detach | Отключение от screen, передача родительскму процессу screen сигнала HANGUP (выход из shell) |
<ctrl + a> + <z> | suspend | Перевод screen в фоновый режим как процесс shell, можно использовать команды jobs,bg,fg |
<ctrl + a> + <\> | quit | Закрыть все окна и выйти из из screen |
Пример .screenrc
shell -$SHELL # Make the shell in every window as a login shell #escape `` # use ` instesd of Ctrl-A startup_message off # default: on (No startup messages) autodetach on # default: off ( Automatically detach on hangup ) defscrollback 1024 # default: 100 ( Change default scrollback value for new windows ) crlf off # default: off altscreen on silencewait 15 # default: 30 msgminwait 0 # the first message is ignored msgwait 10 # default 5 (The last message is displayed for 10 seconds or until keypress) vbell on # default: off vbell_msg " -- Ring, Ring!! -- " # default: "Wuff,Wuff!!" #vbell_msg "bell on %t(%n)" #activity "" activity "Activity in %t(%n)" hardstatus alwayslastline hardstatus string '%{= wk} %=%{b} %t(%n) %{r}[%l]' caption always '%{= wk}%?%-Lw%?%{b}[%{k}%n*%f%t%?(%u)%?%{b}]%{k}%?%+Lw%?%?%= %D %d %M %Y %c:%s%{-}' # Other views for status strings # #hardstatus string '%{= bb}%{+b w}%n %h %=%t %d-%m-%Y %c' #caption always "%{=}%?%{R}%H %L=%{+b}%?%{y}%-Lw%47L>%?%{g}%n*%f %t %?%{y}%+Lw%?%{b}%-31=%c %l %Y-%m-%d" # #caption always "%{= 45}%{+b w}Screen: %n | %h %=%t %c" #hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # logging #deflog on logfile $HOME/logs/screen_%Y-%m-%d_%0c_%n.log # starting windows chdir # Go to HomeDir screen -t tcsh 1 tcsh screen -t mc 2 mc screen -t sumc 3 sudo mc chdir /var/log # Go to LogsDir screen -t logs 4 select 2 # Select mc window
Ссылки
linux/screen.txt · Последнее изменение: 2013/08/16 19:14 — 127.0.0.1
Обсуждение