Оригинал: An introduction to GNU Screen
Автор: Bob Murphy
Дата публикации: 2 марта 2017 года
Перевод: А. Кривошей
Дата перевода: февраль 2018 г.
GNU Screen (или просто Screen) - это полезная и универсальная, но несколько недооцененная утилита, которая, как часть проекта GNU, включена или доступна практически в каждом дистрибутиве Linux или UNIX. Screen - это терминальный мультиплексор, похожий на аналоги, которые можно найти в оконных менеджерах. Эта утилита особенно полезна, если вы работаете в виртуальной машине либо по SSH, либо в терминальной сессии. Две функции, которые я нахожу наиболее полезными, - это возможность открывать несколько окон в сеансе, и возможность отключать и повторно подключать Screen, не теряя текущий сеанс.
Screen запускается просто командой screen.
Основы Screen
Во-первых, немного о том, как управлять Screen. Программа работает с управляющей последовательностью Ctrl + a. Все символы, введенные в сессии screen, отправляются непосредственно в командную оболочку, за исключением Ctrl + a. Символ, введенный после Ctrl + a, определяет последовательность команд для screen. Например, Ctrl + a ? выводит страницу справки с привязками клавиш по умолчанию.
Screen позволяет создавать несколько окон в рамках одного терминала. Ввод Ctrl+a c запускает новое окно в Screen. Оно действует как независимое окно со своей командной оболочкой. Ctrl+a K убьет текущее окно.
Ctrl+a n и Ctrl+a p перемещают на следующий и предыдущий экраны соответственно. Альтернативно, Ctrl+a # переключает между сеансами экрана по очереди в том порядке, в котором они были запущены. Существует также команда, которая отображает список всех текущих окон и позволяет выбирать нужное с помощью клавиш курсора, это Ctrl+a ".
Одной из самых мощных функций Screen является возможность отключения и повторного подключения сеансов. Это может быть полезно, когда у вас нестабильное соединение, или если вы знаете, что будете переходить из одной сети в другую или из одного компьютера в другой. Ctrl+a d отключает сеанс screen. Затем вы можете выйти из сеанса SSH. Если вы хотите продолжить, снова войдите в систему и запустите screen с параметром -r (для возобновления).
Ваш сеанс screen возобновится с того места, где вы остановились, при этом все процессы выполняются, как до вашего выхода. Если ваша сессия была внезапно отключена, вы можете аналогичным образом повторно подключиться с помощью той же команды. Если хост не подтвердил, что ваш сеанс был отключен, вы можете использовать команду screen -r -d для возобновления и отключения, чтобы screen могла отключить сеанс и снова подключиться. Это может быть очень полезным при ненадежном сетевом соединении.
Установка Screen
Screen установлен по умолчанию в некоторых дистрибутивах, таких как SuSE и Slackware. Во всех дистрибутивах Linux, которые я пробовал, я мог установить Screen с помощью стандартного диспетчера пакетов из репозиториев по умолчанию. Например, в Red Hat Enterprise Linux или Fedora я мог использовать для установки yum или dnf, соответственно. В Debian и его производных, таких как Ubuntu, вы можете сделать то же самое с помощью apt-get. Я смог также установить Screen во FreeBSD, используя порты.
Расширенные функции Screen
Сеансы Screen можно разделить. Горизонтальное разделение выполняется с помощью Ctrl+a S. При этом ваше текущее окно будет разделено наполовину горизонтально. Переключение между областями осуществляется с помощью Ctrl+a Tab. Другие команды переключения между окнами также работают на разделенном экране. Разделенное окно можно удалить с помощью Ctrl+a X. В поздних версиях Screen горизонтальное разделение можно создать с помощью Ctrl+a |.
Ведение лога текущих сеансов screen можно запустить с помощью команды Ctrl+a H, которая создаст файл calledscreenlog.X, где X - номер вашего сеанса screen. Скриншот того, что сейчас находится в вашем окне screen, можно сделать с помощью Ctrl+a h, при этом будет создан файл hardcopy.X. Сеанс screen можно заблокировать с помощью команды Ctrl+a x, которая заблокирует экран с использованием пароля текущего пользователя.
Почему GNU Screen?
Меня часто спрашивают, почему я использую Screen вместо чего-то более нового, такого как tmux? Мой ответ прост: GNU Screen прост в использовании и вездесущ. Он уже установлен на серверах, с которыми я работаю, и отлично выполняет свои задачи. Если бы у него были недостатоки, которые мне мешали бы работать, я бы быстро нашел лучший инструмент, но Screen удовлетворяет все мои запросы. Надеюсь, вы найдете GNU Screen таким же полезным, как я, и воспользуетесь этой часто забываемой утилитой.
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
Волк слабее льва и тигра, но в цирке волк не выступает!
Волк - единственный из зверей, который может пойти в бой на более сильного противника.
Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...
Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.