Консольный оконный менеджер - SCREEN

        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 и на консоль. ;)