hostprofi.ru
Подобрать хостинг
Термин

screen

краткое определение

GNU Screen — терминальный мультиплексор для защиты процессов от разрыва SSH. Создаёт именованные сессии с несколькими окнами, к которым можно вернуться в любой момент.

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

Основные команды

screen              # запустить новую сессию
screen -S myname    # именованная сессия
screen -ls          # список активных сессий
screen -r myname    # переподключиться к сессии
screen -d -r myname # принудительно отсоединить и переподключить

Горячие клавиши (префикс Ctrl+A)

  • Ctrl+A d — detach: отсоединиться (сессия продолжает работать).
  • Ctrl+A c — создать новое окно (window).
  • Ctrl+A n / Ctrl+A p — следующее/предыдущее окно.
  • Ctrl+A " — список окон с выбором.
  • Ctrl+A A — переименовать текущее окно.
  • Ctrl+A k — завершить текущее окно.

Практические сценарии

Запустить долгий процесс (компиляция, бэкап базы данных) через SSH без риска прерывания:

screen -S backup
pg_dumpall -U postgres | gzip > /backups/all_$(date +%Y%m%d).sql.gz
# Нажать Ctrl+A d — отсоединиться
# Позже: screen -r backup — посмотреть результат

screen vs tmux

Параметрscreentmux
Разделение окнаТолько горизонтальноГоризонтально и вертикально
КонфигурацияОграниченная (.screenrc)Гибкая (.tmux.conf)
Цветовые схемыОграниченные256 цветов
ДоступностьУстановлен по умолчаниюУстанавливать отдельно
Активная разработкаМинимальнаяАктивная

Для основной задачи — «запустить процесс и отключиться» — screen и tmux одинаково подходят. tmux предпочтителен при частой работе со split-панелями.

История

GNU Screen создан Оливером Лауманном (Oliver Laumann) в 1987 году в Гамбурге. Включён в проект GNU в 1993 году. Активная разработка прекратилась в середине 2000-х. tmux создан как современная альтернатива в 2007 году Николасом Серриотом (Nicholas Serriott), к 2009 году достиг стабильности. Сегодня VPS-администраторы чаще выбирают tmux, но screen остаётся важен благодаря предустановленности.

Основные команды

Горячие клавиши screen начинаются с prefix Ctrl+A:

  • Ctrl+A c — создать новое окно
  • Ctrl+A n — следующее окно
  • Ctrl+A p — предыдущее окно
  • Ctrl+A d — отключиться (detach), сессия продолжает работать
  • Ctrl+A [ — режим прокрутки буфера (q для выхода)
  • Ctrl+A " — список всех окон

Переподключиться к сессии: screen -r (если одна) или screen -r sessionname. Список сессий: screen -ls.

Screen vs tmux

tmux — современная альтернатива screen с более гибкой конфигурацией и разделением панелей. Screen проще и доступен на большинстве серверов из коробки без установки. Для быстрого запуска долгой команды на удалённом VPS screen достаточен — создал сессию, запустил процесс, отключился по SSH.

Практические сценарии

Деплой на сервер: запустить screen, выполнить git pull && npm run build, отключиться, вернуться через 10 минут и проверить результат. Миграция базы данных: запустить дамп в screen-сессии — даже разрыв SSH не прервёт процесс. Мониторинг логов в одном окне, редактирование конфигов в другом — всё в одном SSH-соединении.

Именованные сессии: screen -S deploy создаёт сессию с именем. На сервере с несколькими администраторами каждый работает в своей сессии и не мешает другим.

Другие термины

screen — что это, определение и как работает | Справочник — hostprofi.ru