В сегодняшнем выпуске по настройке и использованию операционной системы Ubuntu 10.10 я покажу, как играть играючи с системой.
Что я имею ввиду под понятием играючи: сталкивались ли Вы при подключении к консоли сервера по ssh, набирая или редактируя конфигурационные файлы получать обрыв линии и забыв сохранить наработанный результат оказаться при потере данных. У всех такое было, но постойте есть выход из сложившейся ситуации. Это утилита — screen. Она позволяет сворачивать программы в фон и с последующим возвратом к ним. Я рассмотрю вариант запуска системной утилиты htop (интерактивный просмотрщик процессов) и покажу, как сворачивать окно работающей программы, возвращаться к нему как ни в чём не бывало и многие другие вещи. Итак,
в моем распоряжении исходная система:
keiz@vkeiz:~$ cat /etc/issue && uname -a
Ubuntu 10.10 \n \l
Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
Посмотрим в репозитариях Ubuntu 10.10 искомую утилиту:
keiz@vkeiz:~$ aptitude search screen
i screen – terminal multiplexor with VT100/ANSI terminal emulation
Установим её в нашу систему:
keiz@vkeiz:~$ sudo aptitude install screen
Для первоначального запуска, просто в окне терминала (на клавиатуре нажмите «Ctrl + Alt + T» ) наберите команду screen с указанием скрина отражающего имя выполняемой задачи:
keiz@vkeiz:~$ screen -S htop
При таком запуске, программа создаст новую оболочку в которой откроет сессию командной строки.
Запускаем интерактивный просмотрщик процессов:
keiz@vkeiz:~$ htop
Чтобы свернуть запущенную сессию и всё то что в ней работает, нажимаем на клавиатуре «Ctrl + A», а затем клавишу «D».
Вы обнаружите терминал, который вы открыли прежде, со строкой:
[detached]
keiz@vkeiz:~$ screen -S htop
[detached from 3091.htop]
Это значит, что экранная сессия, запущенная раньше, была отсоединена, но не закрыта.
Теперь по такому же принципу можем создать еще один скрин, к примеру вывод логов системы на консоль:
keiz@vkeiz:~$ screen -S tail
keiz@vkeiz:~$ sudo tail -f /var/log/messages
Сворачиваем его («Ctrl + A», далее клавиша «D»):
keiz@vkeiz:~$ screen -S tail
[detached from 3118.tail]
Чтобы посмотреть список запущенных скринов:
keiz@vkeiz:~$ screen -list
There are screens on:
3118.tail (09/18/2012 02:22:13 PM) (Detached)
3091.htop (09/18/2012 02:16:31 PM) (Detached)
2 Sockets in /var/run/screen/S-keiz.
Чтобы подключиться в свернутые сессии:
keiz@vkeiz:~$ screen -r <идентификатор_сессии>
, где
<идентификатор_сессии> – это числовое значение выведенное при просмотре запущенных скринов. В моем случае — это 3118 и 3091.
Также можно создать новый скрин, но уже в свернутом состоянии:
(удобно для rtorrent и любых других консольных утилит которые сами не умеют работать в фоне)
keiz@vkeiz:~$ screen -dmS nano nano
, где
-d — укажет, что скрин нужно свернуть.
-m — создать скрин
-S – указываем имя создаваемого скрина
слева направо:
nano (1) — название скрина
nano (2) — команда выполняемая внутри
keiz@vkeiz:~$ screen -list | grep -E nano — отображение созданного нового скрина в свернутом состоянии.
3144.nano (09/18/2012 02:28:26 PM) (Detached)
Чтобы выйти из запущенного скрина:
т. е. мы работаем к примеру со скрином в котором запущена утилита htop, нажимаем
«Ctrl + A», «\» и окно screen нас спрашивает, сообщение вида, вы действительно хотите выйти и завершить ваше задание, отвечаем «Y»
по результату мы вернёмся в окно консоли и сообщение в нем будет подтверждать прекращение сессии.
keiz@vkeiz:~$ screen -r 3091
[screen is terminating]
Расписанный по шагам данный материал в практической части у Вас вызовет только положительное состоянии. Я стараюсь освятить, как можно более жизненных моментов с которыми мы постоянно сталкиваемся. А пока всё, удачи!!! Следите за обновлениями.