====== Screen ====== ===== Ссылки ===== [[wp>GNU_Screen|GNU Screen]] http://www.gnu.org/software/screen/ ===== Команды screen ===== ^ Управление screen-ом из shell ^^ |**screen -S ** | Создать сессию screen с именем | |**screen -ls** | Список сессий screen | |**screen -r ** | Подключиться к сесии | |**screen -d -r ** | Подключиться к сесии в состоянии (Attached) | |**screen -R** | Подключиться к отключенной (detached) сесии если возможно, либо запустить новую| |**screen -X lockscreen** | Заблокировать сессию screen (для разблокировки необходим пароль пользователя) | ^Команды screen ^^^ ^Комбинация клавиш ^Команда ^Описание ^ |**Общие команды** ||| |** + <:>** |colon |Переключение в командный режим | |** + ** |help |Справка по командам | |** + ** |lastmsg |Повтор последнего сообщения в строке статуса | |** + ** |meta |Передать ону управляющую комбинацию **** | |**Управление окнами** ||| |** + ** |screen |Cоздание нового окна в текущей сессии screen | |** + ** |windows |Вывод списка окон в строке статуса | |** + ** |number |Вывод номера и заголовка текущего окна в строке статуса | |** + <”>** |windowlist |Вывод интерактивного списка окон для последующего переключения | |** + ** |select |Переключение в окно с порядковым номером | |** + ** |next |Переключение в следующее окно | |** + ** |prev |Переключение в предыдущее окно | |** + ** |other |Переключение между текущим и предыдущим окнами | |** + <'>** |select |Ввод номера окна для переключения | |** + ** |title |Переименование текущего окна | |** + ** |kill |Принудительно закрыть окно | |**** | |Выход из текущего окна, в последнем окне- выход из screen | |**Работа с содержимым окон** ||| |** + <С>** |clear |Очистить текущее окно | |** + ** |monitor |Включение/отключение слежения за активностью в текущем окне | |** + <_>** |silence |Включение/отключение слежения за бездействием в текущем окне | |** + ** |log |Включение/отключение записи протокола действий в текущем окне в тектовый файл screenlog. | |** + ** |hardcopy |Текстовый дамп содержимого окна в файл hardcopy. | |** + <[>** |copy |Режим копирования ("пробел" отмечает начало и конец области и копирует в буфер)| |** + <]>** |paste |Вставка содержимого буфера в текущую позицию | |**Работа с областями экрана** ||| |** + ** |split |Разделить окно или область на 2е части | |** + ** |focus |Перючение между областями | |** + ** |only |Закрыть все области кроме текущей | |** + ** |remove |Закрыть текущую область | |**Выход из screen ** ||| |** + ** |detach |Отключение от screen, сессия остается запущенной в фоновом режиме | |** + ** |pow_detach |Отключение от screen, передача родительскму процессу screen сигнала HANGUP (выход из shell) | |** + ** |suspend |Перевод screen в фоновый режим как процесс shell, можно использовать команды ''jobs,bg,fg'' | |** + <\>** |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