GNU Screen в Linux — краткое руководство
GNU Screen — простой и надёжный терминальный мультиплексор для Linux. Установите пакет, запустите screen, отсоединяйтесь сочетанием клавиш и возвращайтесь с помощью screen -d -r. В статье есть готовые команды, чек‑лист для операций и советы по отладке “Dead” сессий.

Быстрые ссылки
- Using The GNU Screen Utility
Что такое GNU Screen
GNU Screen — это терминальный мультиплексор. Он создаёт несколько виртуальных терминалов внутри одной реальной сессии. Это полезно, если вы хотите:
- Запустить несколько консолей в одном SSH-подключении.
- Не потерять процессы при разрыве сети.
- Переключаться между долгими фоновыми задачами.
Определение в одну строку: Screen сохраняет ваши сессии вне зависимости от состояния родительского терминала.
Установка
В Debian/Ubuntu достаточно одной команды:
sudo apt install screen
Если у вас RedHat/CentOS/Fedora, замените apt на yum или dnf в зависимости от версии дистрибутива.
Первый запуск и сплэш-экран
Чтобы открыть новую виртуальную консоль, выполните:
screenПри первом запуске появится сплэш-экран. Для продолжения нажмите пробел или Enter.

После закрытия сплэша вы окажетесь внутри виртуальной сессии. Внешне приглашение командной строки не изменится, но теперь вы работаете в рамках screen.
Важно: даже при закрытии родительского терминала процессы в screen продолжают работать.
Как понять, что вы в сессии Screen
Проверьте переменную окружения $STY. Простая проверка в bash:
if [ -n "$STY" ]; then
echo "Вы в сессии screen: $STY"
else
echo "Вы не в сессии screen"
fiЕсли переменная $STY установлена, вы находитесь внутри screen.
Отсоединение и повторное подключение
Чтобы отсоединиться от текущей виртуальной сессии и вернуть контроль родительскому терминалу, используйте сочетание клавиш:
- Нажмите Ctrl+A, затем Ctrl+D
Это действие “детачит” (detach) сессию. Сессия остаётся живой в фоновом режиме.
Чтобы снова подключиться, выполните:
screen -d -r Команда screen -d -r попытается отсоединить и повторно подключить указанную сессию. Если у вас только одна сессия, можно выполнить просто:
screen -rПросмотр списка сессий
Чтобы увидеть все текущие screen-сессии на машине:
screen -listСостояние сессии будет помечено как Detached или Attached в зависимости от того, подключены вы к ней или нет.
Прокрутка буфера внутри screen
Если вывод длиннее видимой области терминала, используйте режим копирования (copy/scrollback):
- Нажмите Ctrl+Esc (или Ctrl+A, затем Esc в некоторых конфигурациях). Это включает режим прокрутки.
- Теперь можно использовать стрелки вверх/вниз или мышь для навигации.
- Нажмите Esc, чтобы выйти из режима.
Подсказка: в режиме копирования можно также выделять текст мышью и копировать как обычно.
Обработка “Dead” сессий
Иногда запущенная внутри screen программа аварийно завершится. Тогда screen покажет такую сессию как “Dead” в выводе screen -list. Чтобы очистить такие записи, используйте:
screen -wipe
Документация и справка
Встроенная документация доступна через man:
man screen
Читайте man для полного списка опций, включающих именованные сессии, логирование и тонкие настройки поведения.
Быстрая шпаргалка команд
- Установить: sudo apt install screen
- Запустить сессию: screen
- Отсоединиться: Ctrl+A, Ctrl+D
- Список сессий: screen -list
- Повторное подключение: screen -r или screen -d -r
- Очистить мёртвые сессии: screen -wipe
- Документация: man screen
Примеры использования и сценарии
- Запуск долгого процесса через SSH:
- Открываете screen, запускаете процесс (например сборку или резервную копию).
- Отсоединяетесь (Ctrl+A, Ctrl+D) и закрываете SSH. Процесс продолжит работать.
- Позже подключаетесь и возобновляете контроль.
- Работа с несколькими службами:
- В одной сессии запускаете редактор, в другой — мониторите логи, в третьей — запускаете тесты.
- Переключаетесь между окнами Screen с помощью Ctrl+A, затем номер окна.
Когда GNU Screen не подходит
- Если вам нужна богатая HTML‑консольная интеграция или графические вкладки — рассмотрите tmux или терминал с вкладками.
- Для сложной программируемой автоматизации сессий лучше tmux: у него более развитые скриптовые возможности и подключаемые плагины.
Альтернативы и сравнение
- tmux — современная альтернатива с более гибкой конфигурацией и scripting API.
- dtach — минималистичный демон для отсоединения, если вам не нужны дополнительные функции Screen.
Нельзя однозначно сказать, что одно решение лучше для всех. Screen прост и широко доступен, tmux предлагает больше возможностей для power‑пользователей.
Чек‑лист администратора
- Установить пакет на целевой машине.
- Настроить права для логирования, если нужно.
- Проверить работу отсоединения/подключения в тестовой сессии.
- Настроить мониторинг долгих процессов внутри screen (логи, уведомления).
Критерии приёмки
- Можно отсоединиться и вернуть контроль к сессии без потери процесса.
- Команда screen -list показывает корректные состояния Attached/Detached.
- Dead сессии корректно удаляются screen -wipe.
- Пользователь понимает, как прокручивать вывод внутри сессии.
Мини‑методология для безопасного запуска фоновых задач
- Создайте screen-сегмент с понятным именем: screen -S backup-job
- Запустите процесс и убедитесь в выводе логов.
- Отсоединитесь Ctrl+A, Ctrl+D и закройте SSH.
- Проверяйте состояние сессии через screen -list или подключайтесь при необходимости.
Роль‑ориентированные чек‑листы
Администратор:
- Установить и обновить screen
- Настроить ротацию логов для фоновых задач
Разработчик:
- Использовать screen для локальной отладки
- Давать понятные имена сессиям screen -S
Оператор:
- Мониторить состояние screen -list
- Очищать Dead сессии screen -wipe
Примеры тестов и критерии приёмки
- Тест 1: Запустить процесс в screen, отсоединиться, разорвать SSH, переподключиться — процесс должен быть жив.
- Тест 2: Умышленно завершить процесс внутри screen и убедиться, что запись помечена как Dead, затем выполнить screen -wipe.
Простая логика принятия решения
flowchart TD
A[Нужно ли сохранить процесс при закрытии терминала?] -->|Да| B[Использовать Screen или tmux]
A -->|Нет| C[Обычный терминал]
B --> D{Требуется скриптование и плагины?}
D -->|Да| E[Выберите tmux]
D -->|Нет| F[Выберите GNU Screen]Риски и рекомендации по безопасности
- Screen сам по себе не шифрует данные — используйте SSH для защищённого доступа.
- Следите за правами на сокеты и временные файлы, если вы запускаете screen от разных пользователей.
Короткое резюме
GNU Screen остаётся быстрым и надёжным инструментом для управления виртуальными терминалами. Он прост в установке и использовании, хорошо подходит для сохранения долгих задач при разрыве сессий. Для продвинутых сценариев рассмотрите tmux.
Важно: практикуйтесь с detach/attach и попробуйте именованные сессии (screen -S name) — это упростит управление несколькими задачами.
Похожие материалы
Супер макро фотография — практическое руководство
Микрофон тихий — увеличить громкость в Windows 10
Найти серийный номер Windows 11
Как предотвратить XSS: практическое руководство
Подделать скриншот новости — инструменты разработчика