Руководство по использованию экранных команд в Linux ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
05.12.2024

Руководство по использованию экранных команд в 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.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills