3.9.8.9.1 Screen - запуск виртуальных терминалов в режиме сессий
Скачать документScreen – это приложение, позволяющее запускать несколько виртуальных терминалов в режиме сессий. После того как сессия создана, от неё можно отключиться, а позже — снова подключиться, причём с любого другого хоста, на котором установлен SSH-клиент.
Процессы, запущенные в screen, продолжают выполняться и после того, как пользователь отключается от сессии или вообще от хоста в целом. Это ещё одна причина (кроме повышения удобства работы в командной строке вследствие использования возможности перехода между окнами), по которой используется screen.
Если соединение с интернетом ненадёжное, или у пользователя нет возможности поддерживать постоянное соединение, или существует необходимость запустить выполнение процесса в офисе, а остановить – дома, то использование screen – способ решить подобные проблемы.
Вы можете подробнее ознакомиться с информацией о работе терминальных мультиплексоров, просмотрев наши обучающие видео:
на RuTube — Многооконность в консоли;
в Яндекс.Дзен — Многооконность в консоли;
в VK Видео — Многооконность в консоли.
На наших каналах вы также сможете найти много другой полезной информации.
Для установки программы screen выполните команду:
dnf install screen
Для запуска новой сессии screen выполните команду:
screen
Все управляющие команды начинаются с комбинации клавиш «Ctrl + a», затем следует буква или сочетание клавиш. Буквы разных регистров выполняют разные команды. Также сочетания можно заменять текстом. Для его ввода нажмите «Ctrl + a» и «:», после чего вводите текст.
Команда screen обладает большим набором горячих клавиш. Полный их список можно посмотреть с помощью комбинации клавиш «Ctrl+a ?».
Рассмотрим основные из них:
«Ctrl+a c» - Создать новое окно;
«Ctrl+a n» - Перейти к следующем окну;
«Ctrl+a p» - Перейти к предыдущему окну;
«Ctrl+a a» - Изменить имя окна;
«Ctrl+a k» - Закрыть текущее окно;
«Ctrl+a 1» - Перейти к окну с номером 1 (можно использовать цифры от 0 до 9);
«Ctrl+a “» - Вывести список окон, стрелками выбрать необходимую для перехода;
«Ctrl+a S» - Разделить экран по горизонтали;
«Ctrl+a |» - Разделить экран по вертикали;
«Ctrl+a Tab» - Переключение между окнами;
«Ctrl+a d» - Отключиться от сессии screen (при этом процессы и приложения запущенные в сессии продолжают выполняться).
При создании новой сессии screen можно задать для нее название с помощью ключа -S <имя>:
screen -S session1
Просмотреть список активных сессий можно командой:
screen -ls
Чтобы подключиться к существующей сессии, выполните команду:
screen -r <имя_сессии> | <ID_сессии>
Рассмотрим пример использования утилиты при работе на удаленном хосте через ssh-соединение.
После подключения к удаленному хосту создайте новую сессию screen с названием session1:
screen -S session1
Затем выполните на хосте необходимые действия и команды. Для примера запустим ping до ресурса ya.ru:
ping ya.ru
Для отключения от сессии нажмите сочетание «Ctrl+a d». При этом процесс ping продолжит выполнение, даже если разорвать ssh-подключение к удаленной машине. Чтобы вернуться в нашу сессию выполним команду:
screen -r session1
Можно увидеть, что утилита ping все еще работает.
Для того чтобы разделить экран терминала пополам, нужно сначала нажать комбинацию «Ctrl+a», а затем «S» или «|» (т.е. «Shift + \»). При разделении окон новая оболочка не запускается на вновь созданной панели, для этого необходимо перейти в новое пространство с помощью «Ctrl+a+Tab» и вызвать новый экземпляр оболочки вручную с помощью «Ctrl+a+C».
Дата последнего изменения: 19.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.