- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как пользоваться утилитой screen в Linux?
- Немножко теории
- Установка screen в Linux
- Установка screen в Ubuntu и Debian
- Установка screen в CentOS и Fedora
- Запуск screen в Linux
- Сессия screen с именем
- Как правильно работать с окнами в Windows
- Выход из screen сессии
- Возврат к screen сессии
- Немножко кастомизации screen под вас
- Типовой сценарий использования screen
- Выводы
- Использование утилиты screen в Linux
- Установка утилиты screen в Linux
- Запуск и использование screen, работа с сессиями, фоновые процессы
- Сценарии использования screen в Linux
- Как использовать screen в Linux
- Введение
- Установить Linux GNU Screen
- Установите Linux Screen в Ubuntu и Debian
- Установите Linux Screen на CentOS и Fedora
- Экран запуска Linux
- Начало именованного сеанса
- Работа с Linux Screen Windows
- Отключиться от сеанса экрана Linux
- Повторное подключение к экрану Linux
- Настроить экран Linux
- Базовое использование экрана Linux
- Выводы
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как пользоваться утилитой screen в Linux?
Окно в «новую жизнь»
Сейчас вы точно прочувствуете важное команды screen . Бывало ли у вас такое, что вы выполняете (очень долго) команду в консоли — CLI на удаленной машине, будучи подключенным через SSH? Команда долго выполняется и близится к завершению как вдруг пропадает подключение, рвется SSH подключение и все, что вы делали — пропало?
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Прости, что напомнили. Знаем, это болезненно. Что же, вытрем слезы. Для этих ситуаций есть команда screen о которой мы и поговорим.
Немножко теории
Так называемый screen это терминальный мультиплексор (нас тоже пугает это слово). Другими словами, оно дает нам возможность внутри действующей сессии открыть сколько угодно много виртуальных окон/терминалов. Что важно — процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии.
Установка screen в Linux
Вообще, пакет screen предустановлен на большинстве современных Linux — дистров. Проверить можно командой:
Если случилось так, что у вас его нет — это можно быстро исправить простой установкой.
Установка screen в Ubuntu и Debian
Установка screen в CentOS и Fedora
Запуск screen в Linux
Чтобы запустить screen в консоли, просто наберите screen . Что может быть проще, не правда ли?
У вас откроется новая сессия в новом окне. Уже здесь вы можете вводить все нужные shell команды. Находясь в режиме скрина (screen) вы можете посмотреть список доступных вам команд управления этим режимом. Вот так:
Если не получается нажать указанную выше комбинацию, можно поступить проще: нажмите отдельно Ctrl+a , отпустите, а затем в консоль наберите ? и нажмите Enter
Сессия screen с именем
Ну очень удобная фича. Если вы делаете несколько процессов параллельно, просто обзовите их так, чтобы потом понять, что и где выполняется. Синтаксис такой:
Например, вы можете запустить ping — замер хоста с 1С и назвать сессию так:
Всегда используйте скрин именно так. Будет значительно удобнее.
Как правильно работать с окнами в Windows
Как мы уже сказали, когда вы создаете новую screen — сессию, вы создадите новое окно с shell оболочкой внутри. И что интересно — внутри скрин сессии вы можете создать множество дополнительных окон. Чтобы это сделать, воспользуйтесь командой (внутри скрина) Ctrl+a и c . Новому окну будет назначен номер от 0 до 9 (первый свободный).
Ниже мы собрали все команды, которые понадобятся вам для управления скринами:
- Ctrl+a и c — создать дополнительное окно ;
- Ctrl+a и » — показать список всех имеющихся окон;
- Ctrl+a и 0 — переключиться на окно с номером 0 (номер может быть иной);
- Ctrl+a и A — переименовать текущее окно;
- Ctrl+a и S — разделить окно по горизонтали на две области;
- Ctrl+a и | — разделить окно по вертикали на две области;
- Ctrl+a и tab — переключить рабочий фокус на следующую область разделенного окна;
- Ctrl+a и Ctrl+a — переключить рабочий фокус на предыдущую область разделенного окна;
- Ctrl+a и Q — закрыть все разделенные области кроме;
- Ctrl+a и X — закрыть текущую область;
Выход из screen сессии
Вы можете легко выйти из screen — сессии набрав:
Самое важное: запущенная вами в этот момент команда не остановится и будет продолжать свое выполнение.
Возврат к screen сессии
Чтобы вернуть к screen — сессии используйте команду:
Если у вас запущено больше чем одна screen — сессия, то после ключа r нужно указать ее ID. Узнать его просто с помощью команды:
Вывод этой команды будет выглядеть вот так:
В выводе выше мы выделили ID — сессий. Например, чтобы вернуться к сессии 32328 (pings_towards_1C), дайте команду:
Немножко кастомизации screen под вас
Когда screen запускается, он считывает свои конфигурационные параметры из /etc/screenrc и
/.screenrc , если файл присутствует. Так вот — мы можем легко перенастроить предпочтения использования screen и сделать это в файле .screenrc .
Посмотрите пример с комментариями, как мы закастомили screen для себя:
Типовой сценарий использования screen
Общий случай, так сказать. Обычно он состоит из следующих шагов:
- После SSH подключения к серверу, набираем screen ;
- Запускаем интересующую нас команду в режиме screen — сессии;
- Выполняем команду Ctrl + a и d , чтобы выйти из режима работы с экран-сессией
- Через какое-то время возвращаемся к запущенному ранее экрану командой screen -r
Выводы
Мы разобрались, как создавать screen сессии, управлять ими внутри, открывая новые окна, выходить из их режима управления (без прекращения выполнения команды), делить горизонтально и вертикально экраны.
Ах да, ещё мы научились кастомизировать screen под себя. Профит!
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Использование утилиты screen в Linux
Screen – консольная утилита позволяющая в действующей SSH сессии открывать неограниченное количество независимых виртуальных терминалов (окон). Процессы, выполняемые внутри screen, не прерываются даже при обрыве сессии с сервером.
Утилита screen является отличным инструментом как для новичков в Linux, так и для опытных системных администраторов. Внутри сессии screen можно запускать процессы, которые требуют длительное время на выполнения. В это же время вы всегда можете просто закрыть консоль и запущенный процесс будет выполняться в фоне.
Установка утилиты screen в Linux
Утилита screen по умолчанию установлена в ряде дистрибутивов Linux. В CentOS 8 утилита по умолчанию не установлена, придется доставлять вручную с помощью пакетного менеджера:
# dnf install epel-release -y — устанавливаем репозиторий EPEL, где размещается данная утилита
# dnf install screen -y – устанавливаем утилиту
На Debian/Ubuntu установка выполняется так:
# apt install screen
Чтобы посмотреть установленную версию screen, введите команду:
Запуск и использование screen, работа с сессиями, фоновые процессы
Запустите сессию screen одной командой:
Чтобы вывести справку по использованию screen, нажмите комбинацию ctrl + a и после этого введите знак вопроса (?).
Вернуться к сессии screen можно через кнопку пробел (space)
Чтобы полностью закрыть терминал screen, нажмите сочетание клавиш ctrl +d:
Чтобы просто выйти из сессии screen, не закрывая ее полностью, используйтекомбинацию:
Ctrl +a d
Если у вас открыта одна сессия screen, вернуться к ней можно с помощью команды:
Проверить список запущенных сессий screen:
Если сессий несколько, можно получить ID сессии и подключиться к нужной:
Если вы запускаете несколько сессий screen, то удобнее будет называть их по имени процесса, который там выполняется. Например:
Теперь, если у вас несколько разных сессии именованных screen и вы легко разберетесь в какую из нах вам нужно переключится.
Есть еще очень удобная функция в screen — это разделение экрана (split). Экран можно делить как по горизонтали, так и по вертикали. Например, чтобы разделить экран по горизонтали, в сессии screen нужно нажать ctrl+a S.
Экран разделится на две части. Чтобы переключиться на вторую часть, введите ctrl+a tab и после переключения для активации ctrl+a c. Одновременно в двух частях, можно запускать нужные скрипты или утилиты:
Чтобы разделить экран по вертикали, используйте ctrl+a |
Более того, разделителей может быть неограниченно количество:
Переключаемся по ним все также с помощью ctrl+a tab.
Чтобы закрыть все разделители и остаться в активном окне, используйте ctrl+a Q или просто пропишите в консоли only.
Чтобы убрать умершие или зависшие сессии screen, используйте команду:
Еще несколько горячих клавиш screen:
- Создать новое окно: Ctrl+a c
- Перейти к следующем окну: Ctrl+a p
- Перейти к предыдущему окну: Ctrl+a n
- Изменить имя окна: Ctrl+a a
- Уничтожить окно: Ctrl+a k
- Перейти к окну с номером 1 (можно использовать цифры от 0 до 9): Ctrl+a 1
Для тонкой настройки параметров screen можно использовать конфигурационные файлы:
Полная справка по screen:
Сценарии использования screen в Linux
Чаще всего утилита screen используется для операций, которые выполняются продолжительное время и чувствительны к обрыву сессии. Это могут быть обновления, копирование файлов, создание бэкапа, запуск какого-то скрипта или процесса и многое другое. В моей практике не обходится и дня, чтобы я не воспользовался данной утилитой. Чаще всего, это перенос файлов с одного сервера на другой или объемные обновления пакетов. Например, можно запустить rsync файлов с одного сервера на другой:
# screen -S backup
# rsync -avzr —progress /var/www/site/ IP:/var/www/site/
Или запустите ping до какого-либо ресурса:
В screen можно запустить любой php-скрипт, который постоянно выполняет обмен с какими-либо ресурсами, например, интеграция с сайтом или порталом:
Скрин можно запустить с такими параметрами:
# screen -A -m -d -S B24 /usr/bin/su — bitrix -c «/usr/bin/php /var/www/integration/tools/parser.php»
Мы сразу запускаем терминал и в нем выполняем запуск php-парсер, который постоянно выполняет коннект к порталу Bitrix24. Проверим список запущенных терминалов:
И для максимальной надежности, можно новую сессию ssh запускать сразу с включенным screen. В файл /root/.bash_profile добавьте строчку screen:
Теперь при запуске новой сессии у вас сразу будет открываться screen терминал:
В этой статье, мы рассмотрели очень гибкий инструмент screen , который помогает в повседневной работе по администрированию серверов и выполнению различных задач. Применяйте на практике данную статью, расширяйте свои навыки в области системного администрирования Linux.
Источник
Как использовать 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.
Чтобы создать новое окно с типом оболочки Ctrl+a c , ему будет присвоен первый доступный номер из диапазона 0. 9 .
Ниже приведены некоторые наиболее распространенные команды для управления экраном Linux в Windows:
- Ctrl+a c Создать новое окно (с оболочкой)
- Ctrl+a » Показать все окно
- Ctrl+a 0 Перейти в окно 0 (по номеру)
- Ctrl+a A Переименовать текущее окно
- Ctrl+a S Разделить текущую область по горизонтали на две области
- Ctrl+a | Разделить текущий регион по вертикали на два региона
- Ctrl+a tab Переключить фокус ввода на следующую область
- Ctrl+a Ctrl+a Переключение между текущей и предыдущей областью
- Ctrl+a Q Закрыть все регионы, кроме текущего
- Ctrl+a X Закрыть текущую область
Отключиться от сеанса экрана Linux
Вы можете отключиться от сеанса экрана в любое время, набрав:
Программа, запущенная в сеансе экрана, продолжит работу после того, как вы отключитесь от сеанса.
Повторное подключение к экрану Linux
Чтобы возобновить сеанс экрана, используйте следующую команду:
Если на вашем компьютере запущено несколько сеансов экрана, вам нужно будет добавить идентификатор сеанса экрана после переключателя r .
Чтобы найти идентификатор сеанса, укажите текущие сеансы запущенного экрана с помощью:
Если вы хотите восстановить экран 10835.pts-0, введите следующую команду:
Настроить экран Linux
Когда screen запускается, он считывает свои параметры конфигурации из /etc/screenrc и
/.screenrc если файл присутствует. Мы можем изменить настройки экрана по умолчанию в соответствии с нашими предпочтениями, используя файл .screenrc .
Вот пример конфигурации
/.screenrc с настроенной строкой состояния и несколькими дополнительными параметрами:
Базовое использование экрана Linux
Ниже приведены основные шаги для начала работы с экраном:
- В командной строке введите screen .
- Запускаем желаемую программу.
- Используйте последовательность Ctrl-a + Ctrl-d чтобы отключиться от сеанса экрана.
- Повторно подключитесь к сеансу экрана, набрав screen -r .
Выводы
В этом руководстве вы узнали, как использовать Gnu Screen. Теперь вы можете начать использовать утилиту Screen и создавать несколько окон экрана из одного сеанса, перемещаться между окнами, отсоединять и возобновлять сеансы экрана и персонализировать свой экранный терминал с помощью файла .screenrc .
Больше информации о Gnu Screen можно найти на странице руководства пользователя Screen .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник