Найти в Дзене

Screen linux как пользоваться

Screen — это мощный консольный менеджер сессий в Linux, позволяющий создавать, управлять и отключаться от терминальных сессий, не теряя при этом запущенные в них процессы. Это особенно полезно при работе с удаленными серверами, когда вам нужно запустить длительный процесс и отключиться от терминала, не прерывая его выполнение. Вот подробное руководство по использованию screen: Основные понятия: Сессия (Session): Экземпляр screen, в котором можно запускать команды и приложения. Окно (Window): Виртуальный терминал внутри сессии screen. Одна сессия может содержать несколько окон. Отключение (Detach): Отключение от сессии screen, сохраняя все запущенные процессы. Подключение (Attach): Подключение к существующей сессии screen. Установка: В большинстве дистрибутивов Linux screen можно установить из репозиториев: Debian/Ubuntu: · sudo apt update · sudo apt install screen CentOS/RHEL: · sudo yum install screen Fedora: · sudo dnf install screen Arch Linux: · sudo pacman — S screen Основные кома

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

Основные понятия:

Сессия (Session): Экземпляр screen, в котором можно запускать команды и приложения. Окно (Window): Виртуальный терминал внутри сессии screen. Одна сессия может содержать несколько окон. Отключение (Detach): Отключение от сессии screen, сохраняя все запущенные процессы. Подключение (Attach): Подключение к существующей сессии screen.

Установка:

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

Debian/Ubuntu:

· sudo apt update

· sudo apt install screen

CentOS/RHEL:

· sudo yum install screen

Fedora:

· sudo dnf install screen

Arch Linux:

· sudo pacman — S screen

Основные команды и комбинации клавиш:

Запуск Screen:

2. screen

Эта команда запустит новую сессию screen и откроет новое окно терминала внутри нее.

Создание именованной сессии:

4. screen -S <имя_сессии>

Замените <имя_сессии> на желаемое имя сессии (например, screen — S mylongtask). Именование сессий упрощает их поиск и подключение к ним позже.

Отключение от сессии (Detach):

Находясь внутри сессии screen, нажмите сочетание клавиш:

Ctrl + a (затем отпустите клавиши)

D

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

Подключение к существующей сессии (Attach):

7. screen -r

Эта команда подключится к последней отключенной сессии.

Если у вас несколько отключенных сессий, используйте:

Screen — r <имя_сессии>

Замените <имя_сессии> на имя сессии, к которой вы хотите подключиться. Если вы не помните имя сессии, используйте screen — ls (см. ниже).

Список сессий:

9. screen -ls

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

Пример вывода:

There are screens on:

1234.mylongtask (10/27/23 14:00:00) (Detached)

5678.another_session (10/27/23 14:15:00) (Detached)

2 Sockets in /run/screen/S-user1.

В этом примере 1234 и 5678 — это идентификаторы сессий, а mylongtask и another_session — их имена.

Завершение сессии (Kill):

Внутри сессии: Завершите все процессы, запущенные в сессии, и выйдите из screen.

O exit

Снаружи сессии (если вы отключены от нее):

O screen — X — S <имя_сессии> quit

Или

Screen — X — S <идентификатор_сессии> quit

Замените <имя_сессии> или <идентификатор_сессии> на соответствующие значения. Эта команда отправит команду quit в указанную сессию, завершив ее.

Создание нового окна внутри сессии:

Находясь внутри сессии screen, нажмите сочетание клавиш:

Ctrl + a (затем отпустите клавиши)

C

Это создаст новое окно терминала внутри текущей сессии.

Переключение между окнами:

Перейти к следующему окну:

O Ctrl + a (затем отпустите клавиши)

O n

Перейти к предыдущему окну:

O Ctrl + a (затем отпустите клавиши)

O p

Перейти к окну по номеру:

O Ctrl + a (затем отпустите клавиши)

O ‘<номер_окна> ’

Замените <номер_окна> на номер окна (начиная с 0). Например, Ctrl+a 0 переключит вас в первое окно.

Переименование окна:

14. Ctrl + a (затем отпустите клавиши)

15. A

В появившейся строке введите новое имя и нажмите Enter.

Отображение списка окон:

17. Ctrl + a (затем отпустите клавиши)

18. "

Основные комбинации клавиш (префиксные команды):

Все команды screen начинаются с префиксной комбинации клавиш: Ctrl + a. Затем, отпустив эти клавиши, вы нажимаете одну из командных клавиш. Вот некоторые наиболее полезные комбинации:

Ctrl + a c: Создать новое окно. Ctrl + a d: Отключиться от сессии (Detach). Ctrl + a n: Перейти к следующему окну. Ctrl + a p: Перейти к предыдущему окну. Ctrl + a <номер_окна> : Перейти к окну по номеру. Ctrl + a A: Переименовать текущее окно. Ctrl + a ": Показать список окон. Ctrl + a?: Показать справку (список всех команд). Ctrl + a k: Закрыть текущее окно (Kill). Ctrl + a \: Закрыть все окна и завершить сессию (Quit). Ctrl + a a: Отправить Ctrl + a в текущее окно (если вам нужно использовать эту комбинацию клавиш в приложении). Ctrl + a |: Разделить окно по вертикали. Ctrl + a S: Разделить окно по горизонтали. Ctrl + a Tab: Переключаться между областями разделенного экрана. Ctrl + a Ctrl+a: Переключиться в предыдущее окно.

Файл конфигурации ~/.screenrc:

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

Изменение префиксной клавиши (по умолчанию Ctrl + a). Настройка отображения статусной строки. Автоматический запуск определенных программ при запуске screen. Настройка цветовой схемы.

Пример файла ~/.screenrc:

# Set a different escape key

Escape ^Tt

# Always show a status line

Hardstatus alwayslastline

Hardstatus string ‘%{gk} %{wk}%?%-w%?%{r}(%{W}%n*%f %t%?(%u)%?%{r})%{w}%?%+w%? %{g}%H %{y}%l %{b}%d %{w}%c’

# Start with a new window

Screen — t shell 0

# Set a default terminal type

Term xterm-256color

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

Запуск длительных процессов на удаленном сервере: Подключитесь к удаленному серверу по SSH, запустите screen, запустите длительный процесс и отключитесь от сессии. Процесс продолжит выполняться, даже если вы закроете SSH-соединение. Работа с несколькими проектами одновременно: Создайте отдельные сессии screen для каждого проекта и переключайтесь между ними по мере необходимости. Запуск нескольких программ в одном терминале: Используйте окна screen для запуска нескольких программ в одном терминале. Текстовый интерфейс для нескольких терминалов: screen позволяет работать в текстовом режиме как в графической среде с несколькими окнами.

Альтернативы Screen:

Tmux (Terminal Multiplexer): Более современный и мощный менеджер сессий, чем screen. Многие пользователи предпочитают tmux из-за его гибкости и расширенных возможностей. Настройка tmux сложнее, чем screen. Byobu: Текстовый менеджер окон, разработанный на основе tmux или screen. Он предоставляет удобный интерфейс и предустановленные настройки.

Советы:

Запомните основные комбинации клавиш. Настройте ~/.screenrc в соответствии со своими потребностями. Используйте именованные сессии для упрощения управления. Попробуйте tmux, если вам нужны более продвинутые функции.

Использование screen может значительно повысить вашу производительность при работе в терминале. Экспериментируйте с различными командами и комбинациями клавиш, чтобы освоить этот мощный инструмент.