Руководство по использованию экранных команд в Linux
Введение
Команда screen – это мощный терминальный мультиплексор для Linux и Unix-подобных систем. Она позволяет управлять несколькими сеансами оболочки из одного окна терминала, сохранять сеансы в рабочем состоянии даже после выхода из системы и подключаться к ним позже. Это особенно полезно для удаленных сеансов через SSH, так как гарантирует, что длительные процессы не будут прерваны при разрыве соединения. В этом руководстве мы расскажем о том, как устанавливать, использовать и управлять экранными сессиями, а также о некоторых распространенных командах и практических советах.
Зачем использовать screen?
Использование screen дает несколько преимуществ:
- Управление сеансами: Запуск нескольких сеансов оболочки в одном окне терминала.
- Сохранение сеанса: Продолжайте выполнять процессы, даже если вы отключитесь от терминала или потеряете SSH-соединение.
- Повторное подключение: Подключайтесь к сеансу в любое время и продолжайте работу с того места, на котором остановились.
- Простота использования: простые команды и ярлыки позволяют легко управлять сеансами.
Экран установки
screen обычно предустановлен в большинстве дистрибутивов Linux. Однако если его нет в вашей системе, вы можете установить его с помощью менеджера пакетов:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
После установки вы можете сразу же начать использовать screen.
Запуск сеанса screen
Чтобы начать новый сеанс screen, просто введите:
screen
Это откроет новый сеанс экрана с интерфейсом командной строки, который ведет себя как обычный терминал. В этом сеансе можно запускать команды или процессы.
Чтобы начать новый сеанс с определенным именем (что облегчает управление им в дальнейшем), используйте:
screen -S имя_сеанса
Замените имя_сеанса на осмысленное имя для вашего сеанса.
Отсоединение и повторное присоединение к сеансам
Одна из самых полезных функций screen – возможность отсоединяться от сессии и присоединяться к ней позже.
Отсоединение от сеанса
Чтобы выйти из экранной сессии, не закрывая ее, нажмите :
Ctrl A , D
Последовательность Ctrl A говорит экрану, что вы собираетесь дать ему команду, а D означает “отсоединиться” После отсоединения ваша сессия продолжит работу в фоновом режиме.
Повторное присоединение к сеансу
Чтобы снова подключиться к отсоединенному сеансу, используйте:
screen -r
Если у вас несколько сеансов, вы можете перечислить их и выбрать конкретный сеанс для подключения:
screen -ls
Эта команда отобразит все активные сеансы экрана, включая их идентификаторы и имена:
Есть экраны на:
1234.имя_сеанса (Отсоединен)
5678.another_session (Detached)
2 Сокета в /var/run/screen/S-user.
Чтобы повторно подключиться к определенной сессии, используйте ее идентификатор или имя:
screen -r 1234
или
screen -r имя_сессии
Использование нескольких окон в одной экранной сессии
screen позволяет создавать несколько окон в рамках одного сеанса. Это означает, что вы можете запускать различные команды или процессы в отдельных окнах и легко переключаться между ними.
Создание нового окна
Чтобы создать новое окно внутри существующего сеанса экрана, нажмите кнопку :
Ctrl A , C
Это откроет новое окно с новым приглашением оболочки.
Переход между окнами
Чтобы переключаться между окнами, используйте:
- Ctrl A, N: переход к следующему окну.
- Ctrl A, P: переход к предыдущему окну.
- Ctrl A, “: отображение списка открытых окон и выбор одного из них для переключения.
Переименование окна
Чтобы переименовать окно для лучшей организации, нажмите:
Ctrl A , A
Введите новое имя окна и нажмите Enter.
Закрытие окна
Чтобы закрыть окно, просто выйдите из оболочки, запущенной в этом окне, набрав:
exit
или нажав Ctrl D .
Блокировка и разблокировка экранного сеанса
Если вам нужно временно заблокировать экранную сессию, воспользуйтесь следующей командой:
Ctrl A , X
Для разблокировки сеанса потребуется ввести пароль пользователя.
Настройка конфигурации экрана
Поведение экрана можно настроить с помощью файла .screenrc, который находится в вашем домашнем каталоге. Вы можете добавить в этот файл команды для изменения привязки клавиш по умолчанию, установки заголовков окон и настройки поведения при запуске screen.
Чтобы создать или отредактировать файл .screenrc, используйте текстовый редактор:
nano ~/.screenrc
Вот несколько примеров настроек, которые вы можете добавить:
# Измените стандартную последовательность экранирования на Ctrl B
escape ^Bb#
Установите строку состояния в нижней части экранаhardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Сохраните файл и перезапустите экран, чтобы применить изменения.
Примеры использования экрана
- Запуск длительных процессов: Если вам нужно запустить скрипт или команду, выполнение которой занимает много времени, запустите ее внутри экранной сессии. Таким образом, даже если вы отключитесь от SSH, процесс продолжит выполняться.
- Управление несколькими сеансами: Если вы работаете над несколькими проектами, вы можете использовать разные экранные сессии или окна для каждой задачи.
- Управление удаленными серверами: Используйте экран для управления удаленными серверами через SSH. Это особенно полезно для администрирования серверов, требующих постоянного обслуживания или мониторинга.
Заключение
Команда screen – это универсальный и мощный инструмент для управления несколькими терминальными сессиями и запуска длительных процессов в системах Linux. Благодаря возможности отсоединять, присоединять и создавать несколько окон, screen обеспечивает надежную среду как для обычных, так и для опытных пользователей. Выполняете ли вы сложные сценарии или вам просто нужен способ поддерживать постоянную сессию оболочки, освоение screen значительно повысит вашу производительность и гибкость в Linux.