Использование утилиты 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 *
— показать список всех подключенных сейчас дисплеев.