Оконные (консольные) менеджеры в Linux

tux screen byobu

При работе в терминале как удалённо так и локально, часто возникает необходимость запустить долго выполняющийся процесс и «свернуть» его, чтоб при закрытии консоли или разъединении соединения исполняемый процесс не прервался.

Как пример вам необходимо сделать дамп большой БД, который может делаться несколько часов, вы запускаете команду и сворачиваете этот процесс, а в терминале можете заниматься другими задачами, при необходимости можно всегда вернутся к этому окну где у вас делается Дамп и посмотреть, что да как там.

Напишу краткую инструкцию по работе с наиболее популярными.

Оконный менеджер Screen в Linux

Screen — это консольная утилита для управления несколькими сессиями в рамках одного терминала в Linux и других Unix‑подобных системах. По сути, она создаёт виртуальные терминалывнутри одного физического соединения. Это особенно полезно при работе через SSH: если соединение прервётся, запущенные процессы не завершатся — их можно будет восстановить после повторного подключения.

Ключевая особенность Screen — возможность «откреплять» (detach) и «подключать» (attach)сессии. Например, вы запустили долгий процесс (компиляцию, загрузку файла и т. д.), затем открепили сессию и вышли из системы. Позже, подключившись снова, вы можете вернуться к тойже сессии и увидеть, что процесс завершился или всё ещё выполняется. Это делает screen незаменимым инструментом для администрирования серверов, где стабильность и непрерывность работы критически важны.

# Запуск новой сессии screen
screen

# Запуск новой сессии с заданным именем (удобно для идентификации)
screen -S my_session_name

# Просмотр списка всех существующих сессий screen
# Показывает ID сессии, её статус (Attached/Detached) и название
screen -ls

# Подключение к откреплённой (Detached) сессии
# Если есть только одна сессия — подключается к ней
screen -r

# Подключение к конкретной сессии по имени или ID
# Замените "session_id_or_name" на реальное значение из вывода screen -ls
screen -r session_id_or_name

# Принудительное переподключение к сессии, которая уже подключена где‑то ещё
# Открепляет сессию с другого терминала и подключает здесь
screen -d -r

# Альтернативный вариант принудительного переподключения (более явный)
screen -dr

# Завершение конкретной сессии screen извне (из другого терминала)
# Указывает имя сессии, которую нужно завершить
screen -X -S my_session_name quit

# Отправка команды в работающую сессию screen без подключения к ней
# Пример: отправка команды "clear" в окно №0 сессии "my_session_name"
screen -S my_session_name -p 0 -X stuff "clear^M"

# Создание нового окна внутри текущей сессии screen (выполняется уже внутри screen)
# Эквивалентно нажатию Ctrl+a, c
screen -p -X screen

# Вывод справки по всем доступным опциям команды screen
screen --help

# Полный выход из сессии screen (завершение всех окон и сессии)
# Выполняется внутри сессии: Ctrl+a, \ или команда ниже
# screen -X quit

Горячие клавиши внутри сессии screen

Все сочетания начинаются с префикса Ctrl + a, после которого нажимается вторая клавиша.

Управление окнами:

  • Ctrl + a, c — создать новое окно.
  • Ctrl + a, w — показать список всех окон.
  • Ctrl + a, « — интерактивное меню выбора окна (можно выбрать стрелками).
  • Ctrl + a, n — перейти к следующему окну.
  • Ctrl + a, p — перейти к предыдущему окну.
  • Ctrl + a, 0–9 — перейти к окну с номером от 0 до 9.
  • Ctrl + a, A — переименовать текущее окно.

Разделение экрана:

  • Ctrl + a, S (заглавная S) или :split — разделить экран по горизонтали (создаёт область снизу).
  • Ctrl + a, | или :split -v — разделить экран по вертикали (в новых версиях).
  • Ctrl + a, Tab или :focus — переключиться между разделёнными областями.
  • Ctrl + a, X или :remove — закрыть активную разделённую область.
  • Ctrl + a, Q или :only — закрыть все области, кроме текущей (оставить только одно окно).

Работа с сессией:

  • Ctrl + a, d — открепить сессию (detach) и выйти из screen, оставив процессы работать в фоне.
  • *Ctrl + a, * — завершить всю сессию screen (с подтверждением).
  • Ctrl + a, k — закрыть текущее окно (с подтверждением).

Оконный менеджер Tmux в Linux

Tmux (сокращение от terminal multiplexer) — это мощный оконный менеджер для терминала вLinux и других Unix‑подобных системах. Программа позволяет в рамках одного терминаласоздавать и управлять несколькими сессиями, окнами и панелями (панелями называютразделенные области внутри окна).

