Как установить скрин на вдс
Как использовать screen в Linux
Вы когда-нибудь сталкивались с ситуацией, когда вы выполняете длительную задачу на удаленном компьютере, и внезапно ваше соединение разрывается, сеанс SSH завершается, и ваша работа теряется. Что ж, в какой-то момент это случилось со всеми нами, не так ли? К счастью, есть утилита screen которая позволяет нам возобновлять сеансы.
Введение
Экран или GNU Screen — это терминальный мультиплексор. Другими словами, это означает, что вы можете запустить сеанс экрана, а затем открыть любое количество окон (виртуальных терминалов) внутри этого сеанса. Процессы, запущенные в Screen, будут продолжать работать, если их окно не отображается, даже если вы отключитесь.
Установить Linux GNU Screen
В настоящее время пакет screen предустановлен в большинстве дистрибутивов Linux. Вы можете проверить, установлен ли он в вашей системе, набрав:
Если в вашей системе не установлен screen, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.
Установите Linux Screen в Ubuntu и Debian
Установите Linux Screen на CentOS и Fedora
Экран запуска Linux
Чтобы начать сеанс экрана, просто введите screen в консоли:
Это откроет сеанс экрана, создаст новое окно и запустит оболочку в этом окне.
Теперь, когда вы открыли сеанс экрана, вы можете получить список команд, набрав:
Начало именованного сеанса
Именованные сеансы полезны, когда вы запускаете несколько сеансов экрана. Чтобы создать именованный сеанс, запустите экранную команду со следующими аргументами:
Всегда рекомендуется выбирать описательное имя сеанса.
Работа с Linux Screen Windows
Когда вы запускаете новый сеанс экрана, он создает одно окно с оболочкой в нем.
У вас может быть несколько окон внутри сеанса Screen.
Ниже приведены некоторые наиболее распространенные команды для управления экраном Linux в Windows:
Отключиться от сеанса экрана Linux
Вы можете отключиться от сеанса экрана в любое время, набрав:
Программа, запущенная в сеансе экрана, продолжит работу после того, как вы отключитесь от сеанса.
Повторное подключение к экрану Linux
Чтобы возобновить сеанс экрана, используйте следующую команду:
Чтобы найти идентификатор сеанса, укажите текущие сеансы запущенного экрана с помощью:
Если вы хотите восстановить экран 10835.pts-0, введите следующую команду:
Настроить экран Linux
Когда screen запускается, он считывает свои параметры конфигурации из /etc/screenrc и
Вот пример конфигурации
/.screenrc с настроенной строкой состояния и несколькими дополнительными параметрами:
Базовое использование экрана Linux
Ниже приведены основные шаги для начала работы с экраном:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как пользоваться утилитой screen в Linux?
Окно в «новую жизнь»
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Прости, что напомнили. Знаем, это болезненно. Что же, вытрем слезы. Для этих ситуаций есть команда screen о которой мы и поговорим.
Немножко теории
Установка screen в Linux
Установка screen в Ubuntu и Debian
Установка screen в CentOS и Fedora
Запуск screen в Linux
У вас откроется новая сессия в новом окне. Уже здесь вы можете вводить все нужные shell команды. Находясь в режиме скрина (screen) вы можете посмотреть список доступных вам команд управления этим режимом. Вот так:
Сессия screen с именем
Ну очень удобная фича. Если вы делаете несколько процессов параллельно, просто обзовите их так, чтобы потом понять, что и где выполняется. Синтаксис такой:
Всегда используйте скрин именно так. Будет значительно удобнее.
Как правильно работать с окнами в Windows
Ниже мы собрали все команды, которые понадобятся вам для управления скринами:
Выход из screen сессии
Самое важное: запущенная вами в этот момент команда не остановится и будет продолжать свое выполнение.
Возврат к screen сессии
Вывод этой команды будет выглядеть вот так:
Немножко кастомизации screen под вас
Когда screen запускается, он считывает свои конфигурационные параметры из /etc/screenrc и
Посмотрите пример с комментариями, как мы закастомили screen для себя:
Типовой сценарий использования screen
Общий случай, так сказать. Обычно он состоит из следующих шагов:
Выводы
Мы разобрались, как создавать screen сессии, управлять ими внутри, открывая новые окна, выходить из их режима управления (без прекращения выполнения команды), делить горизонтально и вертикально экраны.
Ах да, ещё мы научились кастомизировать screen под себя. Профит!
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Как установить скрин на вдс
В составе стандартных комплектаций операционных систем Linux есть очень удобная утилита Screen практически не заменимая в ряде случаев при работе с удаленным подключением к системе по SSH.
Screen создает виртуальные консоли, которые можно отправить в фон или вывести на передний план, и в которых запускаются любое приложение или команда. Таким образом мы получаем некоторую аналогию с многозадачностью в графических средах и возможностью переключатся между запущенными окнами.
Запустить программу можно просто командой:
Эта команда создаст новую виртуальную консоль, мы будем называть ее «скрин».
В принципе это все что необходимо запомнить при работе с утилитой screen.
Кратко основные команды:
Возврат к свернутому скрину:
Запуск нового скрина:
Вывод списка запущенных скринов:
Возврат к конкретному скрину:
Выход/закрытие скрина, находясь в скрине:
Установка Screen в CentOS:
В стандартных дисковых шаблонах Debian и Ubuntu эта утилита как правило уже присутствует.
Установка Screen в Debian:
Установка Screen в Ubuntu:
Краткая инструкция по установке и использованию утилиты screen в OS Linux на этом закончена.
Связанные статьи
Использование SSL совместно с веб сервером Apache позволяет защитить конфиденциальные данные при.
Сегодня не для кого не секрет что вебсерверы подвержены атакам злоумышленников. Причин по которым.
Нет смысла обьяснять необходимость файрволла на сервере. Удачным выбором среди серверных.
В шаблоне CentOS 5 x86_64 + ISPmanager устанавливаемом на наших VPS серверах установлен PHP.
vsftpd (Very Secure Ftp Daemon) разрабатывался Chris Evans, недовольным уровнем безопасности.
Как пользоваться screen для управления терминалами Linux и отсоединения процессов от терминала
Что такое screen
Screen — это программа для «уплотнения» (мультиплекса) физических консолей. Суть в том, что несколько процессов (как правило интерактивных шеллов) могут работать в одном окне консоли. То есть эта программа позволяет пользователю иметь несколько экземпляров терминалов внутри одного терминала этого менеджера окон. Речь идёт не о вкладках, а о перемещении терминалов в фон. Одним из эффектов работы screen является то, что при закрытии окна терминала, процесс продолжает работу.
Приложение screen очень полезно если вы имеете дело с несколькими программами из интерфейса командной строки, а также для отделения программ от оболочки терминала. Она также позволяет вам делиться вашими сессиями с другими пользователями и отсоединять/подсоединять сессии терминала.
Как установить screen
На некоторых системах пакет screen может быть уже установлен. Если у вас его нет, то установите его.
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных:
На RedHat и производных:
На Arch Linux, BlackArch и их производных:
Чтобы установить screen на Solaris:
На самом деле, screen это очень полезная команда в Linux которая может пригодиться при различных обстоятельствах. Давайте начнём знакомство с функциями screen.
Запуск screen в первый раз
Просто наберите screen в приглашении командной строки:
Будет выведена информация о программе — нажмите ENTER, чтобы её скрыть. Затем приглашение командной строки вернётся в точно такое же, как было и ранее.
Справка по параметрам screen
Когда вы вошли в screen, вы можете делать вашу обычную работу как будто бы вы в обычном окружении командной строки. Программа screen расширяет функциольность за счёт своих команд (параметров).
Нажмите Ctrl-A, а затем ? (то есть Shift+/). Затем вы увидите все команды (параметры) screen.
Чтобы выйти из экрана справки, нажмите Пробел или Enter.
Отсоединение процесса от консоли в screen
Одним из преимуществ screen является возможность отсоединить от консоли процесс, который запущен внутри screen. Далее вы можете даже закрыть консоль (или отключиться от SSH) — процесс всё равно продолжит свою работу. Затем вы можете восстановить окно консоли — вы увидите, что программа всё это время работала и её данные не потеряны.
Пример сценария: вы работаете по SSH на вашем сервере. Вам нужно запустить программу, выполнение которой требует много времени. Это может быть скачивание большого патча для системы с помощью wget или любая длительная команда. В качестве примера я возьму обычный ping. Предположим мне нужно проверить качество связи с помощью ping на протяжении двух часов. Если я отключусь от SSH или связь будет потеряна случайно, то тогда процесс выполнения команды в консоли будет остановлен и нужно будет вновь начинать сначала. Чтобы этого избежать, мы можем использовать screen для отсоединения процесса от консоли.
Рассмотрим на примере конкретных команд.
Вначале входим в screen:
Затем я запускаю пинг:
В процессе работы программы, мы можем нажать Ctrl-a и d. Вывод от программы прекратиться, мы увидим примерно следующую информацию:
Повторное подсоединение консоли с запущенным процессом к screen
После отсоединения процесса и закрытия screens, вы можете отключиться от сервера, то есть закрыть SSH сессию и заняться другими делами. Затем вы можете подключиться к SSH снова — причём, возможно даже с другого компьютера. После этого вы можете увидеть прогресс выполнения вашего процесса (пинг, загрузка, что угодно). Чтобы это сделать, нужно восстановить screen. Для этого запустите следующую команду:
И вы увидите, что процесс, который вы здесь оставили, всё ещё запущен.
Если вы хотите восстановить сессию screen 13786.pts-2.HackWare, тогда наберите следующую команду:
Использование нескольких screen
Когда нужен больше чем один screen для выполнения работы, это возможно? Да, можно одновременно работать с несколькими screen. Вы можете запустить несколько окон screen одновременно — есть два способа сделать это.
Во-первых, вы можете отсоединить первый экран screen для запуска другого screen в реальном терминале.
Во-вторых, вы можете делать вложенные экраны screen.
Переключение между экранами
Когда вы делаете вложенные screen, вы можете переключаться между ними используя команду Ctrl-a и n. В этом случае вы перейдёте к следующему окну screen. Когда вам нужно перейти к предыдущем screen, то просто нажмите Ctrl-a и p.
Для создания нового окна screen нажмите Ctrl-a и c.
Как записать все действий в терминале
Иногда важно сохранить все действия в терминале, которые вы выполнили находясь в консоли, то есть вести журнал (логи) активности в консоли.
Допустим вы администратор Linux, который управляет множеством серверов Linux. С ведением журнала в screen, вам не нужно выписывать каждую команду, которую вы ввели. Для активации функции ведения журнала screen просто нажмите Ctrl-a и H. Пожалуйста, будьте осторожны — используется заглавная H (то есть Shift+h). Использование прописной ‘h’ только создаст скриншот экрана screen в файле с именем hardcopy.
В нижней левой части экрана будет уведомление, которое говорит что-то вроде Creating logfile «screenlog.0» (производится ведение журнала экрана). В своей домашней директории вы найдёте файл screenlog.0.
Эта функция будет добавлять в файл всё, что вы делаете в окне screen. Для закрытия активности по ведению журнала screen, вновь нажмите Ctrl-a и H.
Другой способ активировать функцию ведения журнала: вы можете добавить параметр -L во время запуска screen. Команда будет выглядеть примерно так:
Блокировка screen
Screen также имеет комбинацию клавиш для блокировки окна screen. Вы можете нажать Ctrl-a и x для блокировки screen. Это полезно, если вы хотите быстро заблокировать ваш screen. Пример вывода после блокировки:
Вы можете использовать ваш пароль в Linux чтобы разблокировать его.
Добавление пароля на заблокированный screen
Для дополнительной безопасности, вы можете установить пароль на вашу сессию screen. Пароль будет спрашиваться каждый раз, когда вы хотите подсоединить screen. Этот пароль отличается от пароля в описанным выше механизме блокировки окна Screen.
Чтобы защитить паролем screen, вы можете отредактировать файл «$HOME/.screenrc». Если файл не существует, создайте его. Синтаксис будет примерно таким:
ВАШ_ПАРОЛЬ нужно указать в виде хеша, а не в виде обычного текста. Если там указано none, то пароль не будет спрашиваться. Если не указать пароль, то screen покажет приглашение для ввода пароля и его подтверждения и поместит хеш в буфер обмена.
Чтобы сгенерировать хеш, нужно выполнить следующую последовательность действий:
Как выйти из Screen
Есть два способа покинуть screen. Первый это использовать Ctrl-a и d для отсоединения экрана. Второй — мы можем использовать команду exit для закрытия сессии screen. Вы также можете использовать Ctrl-a и K для остановки screen.
Как запустить скрипт, процесс которого отделён от терминала
С помощью screen также возможно запуск файла скрипта, который изначально будет отделён от терминала, например:
Это запустит отделённый (независящий) от терминала процесс. Можно отделить любую команду или процесс с помощью программы screen.
Как просмотреть предыдущие результаты (вывод)
Если вывод программы очень большой, то у вас могут возникнуть затруднения при скроллинге вверх.
Вы можете нажать Ctrl-a и Esc для входа в Copy mode (режим копирования). Когда вы окажитесь в режиме копирвоания, вы можете использовать для пролистывания экранов кнопки PageUp и PageDown.
Для выхода из Copy Mode, нажмите ещё раз Esc.
Как разделить экран на несколько вкладок в screen
В screen вы можете разделить окно на несколько виртуальных терминалов, которые будут одновременно присутствовать на экране. Для этого нажмите Ctrl-a и S.
Именные окна screen
Вы можете использовать несколько именных окон screen. Для этого запустите сессию screen с опцией -S, после которой укажите желаемое имя, например:
эта команда создаст screen с именем testing.
покажет текущие сессии screen с их именами:
Чтобы подключиться к именной сессии screen используйте опцию -x с именем сессии:
в результате предыдущей команды, вы подключитесь к testing screen.
Альтернатива для screen
Если вы ищите альтернативу для screen, то присмотритесь к tmux.
Это азы использования screen которые вам пригодятся практически при каждом её использовании. У программы ещё множество функций, с которыми вы можете ознакомится в её справке или на странице man.
Screen — несколько экранов в одной SSH сессии
Screen — очень удобная программа, если вы часто работаете в консоли, подключившись к серверу по SSH. В таком случае screen позволяет держать в одной консоли несколько разных экранов, удобно переключаясь между ними.
Screen позволяет отключиться от SSH, сохранив выполеняющиеся на удаленном сервере задания.
Установка screen
Для установки на Ubuntu нужно выполнить команду
После этого нужно запустить screen:
После запуска вы увидите либо приглашение командной строки, либо «экран приветствия», нажав SPACE или ENTER в котором, вы так же попадете в shell. При этом все команды будут запущены уже «внутри» screen’а.
Для того, чтобы выйти из screen’а (выйти, а не отсоединиться) достаточно выйти из всех открытых в нем оболочек, либо же, нажать комбинацию клавиш Ctl-a \, и ответить «y» на вопрос «действительно ли вы хотите выйти».
Отсоединиться от текущего скрина, не закрывая и не завершая сессии, можно комбинацией Ctrl-a d.
Подключение к screen
Если на машине уже есть запущенная screen-сессия, и вы хотите подсоединиться к ней, то
Выбираем нужный нам screen, и присоединяемся к нему:
Названия сессий по-умолчанию малоинформативны — просто номера процессов, если есть желание запустить и использовать несколько screen-сессий для разных задач, можно придумать более вменяемые названия. Придумываем название, затем запускаем новый screen вот таким образом:
и сможем подсоединиться к сессии job1, просто указав ее имя:
Переключение между окнами screen
Мониторинг выполнения команды
Если открыто несколько окон, полезной может быть возможность следить за активностью в каком-то из них. Например, если вы запустили «долгоиграющую» команду и интересно узнать, когда она завершится. Переходим в окно с этой командой, жмем Ctrl — a m, видим надпись типа такой: «Window 0 (bash) is now being monitored for all activity». Когда что-то в окне изменится, screen подаст звуковой сигнал, а в списке окон после номера появится символ «@».
Прокрутка экрана в screen
Для просмотра вывода команды, который ушел выше границ окна, нужно нажать Ctrl-a [
Это переключит screen в Copy mode. Для выхода из этого режима просто нажмите Esc.
Конфигурация screen
Конфигурируется screen с помощью файла
/.screenrc, в вашем домашнем каталоге. Например, можно написать туда:
Это даст вам все время видимый список открытых окон, и другую полезную информацию внизу экрана.
Завершение Screen
Если по какой-то причине сессия screen перестает отвечать, можно завершить ее. Для этого нужно подключиться к нужной сессии, затем нажать Ctrl — a и ввести команду «:quit».
Screen завершит работу данной сессии, принудительно закрыв все окна.
Работа со Screen
Одна из основных возможностей Screen — создание и управление несколькими консольными окнами, или текстовыми приложениями в одном единственном окне терминала. В один момент времени на экране терминала может находится только одно из окон (несколько их может быть только в случае если они делят экран терминала на части). Screen позволяет быстро переключаться между окнами, сохранять и позднее возвращаться к текстовой сессии и открывать доступ к ней другим пользователям. Плюс к этому Screen позволяет давать окнам заголовки, отслеживать активность в каждом окне и обмениваться содержимым окон с помощью копирования и вставки. И, вдобавок, Screen позволяет переназначать клавиши, управлять настройкой эмуляции терминала и решать еще много небольших задач, связанных с текстовыми окнами, в которых может и не быть постоянной необходимости, но которые могут помочь выполнению административной работы в отдельные моменты времени.
На рисунке изображен Screen с тремя именованными окнами (Work, Configuration, Logs) и открытый в нем текстовым редактором Vim, с примером файла конфигурации Screen.
Первый запуск
Screen может быть запущен с помощью консольной команды screen, но прежде всего проверим установлен ли Screen в вашей системе с помощью следующей команды:
Теперь мы можем запускать Screen, для чего просто набираем:
После запуска на экран может появиться информация о версии и лицензии (при рассмотрении конфигурации мы рассмотрим, как можно отменить вывод данного сообщения) и в этом случае необходимо нажать клавишу «Пробел» или «Ввод», после чего мы попадаем в, на первый взгляд обычную, текстовую оболочку. Надо заметить, что в командной строке сразу можно указать команду для запуска определенного приложения, например, для запуска top надо набрать:
Эту управляющую комбинацию клавиш можно поменять через файлы конфигурации (которые мы рассмотрим ниже), но во всех примерах будет рассматриваться только конфигурация по умолчанию. Таким образом, все клавиатурные команды Screen состоят из двух клавишных комбинации — управляющей Ctrl + a и непосредственно клавиши, или клавишной комбинации представляющей команду. Практически каждая команда также имеет своего текстового аналога, который можно выполнить, либо через файл конфигурации, либо, выполнив следующую команду:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | : | colon | Вывести приглашение для ввода текстовых команд в интерактивном режиме |
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | a | meta | Передать текущему предложению клавишную комбинацию Ctrl + a |
Управление окнами
В предыдущем разделе мы научились запускать Screen и выучили основной шаблон для всех клавишных команд. Пришло время разобраться с командами для управления окнами. При запуске Screen создает одно окно (если только в конфигурации не указано создание сразу нескольких окон) и присваивает ему номер 0. Новое окно с командной оболочкой можно создать с помощью команды ниже:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | c | screen | Создать новое окно |
При этом Screen создаст новое окно и присвоит ему следующий по порядку номер.В нашем случае новым окном будет окно с номером 1.
В предыдущем параграфе я описал пример с переключением между окнами, но пока не сказал какие команды для этого используются. Рассмотрим подробнее наиболее часто используемые команды для управления окнами:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | w | windows | Выводит список номеров и заголовков всех окон в нижней строчке экрана |
Ctrl + a | « | windowlist | Выводит интерактивный список номеров и заголовков всех окон из которого можно выбрать окошко для переключения |
Ctrl + a | Номер окна | select | Выбор окна по номеру. Например, команда Ctrl + a и 0 делает текущим окно с номером 0 |
Ctlr + a | n | next | Переключиться на следующее по порядку окно, или на первое окно если мы находились в последнем окне |
Ctrl + a | p | prev | Переключиться на предыдущее по порядку окно, или на последнее окно если мы находились в первом окне |
Ctrl + a | ‘ | select | Вывести приглашение ввода номера окна для переключения |
Ctrl + a | Ctrl + a | other | Переключиться на последнее использованное окно |
Ctrl + a | N | number | Показать номер и заголовок текущего окна |
Ctrl + a | A | title | Установить заголовок текущего окна |
Ctrl + a | k | kill | Принудительное закрытие окна, например, в случае если приложение не удается закрыть обычным способом |
При закрытии какого-либо из окон номера других окон не меняются и в нумерации появляются «дырки», которые позднее могут быть заполнены новыми окнами.Хотя Screen имеет команду для изменения номера окна, она здесь не рассматривается и остается для самостоятельного изучения. В случае, если закрыты все окна, Screen завершает свою работу и выводит сообщение:
Работа с текстом
Выше мы научились запускать Screen и управлять окнами — создавать их, переключаться от окна к окну, присваивать имена и закрывать. Теперь рассмотрим работу с содержимым окон — копирование и вставку текстового содержимого одного окна в другое, мониторинг окон, сохранение текстовой копии экрана и другие похожие задачи:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | M | monitor | Включить/выключить мониторинг активности для текущего окна. Когда мониторинг включен и в окне находящемся в фоновом режиме производится вывод текста, в служебной строке выводится информация об активности. |
— | — | silence | Включить/выключить мониторинг отсутствия активности для текущего окна. Когда мониторинг включен и в окне находящемся в фоновом режиме некоторый период времени не производится вывод текста в служебной строке выводится информация об отсутствии активности. |
Ctrl + a | h | hardcopy | Записать текстовое изображение текущего окна в файл hardcopy.номер_окна в каталоге Screen по умолчанию. |
Ctrl + a | H | log | Включить/выключить трассировку текста текущего окна в файл screenlog.номер_окна в каталоге Sccreen по умолчанию. |
Ctrl + a | [ | copy | Войти в режим копирования. Дополнительные команды этого режима описаны ниже. |
Ctrl + a | ] | paste | Вставить в окно текст из регистра по умолчанию (куда он предварительно был скопирован с помощью команды выше). |
В режиме копирования Screen запускает текстовый редактор похожий на редактор Vi. Наиболее часто используемые команды редактора:
Несколько окон на экране
По умолчанию Screen оставляет видимым на экране только одно логическое окно, но при желании есть дополнительная возможность разделить экран терминала на горизонтальные регионы. Таким образом, можно отображать сразу несколько окон на одном экране терминала. Рассмотрим подробнее команды для работы с регионами экрана:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | S | split | Разделить текущее окно, или регион на два новых региона. При этом размеры всех регионов меняются для получения дополнительного пространства на экране и в новом регионе отображается пустое окно. |
Ctrl + a | Tab | focus | Переместить текущий фокус отображения на регион ниже, или на верхний регион если текущим является самый нижний регион. |
Ctrl + a | Q | only | Закрыть все регионы кроме текущего |
Ctrl + a | X | remove | Закрыть текущий регион |
На рисунке 2 изображен Screen с тремя именованными окнами (Work, Configuration, Logs) и разделенным на два региона экраном. В верхнем регионе открыто окно Work с текстовым редактором Vim и примером файла конфигурации Screen. В нижнем регионе окно Configuration с частью общего файла конфигурации /etc/screenrc.
Консольные сессии
И в завершение, мы рассмотрим одну из самых популярных возможностей Screen.Представим следующую ситуацию: системный администратор, находясь дома, заходит на удаленный сервер, открывает несколько окон, запускает необходимые задачи, затем закрывает соединение и едет на работу. На работе он опять заходит на тот же сервер и восстанавливает открытые дома окна с результатами выполненных задач. Звучит немного фантастично? Ни в коем случае! Консольные сессии Screen как раз и предназначены для осуществления этой задачи. Они позволяют отсоединить от терминала текущую сессию Screen со всеми окнами и выполняемыми приложениями и, затем в любой момент времени присоединиться к ней опять. При этом все выполняемые под Screen приложения будут продолжать работать и использовать свои окна для вывода информации. Плюс ко всему консольных сессий может быть несколько, но в этой статье мы не будем на этом подробно останавливаться.
Рассмотрим команды отсоединения консольной сессии от терминала:
КЛАВИШНАЯ КОМБИНАЦИЯ | ТЕКСТОВАЯ КОМАНДА | ОПИСАНИЕ | |
---|---|---|---|
Ctrl + a | d | detach | Отсоединить консольную сессию и оставить ее запущенной в фоновом режиме. При этом Screen пишет: [detached] |
Ctrl + a | D D | pow_detach | Отсоединить консольную сессию, оставить ее запущенной в фоновом режиме и послать родительскому процессу Screen сигнал HANGUP. При запуске Screen из удаленного терминала это означает отсоединение Screen и затем закрытие соединения. При этом Screen пишет: [power detached] |
Ctrl + a | z | suspend | Отсоединить консольную сессию и оставить ее запущенной как фоновый процесс родительской командной оболочки. В этом случае для восстановления сессии кроме команд описанных ниже могут быть использованы стандартные команды управления фоновыми процессами командной оболочки |
Ctrl + a | Ctrl + | quit | Закрыть все окна сессии и выйти из Screen.Надо заметить, что многие дистрибутивы переопределяют клавишную комбинацию для этой команды, но текстовую команду можно использовать в любом случае |
Чтобы присоединиться обратно к отсоединенной сессии, или посмотреть список доступных сессий, необходимо запустить Screen с одним из следующих ключей:
Что дальше?
Screen имеет огромное количество различных возможностей и, практически, невозможно описать их все в одной статье, поэтому некоторая часть функциональности осталась «за кадром». Вот некоторые возможности/настройки Screen, которые не были рассмотрены выше и остаются для самостоятельного изучения:
Альтернативы screen
Screen — это программа с большой историей, надо заметить, что первая версия появилась в 1987-м году. На данный момент, к Screen, практически, не добавляется новых возможностей (одной из причин может быть наличие уже большого их количества на данный момент) и производится, в основном, только исправление ошибок. Если кому-то не нравится относительная «старость» Screen, или не нужно такое большое количество возможностей, то можно обратиться к одной из следующих программ:
max/twin/ ) — попытка создать текстовый оконный интерфейс аналогичный графическим собратьям.
Screen — несколько экранов в одной SSH сессии: 8 комментариев
Не могу сообразить — как заставить сразу после запуска запустить программу с правами root (конкретно openvpn)?
У меня переключение окон не работает.
Фактически при одновременном нажатии Ctrl+a происходит переключение только между первым и последним окном. Промежуточные окна никогда не доступны.
Так и должно быть в screen, если вы нажмёте дважды Ctrl-A.
Нажмите Ctrl-A и затем цифру — 0, 1, 2 и тд.
Подскажите, как при возвращении в screen увидеть весь лог который происходил там в момент моего долгого отсутствия?
Отображаются только последнии 50 +- строк
Алексей, нажмите Ctrl+A, и затем ESC или [
Это переведёт screen в Copy mode, и вы сможете прокрутить экран с помощью клавиш курсора или PgUp/PgDn.
Для выхода нажмите ESC.