Работа со screen'ом: различия между версиями
Bond (обсуждение | вклад) |
Bond (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | ==screen== | ||
Screen - полноэкранный консольный менеджер окон, делящий физический терминал на виртуальные. Имеется буфер истории для каждого виртуального терминала и механизм копирования-вставки текста между окнами. При вызове screen создается единственное окно с Вашим шеллом в нем. Теперь Вы можете создавать новые окна (включая и шеллы), убивать их, перемещаться между ними, копировать и вставлять текст из одного окна в другое и тд. И самое главное - в любое время Вы можете отсоединиться от своего screen, а потом возобновить работу из другого места!! | Screen - полноэкранный консольный менеджер окон, делящий физический терминал на виртуальные. Имеется буфер истории для каждого виртуального терминала и механизм копирования-вставки текста между окнами. При вызове screen создается единственное окно с Вашим шеллом в нем. Теперь Вы можете создавать новые окна (включая и шеллы), убивать их, перемещаться между ними, копировать и вставлять текст из одного окна в другое и тд. И самое главное - в любое время Вы можете отсоединиться от своего screen, а потом возобновить работу из другого места!! | ||
Строка 12: | Строка 13: | ||
Все, мы в screen ) Это наше первое окно. Все вводимые команды и сочетания клавиш будут переданы программе, запущенной в активном окне. Все, кроме управляющего сочетания клавиш (по умолчанию - Ctrl + a). | Все, мы в screen ) Это наше первое окно. Все вводимые команды и сочетания клавиш будут переданы программе, запущенной в активном окне. Все, кроме управляющего сочетания клавиш (по умолчанию - Ctrl + a). | ||
− | + | ==Часто употребляемые сочетания клавиш для управления screen:== | |
Строка 29: | Строка 30: | ||
</ul><br /> | </ul><br /> | ||
Итак, потыркавшись минут 5, уже имеем общее представление о screen и начальные навыки работы с ним. Запоминаем комбинации клавиш.<br /> | Итак, потыркавшись минут 5, уже имеем общее представление о screen и начальные навыки работы с ним. Запоминаем комбинации клавиш.<br /> | ||
− | |||
Едем дальше:<br /> | Едем дальше:<br /> | ||
Строка 42: | Строка 42: | ||
<li>C-a ] - вставить текст из буфера.</li> | <li>C-a ] - вставить текст из буфера.</li> | ||
</ul><br /> | </ul><br /> | ||
− | + | ||
Все вроде разобрались. Теперь - самое интересное. <br /> | Все вроде разобрались. Теперь - самое интересное. <br /> | ||
<br /> | <br /> |
Текущая версия на 13:55, 14 ноября 2008
screen
Screen - полноэкранный консольный менеджер окон, делящий физический терминал на виртуальные. Имеется буфер истории для каждого виртуального терминала и механизм копирования-вставки текста между окнами. При вызове screen создается единственное окно с Вашим шеллом в нем. Теперь Вы можете создавать новые окна (включая и шеллы), убивать их, перемещаться между ними, копировать и вставлять текст из одного окна в другое и тд. И самое главное - в любое время Вы можете отсоединиться от своего screen, а потом возобновить работу из другого места!!
Краткий очет об использовании screen.
Итак, начнем. Вводим в консоли
host@Spike:~$ screen
Появится лицензия, нажимаем Ентер. Появляется приглашение командной строки.
Все, мы в screen ) Это наше первое окно. Все вводимые команды и сочетания клавиш будут переданы программе, запущенной в активном окне. Все, кроме управляющего сочетания клавиш (по умолчанию - Ctrl + a).
Часто употребляемые сочетания клавиш для управления screen:
Все вводимые команды и сочетания клавиш будут переданы программе, запущенной в активном окне. Все, кроме управляющего сочетания клавиш (по умолчанию - Ctrl + a).
Приведем самые часто употребляемые сочетания клавиш для управления screen:
- C-a С-c (зажать ctrl, нажать a, отпустить всё, зажать ctrl, нажать с =)))) - создает новое окно с шеллом и переключается на него.
- C-a A - обозвать окно по-своему. Удобно, когда окон много, называть окно по его содержимому. Например, hacking Necrosoft )
- C-a C - очистить экран активного окна.
- C-a C-k - уничтожить активное окно.
- C-a C-n - переключиться на следующее окно.
- C-a C-p - переключиться на предыдущее окно.
- C-a " - список окон.
- C-a ’ - строка ввода заголовка или номера окна для переключения.
- C-a <Номер> переключается на окно с номером <Номер>
Итак, потыркавшись минут 5, уже имеем общее представление о screen и начальные навыки работы с ним. Запоминаем комбинации клавиш.
Едем дальше:
- C-a H - начать / закончить протоколирование активного окна в screenlog.номер_окна
- C-a M - режим мониторинга за активным окном. Если в окне что-либо происходит, а Вы находитесь в другом окне, то вылезет подсказка об активности.
- C-a F - подгоняет размер окна под размер терминала.
- C-a C-g - включает / выключает режим vbell. В таком режиме системный звонок отображается миганием экрана.
- C-a N - отображает номер и заголовок текущего окна.
- C-a S - разделяет текущее окно на два региона (очень удобно, советую), которые, в свою очередь, тоже можно разделить. Для перехода между регионами - C-a Tab. В новом регионе создаем новое окно C-a C-c и работаем. Чтобы отменить разделение - C-a Q (удаляет все регионы, кроме текущего). C-a X - убивает только текущий регион.
- C-a Esc - режим скроллинга и копирования. Для выделения участка текста - подвести курсор к началу нужного элемента и нажать пробел, а после выделения - опять пробел. Текст будет скопирован в буфер. Для выхода из режима - Esc.
- C-a ] - вставить текст из буфера.
Все вроде разобрались. Теперь - самое интересное.
C-a C-d - отсоединяет screen от текущего терминала с возможностью последующего (а также множественного) подключения. <img src="images/smilies/cool.gif" border="0" alt="" title="Счастье" class="inlineimg" />
Отсоединяемся на работе, приходим домой, заходим по ssh и подключаемся к своему screen. Все окна на месте, все процессы работают. Как будто и не уходил вовсе )
Параметры запуска screen:
-ls - выдает список отсоединенных screen'ов.
-r pid.tty.host - подключиться к screen.
-d -m - запускает screen, однако не присоединяетего к текущему терминалу. Тоесть, к не му в последствии подключиться можно. Полезно для загрузочных скриптов.
-x - присоединиться к неотсоединенному screen - позволяет одновременно работать с разных мест разным людям. Удобно.
-wipe - тоже самое, что и -ls. однако мертвые сесси не указывает, как "destroyed", а уничтожает.
-U - запускает screen в режиме кодировки UTF-8.
-R - пытается присоединиться к первому найденному отсоединенному screen. Если не находит - создает новый Screen.