Установка и использование утилиты screen в Linux, Ubuntu

    Команда Simple-Server
    03.06.2026
    8 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    В зависимости от дистрибутива, Screen может быть предустановлен в операционной системе, а может требовать отдельной установки. Чтобы установить Screen, используйте следующую команду:

    Для CentOS, Fedora и AstraLinux:

    Рассмотрим основные команды для управления сессиями Screen.

    Чтобы запустить Screen, просто введите команду в своей консоли:

    Это откроет сеанс Screen, создаст новое окно, запустит в нем оболочку, и вы увидите следующее окно. Нажмите Enter, чтобы перейти к вводу команд.

    Создание именованного сеанса

    Сеансам можно давать имена, что особенно полезно, когда вы работаете с несколькими сеансами Screen. Чтобы создать именованный сеанс, выполните команду screen с такими аргументами:

    Всегда полезно выбирать описательное имя для сеанса.

    Отключение от сеанса Screen в Linux

    Чтобы отключиться от сеанса Screen в любой момент, наберите Ctrl+a d.

    Программа, запущенная в сеансе Screen, продолжит работу после вашего отключения в фоне.

    Повторное подключение к сеансу Screen в Linux

    Чтобы возобновить ваш сеанс Screen, используйте команду:

    Если у вас запущено несколько сеансов Screen, нужно указать ID сеанса или его имя после параметра -r.

    Чтобы узнать ID текущих запущенных сеансов, выполните:

    Вы увидите список сеансов:

    There are screens on: 1468393.Simple-Server (07/25/2024 02:07:34 PM)        (Detached) 1466624.pts-3.1495851-ralimov   (07/25/2024 01:54:05 PM)        (Detached) 2 Sockets in /run/screens/S-linuxize.

    Чтобы восстановить сеанс с ID 1466624.pts-3.1495851-ralimov, введите команду:

    Чтобы восстановить сеанс, используя его имя, введите:

    Список дополнительных опций

    Утилита Screen предлагает массу полезных возможностей для удобного управления сессиями в терминале. Вы можете настроить каждое окно под свои нужды, например, изменить его размер в соответствии с параметрами дисплея или настроить параметры утилиты, используя собственный конфигурационный файл. Если необходимо, можно приостановить сессию и вернуться к ней позже, а также запустить Screen в режиме демона, чтобы он работал в фоне. Помимо этого, доступны функции для настройки командных символов, управления потоком данных и ведения логов. Удобно, что можно выбирать нужные окна, менять их заголовки и использовать кодировку UTF-8, что делает работу в терминале более комфортной и адаптируемой под разные задачи.

    • -a: Включает все возможные функции для каждого окна, делая их максимально функциональными.
    • -A -[r|R]: Автоматически подстраивает все окна под изменившуюся ширину и высоту экрана.
    • -c файл: Позволяет указать альтернативный файл конфигурации вместо стандартного .screenrc.
    • -d (-r): Отключает текущий сеанс Screen, но не завершает его, так что к нему можно будет вернуться позже.
    • -D (-r): Завершает активное подключение к удалённой сессии, но сессию можно восстановить.
    • -D -RR: Выполняет все необходимые действия, чтобы подключиться к существующему сеансу Screen, если он есть. Если нет — запускает новый.
    • -e xy: Позволяет изменить стандартные сочетания клавиш для команд Screen на свои собственные. Например, чтобы избежать конфликтов с другими программами.
    • -f: Включает управление потоком данных; -fn — отключает его; -fa — включает автоматическое управление. Помогает при работе с большим объемом данных.
    • -h строки: Настраивает размер истории команд, которую можно пролистывать вверх.
    • -i: Прерывает вывод данных на экран, если включено управление потоком, чтобы не перегружать терминал.
    • -l: Включает запись информации о сессии в системный журнал, чтобы можно было отслеживать активные сессии; -ln — отключает это.
    • -ls [шаблон]: Показывает список всех активных сессий Screen, которые в данный момент подключены.
    • -L: Включает запись всего вывода терминала в лог-файл.
    • -p окно: Автоматически выбирает указанное окно при запуске, если оно существует.
    • -q: Запускает Screen в «тихом» режиме, без вывода лишней информации в случае ошибок.
    • -V: Показывает версию Screen и завершает работу.
    • -r [сеанс]: Повторно подключается к уже запущенному, но временно отключенному сеансу Screen.
    • -R: Если находит существующий сеанс, подключается к нему, если нет — запускает новый.
    • -S имя_сеанса: Устанавливает имя для новой сессии, которое будет использоваться для подключения к ней.
    • -t заголовок: Задает заголовок для окна, который будет отображаться в списке окон.
    • -U: Включает поддержку кодировки UTF-8 для работы с текстом.
    • -v: Показывает текущую версию программы Screen.
    • -x: Подключается к активной сессии, позволяя использовать ее одновременно на нескольких экранах.
    • -X: Выполняет указанную команду внутри активной сессии Screen.

    Одновременно можно работать с несколькими сеансами screen, причем внутри каждого сеанса может быть запущено несколько окон.

    Чтобы создать новое окно с оболочкой, нажмите Ctrl+a c. Окну будет автоматически присвоен номер от 0 до 9.

    Ниже приведены некоторые из самых распространенных команд для управления окнами в Screen:

    • Ctrl+a c — Создать новое окно (с оболочкой).
    • Ctrl+a " — Показать список всех окон.
    • Ctrl+a 0 — Переключиться на окно 0 (по номеру).
    • Ctrl+a A — Переименовать текущее окно.
    • Ctrl+a S — Разделить текущую область горизонтально на две области.
    • Ctrl+a | — Разделить текущую область вертикально на две области.
    • Ctrl+a tab — Переключить фокус ввода на следующую область.
    • Ctrl+a Ctrl+a — Переключаться между текущим и предыдущим окнами.
    • Ctrl+a Q — Закрыть все области, кроме текущей.
    • Ctrl+a X — Закрыть текущую область.

    Чтобы просмотреть все команды, введите Ctrl+a ?.

    Когда Screen запускается, он читает свои конфигурационные параметры из файлов /etc/screenrc и ~/.screenrc, если они присутствуют. Мы можем изменить настройки Screen по умолчанию в соответствии с нашими предпочтениями, используя файл .screenrc.

    Вот пример конфигурации ~/.screenrc с кастомизированной строкой состояния и несколькими дополнительными опциями:

    # Отключить приветственное сообщение startup_message off # Автоматически подключаться к последней сессии при запуске autodetach on # Установить буфер прокрутки на 10000 строк defscrollback 10000 # Включить логирование для текущей сессии logfile /path/to/screenlog

    Дополнительные рекомендации по кастомизации конфигурационного файла Screen:

    • Автоматическое разделение окон при запуске : Полезно, если вы часто работаете с несколькими окнами и хотите, чтобы они открывались сразу при запуске Screen.

    Автоматическое разделение окон при запуске : Полезно, если вы часто работаете с несколькими окнами и хотите, чтобы они открывались сразу при запуске Screen.

    screen -t shell1 split focus screen -t shell2
    • Логирование всех сессий : Полезно для ведения журнала работы.

    Логирование всех сессий : Полезно для ведения журнала работы.

    deflog on logfile $HOME/.screen/screenlog.%t
    • Автоматическое переподключение при обрыве : Полезно при работе с нестабильными соединениями.

    Автоматическое переподключение при обрыве : Полезно при работе с нестабильными соединениями.

    autodetach on reattach on

    Примеры использования Screen

    Пример 1. Чтобы отслеживать изменения файла в реальном времени, можно использовать два окна Screen: в одном редактировать файл, а в другом отображать его содержимое с помощью команды tail -f. Это позволит вам мгновенно видеть все внесенные изменения без необходимости повторного выполнения команды.

    Пример 2. Работа в терминале по SSH с использованием сессии Screen позволяет не потерять данные при разрыве соединения. Даже если соединение будет прервано, вы сможете снова подключиться и возобновить работу с того же места, где остановились, просто переподключившись к сессии Screen.

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


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны