мета-данные страницы
  •  

Это старая версия документа!


screen

GNU screen - консольный мультиплексор терминала, эмулирующий терминал VT100/ANSI.

Описание

Описание

Опции командной строки

У программы screen такие ключи командной строки:

  • -a - включать все возможности (за некоторыми небольшими исключениями) в termcap каждого окна, даже если screen должен перерисовывать часть экрана для реализации функции.
  • -A - адаптирует размеры всех окон под размер текущего терминала. По умолчанию screen пытается восстановить старый размер окна (при подключении к терминалам с изменяемыми размерами (те у кого есть «WS» в описании, например, suncmd или xterm).
  • -c file - использовать file вместо стандартного «$HOME/.screenrc» в качестве конфигурационного
  • -d|-D [pid.tty.host] - не запускает новый сеанс, а отключает вместо этого уже запущенный ранее. Достигается тот же эффект, что и в случае нажатия клавиш «C-a d» на управляющем терминале screen. Ключ -D эквивалентен ключу power detach. Если ни к одному сеансу нельзя обратиться, опция игнорируется. В связке с -r/-R могут быть достигнуты другие более интересные эффекты:
  • -d -r - подключить к сеансу, и если необходимо, сначала отключить его.
  • -d -R - переподключиться к сеансу. Если необходимо — сначала отключить или создать сеанс.
  • -d -RR - переподключиться к сеансу. Если необходимо — сначала отключить или создать сеанс. Воспользоваться первой сессией, если больше одной сессии создать нельзя.
  • -D -r - подключиться к сеансу. Если необходимо, сначала отключить его удалённо и разрегистрироваться.
  • -D -R - подключиться здесь и сейчас. Это значит: если сессия работает, переподключиться. Если необходимо, сначала отключиться удалённо. Если не работала — создать и сообщить об этом пользователю. Любимый ключ авторов.
  • -D -RR - подключиться прямо сейчас. Не важно, что будет, просто сделать это. Замечание: хорошая идея всегда проверять состояние сеансов screen с помощью «screen -list»
  • -e xy - устанавливает управляющий символ равным x и символ, который генерирует сам этот символ в y (после ввода командного символа). По умолчанию это «C-a» и «a», что можно явным образом указать как «-e^Aa». При создании сеанса screen эта опция устанавливает управляющий символ. В многопользовательских сеансах все добавляемые пользователи будут использовать указанный символ. При подключении к существующей сессии, опция меняет управляющий символ только для пользователя, выполняющего подключение. Опция эквивалентна командам «defescape» и «escape» соответственно.
  • -f, -fn и -fa - включить, выключить или перевести в автоматический режим flow-control. Аналогичный результат достигается с помощью команды «defflow» конфигурационного файла.
  • -h num - установить размер истории буфера прокрутки равным num строк.
  • -i - приводит к тому что клавиша прерывания (C-c) срабатывает мгновенно если включено аппаратное управление потоком. См. команду defflow. Использование этой опции не рекомендуется.
  • -l и -ln - включает или выключает login-режим (для обновления /var/run/utmp). Это же можно задать с помощью команды deflogin в файле ~/.screenrc
  • -ls и -list - не запускает screen, а показывает список идентифицирующих сеансы screen строк pid.tty.host. Сеансы, которые отмечены словом «detached» могут быть продолжены с помощью команды «screen -r». Сеансы, которые отмечены словом «attached», работают, и у них есть управляющий терминал. Если сеанс работает в многопользовательском режиме, он отмечен словом «multi». Сеансы, которые отмечены словом «unreachable» или работают на другом хосте, или умерли (dead). Недоступный (unreachable) сеанс считается мёртвым, если его имя соответствует или имени локального хоста, или указанному параметру (если такой есть). Как описывать строки для выбора рассказывается в описании ключа -r. Сеансы, отмеченные как «dead», нужно проверить и удалить. Если вы не уверены, нужно ли удалять какой-то сеанс, вы можете обратиться к системному администратору. Удалить сеансы можно с помощью опции -wipe.
  • -L - включить автоматическую запись (logging) для окон.
  • -m - заставляет screen игнорировать переменную окружения $TTY. При использовании «screen -m» создаётся новый сеанс, независимо от того вызывается ли screen изнутри другого сеанса screen или нет. Этот флаг имеет особое значение, если вызывается с опцией:
  • -d -m - запустить сеанс в «отключенном» режиме. Сессия создаётся, но к ней не выполняется подключение. Это полезно для загрузочных системных скриптов.
  • -D -m - тоже запускает screen в «отключенном» режиме, но не создаёт новый процесс. Команда завершается, если сессия прерывается.
  • -O - использует более оптимальный режим вывода вашим терминалом, чем в случае с обычной эмуляцией VT100 (касается только auto-margin терминалов без поддержки LP). Такого же результата можно достичь, если установить OP в команде termcap.
  • -p number_or_name - заранее выбирает окно. Полезно, когда вы хотите переподключиться к конкретному окну или если вы хотите с помощью опции -X отправить команду в конкретное окно. Как и в случае с командой select, знак «-» означает пустое окно. Если вместо номера указать символ =, то при подключении появится меню windowlist с списком окон.
  • -q - подавляет вывод сообщений об ошибках. В сочетании с «-ls» возвращает код завершения: 9 - нет каталога с сеансами; 10 - каталог есть, но нет сеансов, к которым можно подключиться. 11 (или больше) говорит что есть 1 (или больше) рабочий сеанс. В сочетании с «-r» возвращает код завершения: 10 - нет сеансов, которые можно возобновить; 12 (или больше) что есть 2 (или больше) сеанса, работу которых можно возобновить, и нужно выбрать какой-то один. Во всех остальных случаях ключ «-q» эффекта не имеет.
  • -r [pid.tty.host] / -r sessionowner/[pid.tty.host] - возобновляет работу отключённого сеанса. Никакие другие опции (за исключением комбинаций с -d/-D) не допускаются. Необязательный параметр [pid.]tty.host может указываться для того чтобы определить какой именно сеанс из множества отключённых имеется в виду. Вторая форма используется для подключения к работающему в многопользовательском режиме сеансу другого пользователя. Эта опция говорит о том, что файл нужно искать в каталоге другого пользователя. Требует наличия бита setuid-root у программы screen.
  • -R - пытается возобновить работу первого попавшегося отключённого сеанса. Если попытка успешная, все остальные аргументы командной строки игнорируются. Если отключённых сеансов нет, запускает новый сеанс с учётом заданных опций, так как будто -R вообще и не указано. Эта опция подразумевается по умолчанию, когда screen вызывается как login-оболочка (в этом случае подразумеваются опции «-xRR»). О взаимодействии с -d/-D см. описание этих опций.
  • -s - устанавливает оболочку по умолчанию равной заданной программе (без опции в качестве оболочки по умолчанию используется программа, что указана в $SHELL или «/bin/sh», если никакая не указана). Такой же эффект может быть получен с помощью команды shell в файле «.screenrc».
  • -S sessionname - эта опция может использоваться для задания имени сеансу при его создании. Имя используется для идентификации при вызове «screen -list» и «screen -r». Оно заменяет постфикс «tty.host», использующийся по умолчанию.
  • -t name - установить заголовок для командного интерпретатора или указанной программы. См. также команду shelltitle для .screenrc.
  • -U - запустить screen в режиме UTF-8. Эта опция говорит screen, что терминал посылает и понимает символы в кодировке UTF-8. Этот ключ также устанавливает кодировку по умолчанию для окон utf8.
  • -v - показать номер версии.
  • -wipe [match] - работает также как «screen -ls», только удаляет файлы уничтоженных сеансов вместо того чтобы помечать их как «dead» (мёртвые). Сеанс, который не отвечает, считается мёртвым, или если его имя соответствует имени локального хоста, или указанному явно параметру match. См. описание ключа -r, где рассказаны правила составления match.
  • -x - подключиться к активной (not detached) сессии screen. (Многодисплейный режим).
  • -X - отправить указанную команду в работающий сеанс screen. Можно указать ключ «-d» или «-r», чтобы screen смотрел только на подключённые (attached) или отключённые (detached) сеансы. Обратите внимание на то, что команда не сработает, если сеанс защищён с помощью пароля.

Привязки клавиш

  • C-a ' (select) - Спросить название или имя окна, в которое нужно переключиться.
  • C-a « (windowlist -b) - Представить список всех окон для выбора.
  • C-a 0 (select 0) - …
  • C-a 1 (select 1) - …
  • C-a 2 (select 2) - …
  • C-a 3 (select 3) - …
  • C-a 4 (select 4) - …
  • C-a 5 (select 5) - …
  • C-a 6 (select 6) - …
  • C-a 7 (select 7) - …
  • C-a 8 (select 8) - …
  • C-a 9 (select 9) - …
  • C-a - (select -) - Переключиться в окно с номером 0 - 9 или в пустое окно.
  • C-a tab (focus) - Переключить фокус ввода на следующий регион.
  • C-a C-a (other) - Переключиться в ранее активное окно. (по умолчанию команда привязана к управляющему символу, нажатому дважды — например, если вы вызовите screen с опцией »-e]x«, команда будет вызываться символами »]]«).
  • C-a a (meta) - Отправить C-a в окно. См. также команду escape
  • C-a A (title) - Ввести заголовок текущего окна.
  • C-a b / C-a C-b (break) - Отправить break в окно.
  • C-a B (pow_break) - Повторно открыть терминальную линию и отправить break.
  • C-a c / C-a C-c (screen) - Создать новое окно с запущенным интерпретатором и переключиться в это окно.
  • C-a C (clear) - Очистить экран.
  • C-a d / C-a C-d (detach) - Отключить screen от этого терминала.
  • C-a D D (pow_detach) - Отключиться и разрегистрироваться.
  • C-a f / C-a C-f (flow) - Включить/выключить/перевести в автоматический режим управление потоком (flow control).
  • C-a F (fit) - Изменить размер окна под размер текущего региона.
  • C-a C-g (vbell) - Переключить режим visual-bell.
  • C-a h (hardcopy) - Записать копию текущего окна в файл «hardcopy.n».
  • C-a H (log) - Начать/закончить запись сессии работы в текущем окне в файл «screenlog.n».
  • C-a i / C-a C-i (info) - Показать информацию о текущем окне.
  • C-a k / C-a C-k (kill) - Уничтожить текущее окно.
  • C-a l / C-a C-l (redisplay) - Полностью обновить текущее окно.
  • C-a L (login) - Переключить login-запись этого окна. Доступно только если screen настроен на обновление базы utmp.
  • C-a m / C-a C-m (lastmsg) - Повторить последнее сообщение, показанное в строке сообщений.
  • C-a M (monitor) - Включить/выключить мониторинг в текущем окне.
  • C-a space / C-a n / C-a C-n (next) - Переключиться на следующее окно.
  • C-a N (number) - Показать номер (и заголовок) текущего окна.
  • C-a backspace / C-a h / C-a p / C-a C-p (prev) - Переключиться на предыдущее окно (противоположно C-a n).
  • C-a q / C-a C-q (xon) - Отправить CTRL-q в текущее окно.
  • C-a Q (only) - Удалить все регионы за исключением текущего.
  • C-a r / C-a C-r (wrap) - Включить/выключить настройку line-wrap текущего окна (включает и выключает автоматические отступы (automatic margins)).
  • C-a s / C-a C-s (xoff) - Отправить control-s в текущее окно.
  • C-a S (split) - Разделить текущий регион на два новых.
  • C-a t / C-a C-t (time) - Показать информацию о системе.
  • C-a v (version) - Показать версию и дату сборки.
  • C-a C-v (digraph) - Ввести диграф.
  • C-a w / C-a C-w (windows) - Показать список окон.
  • C-a W (width) - Переключить количество колонок: 80/132
  • C-a x / C-a C-x (lockscreen) - Заблокировать текущий терминал.
  • C-a X (remove) - Закрыть текущий регион.
  • C-a z / C-a C-z (suspend) - Приостановить (suspend) screen. Система должна поддерживать управление работами (job-control) в стиле BSD.
  • C-a Z (reset) - Сбросить виртуальные терминалы в их исходные значения.
  • C-a . (dumptermcap) - Записать файл ».termcap«
  • C-a ? (help) - Показать привязки клавиш.
  • C-a C-\ (quit) - Закрыть все окна и завершить screen.
  • C-a : (colon) - Перейти в режим ввода командной строки screen.
  • C-a [ / C-a C-[ / C-a esc (copy) - Перейти в режим копирования/прокрутки.
  • C-a ] (paste .) - Записать содержимое буфера обмена в стандартный поток ввода текущего окна.
  • C-a { / C-a } (history) - Скопировать и вставить предыдущую командную строку.
  • C-a > (writebuf) - Записать буфер обмена в файл.
  • C-a < (readbuf) - Прочитать файл обмена (screen-exchange) в буфер обмена.
  • C-a = (removebuf) - Удалить файл, использующийся вместе с C-a < и C-a >.
  • C-a , (license) - Показать информацию о программе GNU Screen.
  • C-a _ (silence) - Включить/выключить режим слежения за неактивностью текущего окна.
  • C-a * (displays) - Показать список всех подключенных сейчас дисплеев.

Индивидуальная настройка