Работа с утилитой Screen

Руководство по запуску и управлению программами в фоновом режиме на сервере Linux.

Screen — мощная утилита для работы в терминале, которая позволяет запускать программы в фоновом режиме, отсоединяться от них без завершения и возвращаться позже. Это особенно удобно при работе с VPS или выделенными серверами по SSH: вы можете запустить длительную задачу (например, обновление, парсинг, майнинг или серверную часть приложения), отсоединиться и продолжить работу позже, даже после разрыва соединения.

Screen создаёт виртуальные терминалы (окна), в которых выполняются команды, и позволяет управлять ими.

Установка Screen

Ubuntu / Debian:

sudo apt update
sudo apt install screen -y

CentOS / RHEL / AlmaLinux / Rocky:

sudo yum install screen -y
# или
sudo dnf install screen -y

Запуск и базовое использование

  1. Запустите новую сессию:
screen

Вы увидите либо приглашение терминала, либо экран приветствия (нажмите Space или Enter).

  1. Запустите нужную команду(например, top, htop, python3 script.py и т.д.).
  2. Отсоединитесь от сессии (detach), не завершая её:
Ctrl + a, затем d

Вы увидите сообщение: [detached from ...]

  1. Вернитесь в сессию позже:
screen -r

Если сессий несколько — сначала посмотрите список:

screen -ls

Пример вывода:

There are screens on:
        1234.pts-0.server    (Detached)
        5678.job1            (Detached)
2 Sockets in /var/run/screen/S-root.

Подключитесь к нужной:

screen -r 1234

или по имени

screen -r job1

Полезные команды внутри Screen

  • Создать новое окно (внутри сессии): Ctrl + a, затем c
  • Переключиться между окнами: Ctrl + a, затем номер окна (0–9) или Ctrl + a, затем " (список окон)
  • Переименовать текущее окно: Ctrl + a, затем A → введите новое имя
  • Закрыть текущее окно: Ctrl + a, затем k → подтвердите y
  • Завершить всю сессию Screen: Ctrl + a, затем : → введите quit → Enter
  • Выйти из копи-режима (если зашли в прокрутку): Esc или q

Прокрутка вывода (Copy mode)

Если вывод команды ушёл за пределы экрана:

  1. Нажмите Ctrl + a, затем [ — войдёте в копи-режим.
  2. Используйте стрелки, Page Up/Down или vi-подобные клавиши (h,j,k,l) для прокрутки.
  3. Нажмите Esc или q для выхода.

Настройка Screen (файл ~/.screenrc)

Создайте или отредактируйте файл ~/.screenrc:

nano ~/.screenrc

Пример удобной конфигурации:

# Отключить экран приветствия
startup_message off

# Включить статусную строку внизу
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

# Автоматически создавать окна при запуске
screen -t Main
screen -t Logs
chdir /var/log
screen -t Backup

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

Полезные советы

  • Если сессия зависла — подключитесь с параметром -x (мультиподключение):
screen -x
  • Для автоматического запуска Screen при входе по SSH — добавьте в ~/.bashrc:
if [ -z "$STY" ]; then screen -x || screen -S main; fi
  • Screen отлично работает с долгоживущими процессами (обновление ОС, компиляция, парсинг больших данных).

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам