Консольный віконний менеджер – SCREEN

SCREEN – повноекранний і досить потужний консольний віконний менеджер з підтримкою скролінга й пошуку у вікні й функцією копіювання-вставки між ними. Найцікавіша функція даного менеджера полягає в тім що, Ви можете в будь-який момент від’єднатись від свого screen’a і закрити сеанс роботи в shell-і. Після цього Ви можете приєднавшись до screen’у знову продовжити свою роботу з того місця де Ви зупинилися

Сайт розробника http://www.gnu.org/software/screen/

І так розберемо докладніше як же працювати з даним чудом. Для початку заглянемо в конфігураційний файл .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   - запаролити менеджер

Опції командного рядка:

-rd - підключитись до screen-a
-list/-ls - список запущених менеджерів вікон
-dm - запуск screen в режимі deatach. Корисно для скриптів
-wipe - видалити інформацію про запущені screen-и
-x - приєднатись до screen. Приєднання відбудеться, навіть 
якщо screen вже запущено в іншій сесії



coded by nessus