news
Публичное облако VMware в Казахстане
KA
11 августа 2023
Обновлено 11 августа 2023

Разделение терминала в Ubuntu. Команда screen в Linux

Linux Ubuntu Мониторинг

Введение

Одно из главных требований к любому IT-специалисту, который должен иметь в своем рюкзаке множество soft skills, — это умение автоматизировать! Но не всегда технически продукт или технология позволяет это сделать и для этого есть утилиты, которые помогают автоматизировать задачи в нашем случае в Linux. Одно подключение — одна сессия, это несколько неудобно для использования, и для этого разработали утилиту screen.

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

Вторым важным компонентом является терминальный мультиплексор, который отвечает за управление различными аспектами работы виртуальных терминалов в рамках терминальной сессии. Он обрабатывает команды, связанные с переключением между окнами, и управляет виртуальными терминалами.

При создании нового окна в пределах экрана терминальный мультиплексор генерирует новый виртуальный терминал и инициирует процесс оболочки (например, bash) для этого окна. Каждый виртуальный терминал функционирует как самостоятельный процесс, управляя своим вводом и выводом, а также имея собственное окружение и рабочий каталог.

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

Таким образом, сочетание терминальной сессии и терминального мультиплексора позволяет программе screen обеспечить эффективную работу с несколькими процессами в одном окне терминала. Более того, он позволяет пользователям отключаться и впоследствии беспрепятственно возобновлять работу, что делает screen мощным и универсальным инструментом для эффективной работы с командной строкой в Linux.

Требования к установке

  • Rootправа;
  • Ubuntu 16 или более поздняя версия;
  • Некоторые знания о работе ОС;
  • Подключение к Интернету.

Мы будем работать на сервере с Ubuntu 22.04, заказанному в Serverspace.

Установка и использование

Прежде всего, нам необходимо обновить и установить системные пакеты на нашей машине для корректной работы:

apt update && apt upgrade -y
Обновление
Скриншот №1 — Обновление

После обновления системы необходимо установить пакет экранных утилит:

sudo apt-get install screen
Установка утилиты Screen
Скриншот №2 — Установка ПО

Нажмите кнопку Y для запуска процесса установки и дождитесь его завершения. Это не займет много времени, наберитесь терпения.
Затем введите приведенную ниже команду:

screen
Приветственное сообщение
Скриншот №3 — Приветственное сообщение

Нажмите клавишу Space или Return, чтобы пропустить всплывающее окно, после чего вы увидите новый чистый экран, утилита создала новую терминальную сессию, которая выглядит как контейнер для сохранения и управления виртуальным окном. Создадим терминал, у нас есть два типа разделения экрана: горизонтальный и вертикальный. Также можно разделить уже поделенный экран для более сложных задач. Все команды активны по комбинации Ctrl+a, давайте создадим новое окно и разделим экран, зажав комбинацию клавиш:

Ctrl+a+c
Ctrl+a+S
Деление экрана горизонтально
Скриншот №4 — Деление экрана горизонтально

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

Ctrl+a+Tab

И переключать нужный виртуальный терминал комбинацией для предыдущего и следующего окна соответственно:

Ctrl+a+n и Ctrl+a+p

Также можно вывести на экран список всех окон терминала:

Ctrl+"
Список экранов
Скриншот №5 — Список экранов

Если вы хотите увидеть более краткую информацию, введите:

Ctrl+a+w
Короткий список экранов
Скриншот №6 — Короткий список экранов

Для более наглядного использования этих окон можно изменить метку каждого окна, нажав кнопку:

Ctrl+a+Tab

Переключитесь на нужное окно и зажмите комбинацию клавиш:

Ctrl+a+A
Переименовать окна
Скриншот №7 — Переименовать окна

В нашем примере в нижней строке отображается индекс и метка соответствия для данного окна. На экране видна вертикальная линия, разделенная командой:

Ctrl+a+|

Также можно выполнить более сложное деление, например, поделить правую область командой ниже:

Ctrl+a+S
Деление на 3 окна
Скриншот №8 — Деление на 3 окна

В начале работы у вас не будет активного окна, выберите его, как описывали ранее:

Ctrl+a+p or n

Для уничтожения одного процесса используйте комбинацию:

Ctrl+a+k

Для всей связки виртуальных окон:

Ctrl+a+\

И согласитесь с вопросом в всплывающем окне. Но если вы хотите просто свернуть окно виртуального терминала, то нужно набрать:

Ctrl+a+Q

При этом комбинация сворачивает все окна, кроме основного с фокусом, можно также отсоединиться от терминала и закрыть соединение с сервером, но они все равно будут работать, по комбинации кнопок:

Ctrl+a+d

И снова прикрепляется путем поиска нужной строки:

screen -ls

И введите их ID в приведенную ниже команду:

screen -r 23505

Для получения дополнительной информации об использовании комбинации можно нажать кнопку :

Ctrl+a+?
Помощь (справка) в screen
Скриншот №9 — Помощь

Давайте представим реальный пример использования этой утилиты, конечно, мы можем автоматизировать и настроить множество рутинных или неудобных действий, например, нам нужно проверить свободное место на хранилище и создать резервную копию. Разделяем экран и с задержкой в 2 секунды наблюдаем за изменениями.

Пример использования screen
Скриншот №10 — Пример использования

Вывод

Утилита screen в Linux предоставляет мощный и эффективный способ управления несколькими виртуальными терминалами в рамках одного терминального окна. Она состоит из двух основных компонентов—терминальной сессии, которая является контейнером для виртуальных терминалов, и терминального мультиплексора, отвечающего за управление этими терминалами. С помощью screen ИТ—специалисты могут оптимизировать свой рабочий процесс, создавая и организуя несколько терминалов, переключаясь между ними и даже разделяя экран для решения сложных задач.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 2
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...