Главная > Среда и утилиты > screen

screen: Управление несколькими сеансами терминала

GNU Screen — это мультиплексор терминалов, который позволяет управлять несколькими независимыми сеансами оболочки в одном терминале. Он предоставляет мощные функции, такие как сохранение сеансов при потере сетевого соединения, одновременное выполнение нескольких задач и совместное использование сеансов с другими пользователями. Он особенно полезен для безопасного поддержания длительных процессов в фоновом режиме на сервере.

Обзор

Screen — это мощный инструмент, который позволяет поддерживать сеансы терминала в фоновом режиме, создавать и переключаться между несколькими сеансами, а также совместно использовать сеансы. Он особенно полезен для предотвращения прерывания работы при потере SSH-соединения и работает как использование нескольких виртуальных терминалов в одном окне терминала.

Основные функции

  • Отсоединение и повторное подключение сеансов (Detaching and Reattaching)
  • Управление несколькими окнами (Multiple Windows)
  • Совместное использование сеансов (Session Sharing)
  • Ведение журнала (Logging)
  • Буфер прокрутки (Scrollback Buffer)

Основные параметры

Описывает основные параметры, используемые при выполнении команды screen, и основные сочетания клавиш, используемые внутри сеанса screen.

Параметры выполнения команды

Сочетания клавиш в сеансе (префикс Ctrl+a)

Сгенерированная команда:

Комбинируйте команды.

Описание:

`screen` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

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

Различные примеры использования команды screen.

Запуск нового сеанса screen

screen

Самый базовый способ использования — запуск нового сеанса screen.

Запуск сеанса с указанием имени

screen -S my_long_running_task

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

Отсоединение сеанса (Detach)

screen -d <session_name_or_pid>

В сеансе screen нажмите Ctrl+a d, чтобы отсоединить сеанс и вернуться в терминал. Или можно принудительно отсоединить работающий сеанс извне.

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

screen -r

Повторно подключается к отсоединенному сеансу. Если сеанс только один, он подключается автоматически.

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

screen -r my_long_running_task

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

Просмотр списка активных сеансов

screen -ls

Проверяет список текущих активных сеансов screen.

Принудительное завершение сеанса

screen -X <session_name_or_pid> quit

Принудительно завершает сеанс, который больше не нужен. (Внимание: работа может быть прервана)

Установка

GNU Screen обычно входит в состав большинства дистрибутивов Linux или может быть легко установлен с помощью менеджера пакетов.

Debian/Ubuntu

sudo apt update && sudo apt install screen

Устанавливается с помощью менеджера пакетов APT.

CentOS/RHEL/Fedora

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

Устанавливается с помощью менеджера пакетов YUM или DNF.

Arch Linux

sudo pacman -S screen

Устанавливается с помощью менеджера пакетов Pacman.

Советы и рекомендации

Полезные советы и рекомендации при использовании screen.

Использование файла .screenrc

Вы можете настроить параметры screen по умолчанию, используя файл `.screenrc` в домашнем каталоге пользователя. Например, вы можете установить оболочку по умолчанию, размер буфера прокрутки, строку состояния и т. д.

  • Расположение: ~/.screenrc
  • Пример настройки: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'

Запомните префикс Ctrl+a

Все внутренние команды screen по умолчанию используют префикс Ctrl+a. Запоминание этой комбинации является ключом к использованию screen. Если Ctrl+a конфликтует с другими программами, вы можете изменить префикс в `.screenrc` (например, изменить на Ctrl+j с помощью `escape ^Jj`).

Важность указания имени сеанса

Присвоение сеансам осмысленных имен с помощью `screen -S ` помогает избежать путаницы при управлении несколькими сеансами и упрощает повторное подключение к конкретному сеансу.

Использование буфера прокрутки

Нажмите Ctrl+a [, чтобы войти в режим прокрутки, затем используйте клавиши со стрелками или PageUp/PageDown для просмотра предыдущего вывода. Нажмите q, чтобы выйти из режима прокрутки.


Те же команды в категории