The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Пример использования консольного оконного менеджера screen (screen wm console)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: screen, wm, console,  (найти похожие документы)
From: Roman Shramko <http://dormestmass.blogspot.com>; Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC) Subject: Пример использования консольного оконного менеджера screen Оригинал: http://dormestmass.blogspot.com/2007/10/screen.html Одной из самых первых утилит, которые я ставлю на свежеустановленный сервер является screen. Эта маленькая программка является воистину незаменимой во многих случаях, особенно, если дело касается работы с удаленными хостами. Основной задачей screen, как видно из её названия, является создание и управление множеством виртуальных терминалов в рамках одной login-сессии. Однако, воистину волшебной является возможность отключения от текущей сессии и последующее подключение к ней. Эта особенность хорошо зарекомендовала себя при работе с серверами по низкоскоростным и малонадежным каналам связи, таких как GPRS или PPP. Что такого полезного в этой особенности? Я думаю, что те, кто хотя бы раз пытался произвести длительный по времени процесс компиляции, напримем пересобрать мир на удаленном сервере с FreeBSD, меня поймут. Разорвался канал -- наша песня хороша, начинай сначала :). После запуска screen сразу создает 0-е окно, запускает в нем shell и помещает туда пользователя. Все последующие операции выполняются при помощи клавиатурных комбинаций, которые начинаются с "Ctrl-a". Как уже было сказано выше, для меня самой востребованной возможностью является отключение от текущей сессии. Выполняется эта процедура при помощи комбинации "Ctrl-a d". После этого можно смело закрывать ssh-сессию и заниматься другими делами. Прицепится обратно к запущенной сессии можно при помощи ключа -r. Если у нас запущено несколько сессий screen на одном хосте, то дополнительно придется указать PID запущенного screen-a, в который мы хотим попасть. server ~ # screen -r There are several suitable screens on: 31624.pts-0.server (Detached) 31047.pts-13.server (Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them. Иногда, если отключение от сессии произошло не вручную, а из-за разрыва канала связи, возникает следующая ситуация: server ~ # screen -r There is a screen on: 31047.pts-13.server (Attached) There is no screen to be resumed. Эту проблему легко побороть, использовав при запуске два ключа -d -r. Значительно реже я использую возможности работы с виртуальными экранами. Вот набор команд для проведения операций над ними: Ctrl-a c Создать новое окно Ctrl-a пробел Открыть следующее окно Ctrl-a backspace или del Открыть предыдущее окно Ctrl-a 0-9 Выбор окна 0-9 Ctrl-a Ctrl-a Переключение между текущим и предыдущим окнами Ctrl-a w Вывести список окон. Текущее окно будет отмечено звездочкой (*) Закрыть текущее окно можно либо комбинацией "Ctrl-a k", либо просто выйдя из шелла, запущенного в этом окне. Ещё одной фичей screen-a является возможность выполнения операций копирования/вставки между окнами. Для включения режима копирования служит команда "Ctrl-a [" В режиме копирования курсор передвигается при помощи стрелок, либо при помощи буквенных клавиш h,j,k,l. Начало копируемого блока и его конец отмечается при помощи пробела. Вставка скопированного блока выполняется при помощи команды "Ctrl-a ]". Ну и напоследок стоит упомянуть о краткой встроенной справке, которая вызывается при помощи комбинации "Ctrl-a ?" Кроме того, вышеописанными командами возможности screen-a не ограничиваются. Подробности -- в man 1 screen ;).

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:





  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor TopList