IT-Expert
  IT-Expert / Веблог / Настройка и использование screen во FreeBSD
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2011 год
 за 2010 год

     за 2009 год
     за 2008 год
     за 2007 год
     за 2006 год
     за 2005 год
    RSS лента Лента новостей IT-Expert 
    Лента подкастов IT-Expert IT-Expert audiopodcasts

    Настройка и использование screen во FreeBSD

    10:17, 27 декабря 2005 ( Administration FreeBSD Daily thoughts  )

    Для начала мой текущий .screenrc (любезно предоставлен bpj.pp.ru)

    --------------------------- ~/.screenrc -----------------------------------

    startup_message off   # Who cares :P
    nethack on            # Nicer messages
    vbell off             # I hate barking dogs :P
    msgminwait 0          # the first message is ignored.
    msgwait 10            # the last message is displayed for 10 seconds or until keypress.

    #hardstatus lastline "%{+b wk} %c %D %d %M %Y $LOGNAME : %H %=[ %w ] "
    hardstatus lastline "%{+b wk} %c %D %d %M %Y $LOGNAME : %H %=[ %w ] "

    # %{BW}%16=%l

    # These apps are started up on default when a new screen-session is started.
    screen    -t mc 1 mc
    screen -t centericq 2 centericq
    screen    -t sudo     3 sudo -s
    #screen    -t mutt      3 mutt
    #screen   -t midc      4 csh

    # This is the initial window.

    log off

    # change the default c-a to c-e, use c-e s to get a litteral c-e
    #escape ^Ee 


    Материал предоставлен Andrey A. Belashkov virus@center.hqhost.net

    SCREEN - полноэкранный и достаточно мощный консольный оконный менеджер с поддержкой скроллинга и поиска в окне и функцией копирования-вставки между ними. Наиболее интересная функция данного менеджера заключается в том что Вы можете в любой момент отсоединиться от своего screen`a и закрыть сеанс работы в шеле. После этого Вы можете присоединившись к screen`у вновь продолжить свою работу с того места где Вы остановились.

    В данной статье я хочу в вкратце рассказать о основных приемах работы с данной утилитой. За более подробной информацией обращайтесь к манам. ;) Версия рассматриваемой программы - 3.09.11. Установка произведена из стандартного Debian Woody репозитария.

    Итак, разберем по подробнее как же работать с данным чудом. Для начала заглянем в конфигурационный файл .screenrc который находиться в Вашем домашнем каталоге. Если его там нет, можно скопировать файл общесистемный файл screenrc который находиться в каталоге /etc.

    Что же полезного можно включить в конфигурационном файле? Все опции можно изменить во время работы. Для этого нажмите Ctrl+a : и введите название параметра и его значение. Например для изменения

    Разберем некоторые директивы:

    vbell off - управляет визуальным звонком. Если данный параметр будет включен (on) то звонок будет отображаться как вспышка на экране.

    activity 'activity in window %n' - сообщение которое будет выводиться при включенном режиме мониторинга за окном. Полезно если Вы ждете какого либо действия в окне.

    bell_msg 'bell in window %n' - сообщение которое выведется на Ваш экран в случае получения screen`ом звукового сигнала в каком либо окне.

    nethack on - изменяет стиль текста выводимых сообщений на стиль знаменитой игрушки NetHack. Почувствуйте себя в подземельях... ;)

    autodetach on - если по какой то причине соединение с управляющим процессом будет потеряно, то после востановления работа в screen может быть возобновлена. В обратном случае (off) - screen будет уничтожен со всеми дочерними окнами и процессами.

    startup_message off - выключает сообщение об авторских правах при первом запуске screen`а.

    defscrollback 10000 - количество строк по умолчанию для буфера прокрутки.

    caption always - показывает заголовки окна в строке статуса.

    caption string "%{rk} %c %{dd} %{+b M}%n %{-b dd}%-w%{+b B.}%n* %t%{-}%+w%<" - форматирование строки статуса. Данный набор символов приведет к тому что в строке статуса будет отображаться время и цветом выделяться активное окно.
    После запуска screen создаст одно окно с Вашим шелом. В последствии вы сможете создать дополнительные окна. Все нажатия клавиш передаются текущей программе в окне. Ограничение накладывается только на управляющую последовательность самого менеджера. Данная последовательность Ctrl+a. Для того что бы передать приложению данную последовательность Вам нужно нажать Ctrl+a и сразу a. В остальном - абсолютно никаких ограничений. Единственно что тип терминала должен быть VT100 совместим для правильной передачи нажатий при удаленной работе.
    Тип терминала передаваемый приложению в окне screen - так и называться screen. Если Ваше приложение не поддерживает данный тип - его всегда можно изменить путем изменения переменной TERM.


    КРАТКАЯ СВОДКА КОМБИНАЦИЙ КЛАВИШ ПРИ РАБОТЕ
    Для создания нового окна - Ctrl+a c (create).

    Для переключения между окнами - Ctrl+a a - между последним активным.

    Ctrl+a <НОМЕР> - выбор окна по номеру. Ctrl+a (p|n) - циклическое перемещение между окнами. p - prev, n - next. Ctrl+a " - список окон для переключения.

    Управление окнами - Ctrl+a A - изменить заголовок окна. Аналогично вводу команды title при нажатии Ctrl+a :

    Ctrl+a C - очистить окно.
    Ctrl+a F - подогнать размер окна под текущий размер терминала.
    Ctrl+a H - протоколирование окна в файл screenlog.<НОМЕР ОКНА>
    Ctrl+a K - уничтожить окно.
    Ctrl+a M - режим слежения за активностью в окне. Если в момент этого вы находитесь в другом окне - в подсказке будет выведено:activity in window <НОМЕР ОКНА>
    Ctrl+a r - переключение режима переноса по словам. (wrap)
    Ctrl+a S - очень интересный режим работы. Сплит. То-есть текущее окно разделяется на две части и в обоих можно открыть по новому окну.
    Переключение между окнами Ctrl+a; TAB, выход из режима сплит - Ctrl+a Q.
    Общие команды

    Ctrl+a ? - помощь
    Ctrl+a Esc - режим скроллинга. Он же режим копирования. Для копирования подведите курсор к нужному месту и нажмите пробел.
    Ctrl+a ] - Вставка выделенной области.
    Ctrl+a x - Запереть менеджер. При вкомпиленной поддержке PAM - для разблокировки нужно ввести пароль пользователя от которого запущен менеджер. В обратном случае пароль для разблокировки будет запрошен при блокировании.

    НАИБОЛЕЕ ЧАСТО ПРИМЕНЯЕМЫЕ ОПЦИИ КОМАНДНОЙ СТРОКИ.
    rd - подключиться к screen. Сделать deatach для остальных сессий.
    list/-ls - список запущенных менеджеров.
    dm - запуск screen в режиме deatach. Полезно для init скриптов или скриптов вообще.
    wipe - удалить сведения о запущенных менеджерах. Полезно в случае потери менеджера, но сохранения информации о нем.
    x - присоединиться к screen. Присоединение осуществляется даже в случае существующих соединений. Полезно при работе с одним screen из разных окружений. Например один screen и на X и на консоль. ;)

    Мне было удобно запускать несколько основных приложений в screen: mc, sudo и centericq.

    В дополнение к вышесказанному строка в .bashrc
    export PS1=$PS1"\[\e]30;\H:\w\a\]"
    будет задавать заголовок закладки в Konsole соответственно текущей команде.


    Оставить комментарий
    © Nexus 2005-2011 Rambler Top100 О сервере