Использование утилиты screen

SCREEN — оконный менеджер, применяемый для создания нескольких оболочек в одном виртуальном терминале.
Т.е. с помощью него можно в одной сессии работать с несметным количеством окон.

Полезные особенности:

  • при разрыве соединения, процессы продолжают выполняться на удаленном сервере, т.е. нет привязки к запущенной сессии;
  • можно запускать несколько экземпляров программы с требуемым количеством окон в каждом;
  • просто очень и очень удобная штука для удаленного администрирования, можно даже сказать незаменимая.

Горячие комбинации клавиш и команд, наиболее полезные и востребованные, дабы труд, который никто не оценит, протекал проще и быстрее.

Команды

screen — запустить с параметрами по умолчанию;
screen -S — запустить с определенным именем «name»;
screen -U — запуск в режиме UTF-8;
screen -ls — посмотреть существующие скрины с названиями и состоянием (выводиться в виде: pid.tty.host, «attached»- работают, «detached»- нет, «dead»- мертвые);
screen -wipe — удалить «мертвый» сеанс;
screen -r — подключиться к скрину;
screen -r name — подключиться к определенному скрину с именем «name» (можно указывать несколько начальных букв);
screen -R [name] — присоединиться, а если он не существует, то создать;
screen -x [name] — подключиться к определенному активному скрину с именем «name», т.е. к которому на данный момент уже присоединены с другой сессии.

Чтобы не возиться с вышеописанными командами можно использовать следующую команду для удаленного доступа по SSH:

ssh -t login@host screen -Rd — после входа на сервер сразу попадаем в запущенный скрин, а если такового нет, то он создастся. Если в это время к существующему уже с другого места присоединены, то там просто произойдет отключение.
ssh -t login@host screen -RD — отличие в том, что в другой сессии не только будет отключение от скрина, а и logout из самой ssh-сессии.

Клавиши

Регистр, как обычно в *nix-системах, имеет значение;
Ctrl+a — это управляющая комбинация клавиш и после нее идет какая-либо клавиша;
Ctrl+a space — переключиться на след. окно в сеансе;
Ctrl+a c — создать новое окно;
Ctrl+a A — назвать текущее окно;
Ctrl+a « — посмотреть список окон с возможностью переключения в какое-либо из них;
Ctrl+a ‘ — переключиться на определенное окно по названию или номеру;
Ctrl+a [0-9] — переключиться на соответствующее окно (нумерацию можно посмотреть с помощью Ctrl+a «);
Ctrl+a a — переключение между двумя последними окнами;
Ctrl+a n — переключиться на следующее окно;
Ctrl+a p — на предыдущее, также можно использовать BackSpace, вместо символа p;
Ctrl+a d — отсоединиться от screen;
Ctrl+a Esc — переводит screen в «режим копирования».
Становится доступным передвижение по экрану (кстати, работают комбинации клавиш перемещения, как в VIM-e или less, в том числе и поиск — «/»);
Ctrl+a M — слежение за активностью (сработает при появлении новой информации);
Ctrl+a _ — для слежения за бездействием (сработает при прекращении поступления информации в терминал);
Ctrl+a * — показать список всех подключенных сейчас дисплеев.