Сейчас 127 заметки.

GNU Screen

Материал из ЗАметки

Использование GNU Screen для управления сессиями терминалов.

Установка GNU screen Issue the following commands for Debian and Ubuntu systems to ensure that your system is up to date and to install screen:

Для установки на дистрибутивы Debian и Ubuntu необходимо выполнить следующие команды:

apt-get update
apt-get upgrade
apt-get install screen

Для установки на дистрибутивы CentOS и Fedora необходимо выполнить следующие команды:

yum update
yum install screen

Для установки на дистрибутив Arch Linux необходимо выполнить следующие команды:

pacman -Sy
pacman -S screen

Для установки на дистрибутив Gentoo необходимо выполнить следующие команды:

emerge --sync
emerge screen


Использование.


Чтобы открыть новый терминал в консоли наберите команду

screen

В зависимости от настроек у вас откроется либо приглашение системы, либо экран приветствия (нажав Enter или Space откроется оболочка). После запуска screen’а вы попадаете в режим оболочки, в котором можно работать как с обычной командной строкой.

Чтобы закрыть текущую оболочку (именно закрыть, а не отсоединиться, т.е. все процессы запущенные в нём так же завершатся!) нужно просто нажать сочетание клавиш ctrl+d.

Чтобы отсоединиться от текущей сессии (при этом запущенные в нём процессы останутся выполняться) нужно послать сначала комбинацию ctrl+a, а затем букву d (далее подобные комбинации будут обозначаться так: ctrl+a d).

Для того, чтобы вернуться к отсоединённой сессии достаточно выполнить команду

screen -r

Этот способ сработает, если у вас запущена одна копия screen’а.

Если же у вас работает несколько screen’ов, то вы получите сообщение об ошибке

hostname:~# screen -r
There are several suitable screens on:
25431.pts-0.hostname (07.07.2011 03:05:32) (Detached)
25424.pts-0.hostname (07.07.2011 03:05:11) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Чтобы подключиться к определённой сессии достаточно выполнить команду “screen -r pid-сессии”

screen -r 25424

Если вы не хотите запоминать столь малоинформативные названия сессий screen’a, то можно задать им названия при запуске

screen -S mygameserver

После отсоединения от такого терминала можно будет вернуться к нему, обратившись по его названию

screen -r mygameserver

Если у вас будет запущено несколько терминалов с одинаковым названием, то при обращении к нему придётся указать вначале так же и pid процесса

screen -r 26080.mygameserver


Горячие клавиши


Команд, описаных выше, вполне достаточно для работы с утилитой screen. Однако для удобства и более быстрой работы вы можете использовать различные сочетания “горячих клавиш”.

Ctrl+a c - Создать новое окно
Ctrl+a n - Перейти к предыдущему окну
Ctrl+a p - Перейти к следущему окну
Ctrl+a 1 - Перейти к окну 1 (можно использовать цифры от 0 до 9)
Ctrl+a “ - Вывести список открытых окон
Ctrl+A A - Переименовать текущее окно
Ctrl+a k - Уничтожить текущее окно
Ctrl+a i - Показать информацию о текущем окне
Ctrl+a S - Разделить окно на две части
Ctrl+a C - Очистить текущее окно

Это список наиболее часто используемых “горячих клавиш”. Их полный список вы можете узнать послав screen’у комбинацию клавиш Ctrl+a ?.