Ключевая особенность tmux — возможность отсоединять и повторно присоединять сессии. Это значит, что запущенные в терминале процессы продолжают работать даже после закрытия SSH‑подключения или завершения сеанса. Позже можно подключиться к той же сессии и увидеть,что происходило в ваше отсутствие. Такая функциональность незаменима при работе судалёнными серверами: например, если интернет‑соединение прервалось, вы не потеряетезапущенные задачи (длительные вычисления, фоновые сервисы, скрипты).


Основные возможности и практическое применение

Tmux предлагает ряд инструментов, которые делают работу в терминале удобнее и продуктивнее:

  • Сессии — независимые рабочие пространства. Можно запустить несколько сессий для разныхпроектов и переключаться между ними.
  • Окна — аналоги вкладок внутри сессии. Каждое окно может содержать один процесс илинабор панелей.
  • Панели — разделенные области экрана внутри окна. Например, можно одновременно видетьредактор кода в одной панели и вывод логов в другой.
  • Горячие клавиши — управление всеми элементами с помощью сочетаний клавиш (поумолчанию префикс — Ctrl+B). Это позволяет быстро создавать, разделять, перемещать изакрывать панели без использования мыши.
  • Сохранение состояния — даже при обрыве соединения сессия остаётся активной на сервере.Подключитесь снова и продолжайте работу с того же места.

На практике tmux используют:

  • системные администраторы — для мониторинга нескольких серверов и сервисоводновременно;
  • разработчики — для параллельной работы с редактором кода, терминалом сборки и выводомтестов;
  • аналитики данных — для запуска длительных вычислений и отслеживания их прогресса.

Отличия от Screen:

  • tmux предпочтительнее для современной работы: удобнее панели, гибкая настройка, активное развитие, лучшая поддержка Unicode.
  • screen может подойти, если нужна максимальная совместимость со старыми системами или выуже привыкли к его командам.

Оконный менеджер Byobu в Linux

Byobu — это текстовый менеджер окон и терминальный мультиплексор, упрощающий работу с GNU Screen и Tmux. Инструмент позволяет запускать несколько программ в фоне в рамках однойконсольной сессии и восстанавливать подключение к ней после переподключения (например, приразрыве SSH‑соединения). Byobu отображает строку состояния с системной информацией(загрузка ЦП, памяти, дата и время и т. д.) в нижней части экрана без сложных настроек. Подходит для администрирования серверов и длительных процессов (компиляция, бэкапы и т. п.).

Ключевые преимущества Byobu:

  • интуитивно понятные горячие клавиши на базе функциональных клавиш (F1–F12) вместосложных комбинаций Ctrl;
  • готовая строка состояния «из коробки»;
  • выбор бэкенда (Tmux или Screen) через настройки;
  • поддержка разделения экрана на панели и навигации между ними;
  • сохранение сессий при разрыве соединения.

Основные команды и горячие клавиши

Базовые команды в терминале:

  • byobu — запустить Byobu (восстановить существующую или создать новую сессию);
  • byobu new -s <имя> — создать сессию с указанным именем;
  • byobu -S <имя_сессии> — подключиться к именованной сессии;
  • byobu-version — проверить версию;
  • byobu-config — открыть меню настроек (альтернатива F9).

Горячие клавиши (по умолчанию):

  • Управление окнами:
    • F2 — создать новое окно;
    • F3 / F4 — перейти к предыдущему / следующему окну;
    • Ctrl+a 0–9 — переключиться на окно по номеру;
    • F8 — переименовать текущее окно;
    • Ctrl+a k — закрыть текущее окно.
  • Сессии:
    • F6 — отсоединиться от сессии (процессы продолжают работать);
    • Shift+F6 — отсоединиться без logout;
    • Ctrl+Shift+F2 — создать новую сессию.
  • Разделение экрана (панели):
    • Shift+F2 — разделить экран горизонтально;
    • Ctrl+F2 — разделить экран вертикально;
    • Shift+F3 / Shift+F4 — переместить фокус на предыдущую / следующую зону;
    • Ctrl+F6 — удалить активную панель;
    • Shift+F11 — развернуть панель на весь экран (и обратно).
  • Прокрутка и копирование:
    • F7 или Alt+PgUp / Alt+PgDn — войти в режим прокрутки (копирования);
    • Space — начать выделение текста;
    • Enter — скопировать выделенный текст;
    • Alt+Insert или Ctrl+a ] — вставить скопированное.
  • Прочее:
    • F5 — перечитать профиль;
    • F9 — открыть меню настроек;
    • Shift+F1 — показать справку по горячим клавишам;
    • Ctrl+a R — перезагрузить профиль.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *