====== Screen ====== ===== Ссылки ===== [[wp>GNU_Screen|GNU Screen]] http://www.gnu.org/software/screen/ ===== Команды 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 ===== <code apache> 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 </code>