Введение в Screen
Введение
Утилита Screen — это мощный терминальный мультиплексор, который позволяет пользователям Ubuntu управлять несколькими сессиями терминала в рамках одного окна. Она особенно полезна при работе с удаленными серверами или при запуске длительных процессов, так как позволяет отсоединяться и снова подключаться к сессиям без прерывания запущенных процессов.
Что такое Screen и для чего он нужен
Screen предоставляет возможность:
- Запускать несколько сессий терминала одновременно.
- Отсоединяться от сессий и возвращаться к ним позже.
- Запускать длительные процессы без опасения, что они прервутся при потере соединения.
- Управлять окнами и разделять экран для одновременной работы с несколькими задачами.
Установка Screen
В большинстве случаев Screen уже предустановлен в Ubuntu. Чтобы проверить, установлен ли он, введите в терминале:
screen --version
Если утилита не установлена, вы можете установить ее с помощью команды:
sudo apt update sudo apt install screen
Основные команды и использование
Запуск новой сессии
Чтобы запустить новую сессию Screen, просто введите:
screen
Вы попадете в новую сессию терминала. Теперь вы можете выполнять команды как обычно.
Отсоединение и восстановление сессии
Просмотр всех активных сессий:
screen -ls
При работе с Screen вы можете столкнуться с терминами Detached и Attached, которые описывают состояние сессий.
- Описание: Сессия находится в состоянии Detached, когда она запущена в фоне без активного подключения пользователя. Процессы внутри сессии продолжают выполняться, но вы не взаимодействуете с ними напрямую.
- Как происходит отсоединение:
- Явное отсоединение с помощью комбинации клавиш: находясь внутри сессии, нажмите
Ctrl + A
, затемD
. - Неявное отсоединение при разрыве соединения с сервером или закрытии терминала.
- Как узнать статус:При выполнении команды
screen -ls
вы увидите список сессий со статусом(Detached)
.
- Описание:Сессия находится в состоянии Attached, когда к ней подключен пользователь, и вы активно взаимодействуете с процессами внутри сессии.
- Как подключиться к сессии:
- Используйте команду
screen -r
для восстановления последней отсоединенной сессии. - Если у вас несколько сессий, укажите имя или ID:
screen -r my_session
илиscreen -r 233708.test
- Особенности:Если вы пытаетесь подключиться к сессии, которая уже подключена (то есть кто-то другой в данный момент с ней работает), вы получите сообщение об ошибке.
Принудительное подключение к сессии
Если вы уверены, что нужно подключиться к уже подключенной сессии (например, при зависании сессии), вы можете использовать флаги -d -r
:
screen -d -r my_session
Именованные сессии
Именованные сессии упрощают управление, особенно когда у вас запущено несколько сессий.
screen -S имя_сессии
screen -S my_session
Восстановление именованной сессии:
screen -r имя_сессии
screen -XS my_session quit
-X
: позволяет отправить команду в указанную сессию Screen.-S
: указывает на конкретную сессию по имени или идентификатору (ID).
my_session
: имя или ID сессии, к которой вы хотите обратиться.
quit
: команда, которую вы отправляете в сессию. В данном случае это команда для завершения сессии.
Управление окнами внутри сессии
- Создание нового окна:Нажмите
Ctrl + A
, затемC
. - Переключение между окнами:
- Следующее окно:
Ctrl + A
, затемN
. - Предыдущее окно:
Ctrl + A
, затемP
. - Выбор окна по номеру:
Ctrl + A
, затем номер окна (например,0
,1
,2
). - Список открытых окон:Нажмите
Ctrl + A
, затем"
(двойные кавычки).
Примеры использования
screen -S update_session sudo apt update && sudo apt upgrade
Вы можете отсоединиться от сессии и вернуть к ней позже, не прерывая процесс обновления.
Одновременная работа с несколькими задачами:
screen -S multitask
Создайте новое окно для каждой задачи, используя Ctrl + A
, затем C
.
Переключайтесь между задачами, используя Ctrl + A
, затем N
или P
.
Полезные сочетания клавиш
Ctrl + A
, затемD
— отсоединиться от сессии.Ctrl + A
, затемC
— создать новое окно.Ctrl + A
, затемN
— перейти к следующему окну.Ctrl + A
, затемP
— перейти к предыдущему окну.Ctrl + A
, затем"
— показать список окон.Ctrl + A
, затемK
— закрыть текущее окно.Ctrl + A
, затем?
— показать справку по сочетаниям клавиш.
Заключение
Screen — незаменимый инструмент для пользователей, работающих с терминалом в Ubuntu. Он обеспечивает гибкость и надежность при выполнении задач, позволяя продолжать работу даже после отключения от сервера или закрытия терминала. Освоив основные команды и возможности Screen, вы значительно повысите эффективность работы в командной строке.
Наш телеграмм канал по нодам — https://t.me/g7team_ru
Наш чат по нодам — https://t.me/g7team_chat