Введение в 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