RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


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