Как использовать Linux Screen

Вы когда-нибудь сталкивались с ситуацией, когда выполняете долгосрочную задачу на удаленной машине, и внезапно ваше соединение разрывается, сеанс SSH прерывается, и ваша работа теряется. Ну, это случилось со всеми нами в какой-то момент, не так ли? К счастью, есть утилита под названием screen, которая позволяет нам возобновлять сеансы.

Вступление

Screen или GNU Screen — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким сессиям в рамках одной сессии. Это полезно для работы с несколькими программами из командной строки, а также для запуска программ на удаленном сервере.

Установка утилиты Screen

Пакет с утилитой screen уже установлен в большинстве дистрибутивов Linux. Вы можете проверить, установлен ли он в вашей системе, набрав:

$ screen --version

Вывод

Screen version 4.06.02 (GNU) 23-Oct-17

Если в вашей системе screen не установлен, вы можете легко установить его с помощью системы управления пакетами вашего дистрибутива.

Установка в Ubuntu и Debian

$ sudo apt install screen

Установка в Centos и Fedora

sudo yum install screen

Запуск утилиты Screen

Чтобы начать сеанс экрана, просто введите screen в консоли:

$ screen

Это откроет сеанс экрана, создаст новое окно и запустит оболочку в этом окне.

Теперь, когда вы открыли сеанс экрана, вы можете получить список команд, набрав:

Ctrl+a ?

Начало именованного сеанса

Именованные сеансы полезны при запуске нескольких сеансов экрана. Чтобы создать именованный сеанс, выполните команду screen со следующими аргументами:

$ screen -S session_name

Это всегда хорошая идея, чтобы выбрать описательное имя сеанса.

Работа с окнами

При запуске нового сеанса экрана по умолчанию создается одно окно с оболочкой.

Вы можете иметь несколько окон внутри сеанса экрана.

Для создания нового окна с оболочкойвведите Ctrl+a, ему будет присвоен первый доступный номер из диапазона от 0 до 9.

Ниже приведены некоторые наиболее распространенные команды для управления окнами в screen:

  • Ctrl+a c — Создать новое окно (с оболочкой)
  • Ctrl+a " — Список всех окон
  • Ctrl+a 0 — Переключиться в окно 0 (по номеру)
  • Ctrl+a A — Переименовать текущее окно
  • Ctrl+a S — Разделить текущую область по горизонтали на две области
  • Ctrl+a | — Разделить текущую область по вертикали на две области
  • Ctrl+a tab — Переключить фокус ввода на следующую область
  • Ctrl+a Ctrl+a — Переключение между текущей и предыдущей областью
  • Ctrl+a Q — Закрыть все области, кроме текущей
  • Ctrl+a X — Закрыть текущую область

Отсоединиться от сессии

Вы можете отсоединиться от сеанса экрана в любое время, набрав:

Ctrl+a d

Программа, запущенная в сеансе экрана, продолжит работу после отсоединения от сеанса.

Подключите к экрану

Чтобы возобновить сеанс экрана, используйте следующую команду:

$ screen -r

Если на вашем компьютере запущено несколько сеансов экрана, вам нужно добавить идентификатор сеанса экрана после переключателя r.

Чтобы найти идентификатор сеанса, перечислите текущие сеансы рабочего экрана:

$ screen -ls

Вывод

There are screens on:
10835.pts-0.fed (Detached)
10366.pts-0.fed (Detached)
2 Sockets in /run/screens/S-vanzhiganov.

Если вы хотите восстановить экран 10835.pts-0, введите следующую команду:

$ screen -r 10835

Настройка

Когда экран запускается, он считывает свои параметры конфигурации из /etc/screenrc и ~/.screenrc, если файл присутствует. Мы можем изменить настройки экрана по умолчанию в соответствии с нашими предпочтениями, используя файл .screenrc.

Вот пример конфигурации ~/.screenrc с настроенной строкой состояния и несколькими дополнительными опциями:

# Turn off the welcome message
startup_message off
# Disable visual bell
vbell off
# Set scrollback buffer to 10000
defscrollback 10000
# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

Основное использование

Ниже приведены основные шаги для начала работы с экраном:

  1. В командной строке введите screen.
  2. Запустите необходимую программу.
  3. Используйте последовательность клавиш Ctrl-a + Ctrl-d для отключения от сессии экрана.
  4. Присоедините экран к сеансу, набрав screen -r.

Заключение

Из этого урока вы узнали, как использовать GNU Screen. Теперь вы можете начать использовать утилиту Screen и создавать несколько окон экрана из одного сеанса, перемещаться между окнами, отсоединять и возобновлять сеансы экрана и персонализировать свой экранный терминал с помощью файла .screenrc.

Поделиться ссылкой: