Если вам когда-нибудь приходилось выполнять длительную задачу в терминале Linux, прерванную из-за потери сеанса SSH или закрытия окна терминала, вы знаете, как это может быть неприятно. К счастью, серверы Linux предоставляют мощную утилиту под названием screen, которая позволяет запускать терминальные сессии в фоновом режиме, отключаться от них и снова подключаться позже – даже после отключения.

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

Что такое screen?

screen – это терминальный мультиплексор, позволяющий создавать несколько терминальных сессий в одном окне. Вы можете отсоединиться от сеанса, оставить его работать в фоновом режиме и снова присоединиться к нему позже, что делает его идеальным для удаленной работы или запуска постоянных процессов.

Установка screen

В большинстве дистрибутивов Linux screen доступен через менеджер пакетов по умолчанию.

Для Debian/Ubuntu:

sudo apt update
sudo apt install screen

Для CentOS/RHEL:

sudo yum install screen

Для Fedora:

sudo dnf install screen

Базовое использование

Запуск сеанса работы с экраном

screen

Эта команда открывает новую экранную сессию. Вы увидите приветственное сообщение и приглашение терминала.

Именование сеанса

screen -S mysession

Используйте команду -S, чтобы присвоить имя сеансу для последующего использования.

Отсоединение и присоединение

Отсоединение от сеанса

Находясь в экранной сессии, нажмите:

Ctrl A , затем D

Это позволит отсоединить сеанс и оставить его работать в фоновом режиме.

Список активных сеансов

screen -ls

Выводит список текущих сеансов экрана:

Есть экраны на:
12345.mysession (Detached)

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

screen -r mysession

Или используйте идентификатор сеанса:

screen -r 12345

Работа с несколькими окнами

Внутри сеанса screen можно создать несколько окон терминала.

  • Создайте новое окно: Ctrl A , затем C

  • Переключиться на следующее окно: Ctrl A , затем N

  • Переключиться на предыдущее окно: Ctrl A , затем P

  • Список всех окон: Ctrl A , затем “(двойная кавычка)

Каждое окно запускает свою собственную оболочку, и все они продолжают работать в фоновом режиме, если вы отсоединяетесь.

Ведение журнала и вывод данных

Чтобы зарегистрировать вывод из экранной сессии, выполните следующие действия:

  1. Запустите или войдите в экранную сессию.

  2. Включите ведение журнала:

    Ctrl A, затем H

    Это создаст файл screenlog.0 в текущем каталоге.

Закрытие сеанса

Чтобы выйти из сеанса, просто наберите exit в терминале screen. Это приведет к завершению работы оболочки и закрытию сеанса.

Если у вас несколько окон, вы должны выйти из всех них или закрыть весь сеанс, набрав:

exit

в каждом из них.

Дополнительные подсказки

  • Прокрутка назад: Ctrl A , затем Esc позволяют перейти в режим копирования/прокрутки.

  • Совместное использование сеанса: Несколько пользователей могут подключаться к одному сеансу, используя многопользовательский режим.

  • Пользовательские настройки: Измените файл ~/.screenrc для персональных ярлыков и предпочтений.

Заключение

screen – обязательный инструмент для любого пользователя Linux, управляющего длительными задачами или работающего удалённо через SSH. Его способность сохранять процессы живыми и доступными делает его бесценным как для разработчиков, так и для сисадминов и энтузиастов.

Изучите man screen для получения еще большего количества возможностей – и начните работать умнее в своем терминале!