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


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

Ключевые слова:
Записей в блоге
 за 2016 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 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 соответственно текущей команде.


      Оставить комментарий
      © Максим Прокопов 2005-2016 О сервере