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