Случалось ли вам начинать длительную работу на удаленном компьютере, а затем терять соединение и видеть, как завершается сеанс SSH, унося с собой весь ваш прогресс?
Это знакомая ситуация для многих из нас.
GNU Screen — это мультиплексор терминалов, который решает именно эту проблему: он поддерживает работу сеансов даже после отключения, поэтому вы можете продолжить работу с того места, на котором остановились.
В этом руководстве объясняется, как установить Screen, управлять сеансами и окнами, отсоединять и повторно подключать, использовать режим прокрутки и настраивать Screen с помощью файла конфигурации.
tmux — это современная альтернатива Screen с аналогичной функциональностью и дополнительными функциями, такими как улучшенное управление окнами и поддержка скриптов.
Оба инструмента являются отличным выбором для управления терминальными сеансами.
Установка Linux Screen
Пакет screen предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, доступен ли он, выполните следующую команду:
Если программа screen не установлена в вашей системе, установите ее с помощью диспетчера пакетов вашего дистрибутива.
Установка Linux Screen на Ubuntu, Debian и производных дистрибутивах
Установка Linux Screen на Fedora, RHEL и производных
Запуск сеанса Screen
Чтобы запустить новый сеанс Screen, введите в терминале следующую команду:
Это откроет сеанс Screen, создаст новое окно и запустит в нем оболочку. Чтобы увидеть все доступные сочетания клавиш, нажмите Ctrl+a ? внутри сеанса.
Запуск именованного сеанса
Именованные сеансы полезны, когда вы одновременно запускаете несколько сеансов screen.
Чтобы создать именованный сеанс, выполните следующую команду:
Всегда полезно выбрать описательное название сеанса, которое отражает выполняемую в нем задачу.
Это упрощает последующую идентификацию нескольких сеансов и управление ими.
Работа с окнами Screen
При запуске нового сеанса Screen создается одно окно с оболочкой.
Вы можете в любое время открыть дополнительные окна в рамках одного сеанса.
Чтобы создать новое окно, нажмите Ctrl+a c.
Screen назначает новому окну первый доступный номер в диапазоне от 0 до 9.
Ниже перечислены наиболее распространенные сочетания клавиш для управления окнами:
Ctrl+ac— создать новое окно (с оболочкой).Ctrl+a"— Вывести список всех окон.Ctrl+a0— Переключиться на окно 0 (по номеру).Ctrl+aA— Переименовать текущее окно.Ctrl+ak— Закрыть текущее окно.Ctrl+aS— Разделить текущую область по горизонтали на две области.Ctrl+a|— Разделить текущую область по вертикали на две области.Ctrl+aTab— Переключить фокус ввода на следующую область.Ctrl+aCtrl+a— переключение между текущим и предыдущим окном.Ctrl+aQ— закрыть все области, кроме текущей.Ctrl+aX— закрыть текущую область.
Открепить от сеанса экрана
- Вы можете отсоединиться от сеанса Screen в любой момент, нажав:
Ctrl+a d
Программы, запущенные в сеансе, продолжат работать после отключения.
Вы можете безопасно закрыть терминал или отключить SSH-сеанс.
Повторное подключение к сеансу Screen
Чтобы возобновить отсоединенный сеанс, выполните следующую команду:
Если у вас запущено несколько сеансов screen, необходимо указать идентификатор сеанса.
Чтобы получить список всех запущенных сеансов, выполните следующую команду:
Чтобы повторно подключиться к определенному сеансу, передайте его идентификатор в параметр -r:
Если сеанс по-прежнему помечен как (Attached) (например, после неожиданного отключения), используйте -d -r , чтобы сначала отключить его, а затем снова подключить:
Заключение
GNU Screen позволяет сохранять активность сеансов терминала при отключении, запускать несколько окон в одном сеансе и возобновлять работу именно с того места, на котором вы остановились. Используйте screen -S name для создания именованных сеансов, Ctrl+a d для отсоединения и screen -r для повторного подключения с любого терминала.
Если у вас есть вопросы, оставьте комментарий.
см. также:
- 🖧 Как проверить отпечаток известного хоста
- 👥Как исправить ошибки запуска Fail2Ban на Linux при усилении безопасности SSH
- ✗ Как туннелировать веб-трафик через SSH для безопасного просмотра
- 🖧 Как просмотреть журналы SSH на Linux
- 🖧 Как показать предупреждение безопасности неавторизованным пользователям SSH







