Терминальный мультиплексор – это полезный для администраторов инструмент, который позволяет управлять web-сервером, БД и другими приложениями одновременно. Когда открыто сразу несколько вкладок терминала, то вручную следить за корректностью работы очень сложно. С помощью специального ПО удается решить данную проблему, чтобы одновременно следить за несколькими процессами.
Что такое терминальный мультиплексор и для чего он нужен?
Благодаря терминальным мультиплексорам можно работать с несколькими сессиями в одном окне. Суть работы заключается в том, что на удаленном устройстве создается терминал, а на локальной машине окно терминала разделяется на несколько частей. Есть возможность отключиться от удаленной машины, а потом подключиться и продолжить работу с теми же настройками.
К основным преимуществам данного софта можно отнести следующее:
- стабильность работы;
- можно подключаться к сессиям из различных мест;
- создание мультиокна;
- широкий функционал;
- простота установки;
Прежде всего нужно разобраться в чем разница между оболочкой, терминалом и консолью.
- Оболочка предполагает минимальный функционал и является самым низким уровнем взаимодействия пользователя с устройством. Оболочка предоставляет строку ввода-вывода с приглашением ввести команду.
- Терминал – это софт с уже загруженной оболочкой. Работает он на графическом сервере. Говоря простыми словами, терминал является “окном” доступа к оболочке.
- Термин консоль применяется для оболочки, которая запущена вне графической среды.
Некоторые приложения позволяют разделить оболочку или консоль, а другие позволяют разделить терминал. Сегодня наиболее популярными считаются терминальные мультикомплексы tmux и dvtm, поэтому стоит сфокусироваться на них, рассматривая технические возможности.
Tmux
Tmux работает на Linux и MacOS. Его установка происходит с помощью стандартного менеджера пакетов, а запуск при помощи команды
$ tmux
Управление осуществляется с помощью комбинации клавиш Ctrl+B. Для разделения экрана на несколько частей требуется использовать следующие комбинации клавиш:
- Shift+5 – разделение экрана на две равные части вертикальной чертой;
- Ctrl+B+” – разделение каждой из вкладок еще на 2 части горизонтальной чертой.
Для разделения экрана также можно использовать соответствующие команды:
$ tmux split-window -v
$ tmux split-window -h
Tmux, совершенно точно, заслуживает более детального погружения, так как в этом софте предусмотрено большое количество комбинаций клавиш. Они используются в том числе для переключения между окнами, завершения tmux сессии и не только.
Важно. Во время восстановления прерванной сессии все сведения и процессы сохраняются.
В manual можно найти все tmux команды и горячие клавиши.
Конфигурационный файл Tmux
Существует 2 категории конфигурационных файлов: пользовательская и глобальная. Необходимые изменения нужно вносить в пользовательский файл .tmux.conf. Данные настройки удобны для комфортной работы в будущем, например, с помощью настройки set -g mouse on
можно начать использовать мышь. В этом же файле можно изменить префиксную комбинацию клавиш.
Рекомендации по настройке
Есть некоторые рекомендации по настройке данного ПО, чтобы администратору удобно было работать с ним.
-
Внизу экрана находится строка состояния. Она часто мешает администраторам. Ее можно отключить при необходимости с помощью команды
$ tmux set -g status off
-
Допускается перемещение строки состояния наверх командой
$ tmux set -g status-position top
-
При необходимости можно изменить цвет этой строки, используя
$ tmux set -g status-bg blue
Dvtm
Это еще один популярный терминальный мультиплексор, который очень схож по функционалу с tmux. DVTM находится в репозитории большинства Linux систем, а установка выполняется при помощи стандартного менеджера пакетов.
После установки сверху появится строка состояния. Префиксная комбинация клавиш в этой программе Ctrl+G. При этом понятие окна в этом софте совсем другое по сравнению с tmux. После разделения экрана на две части каждая из них будет считаться отдельным окном. С помощью Ctrl+G+С создаются дополнительные окна в случае необходимости.
Предусмотрены следующие режимы создания окон:
- по вертикали;
- по горизонтали;
- режим сетки;
- полноэкранный режим.
Войти в каждый из этих режимов можно через комбинацию клавиш или с использованием необходимой команды.
Важно. Рекомендуется изучить все комбинации клавиш и команд в manual, чтобы понимать все функциональные возможности этого софта.
В dvtm администратор может увеличить или уменьшить ширину интересующего его окна. Также dvtm поддерживает функцию синхронизации. Если пользователь нажимает на клавишу в одном окне, то она воспроизводится и во всех остальных тоже. Такая функция работает после нажатия комбинации Ctrl+G+A.
Важно. Данная функция актуальна во время использования команд. Таким образом, администратору не нужно выполнять одно и то же действие в каждом окне. Это удобно, когда требуется выполнить настройку удаленных серверов с использованием одинаковой схемы.
В dvtm нет возможности возобновлять и сохранять сессии, но эту проблему можно решить благодаря применению утилиты dtach. Ее установка происходит через менеджер пакетов.
Во время использования dtach нужно обязательно указывать сокет, с помощью которого происходит подключение к сессии. Доступ к сессии определяется доступом к сокету. Для отключения от dtach требуется нажать Ctrl+\.
Сравнительная таблица команд и клавиатурных комбинаций
Стоит провести сравнительный анализ между двумя наиболее популярными терминальными мультикомплексами, чтобы системный администратор мог понимать, что лучше использовать в конкретно взятой ситуации.
Управление сессиями
Операция | tmux | dvtm |
---|---|---|
Запуск сессии | tmux new-session -s {сессия} | Данная функция не поддерживается, требуется использовать дополнительно утилиту |
Подключение к существующей сессии |
tmux attach-session -s {сессия}
|
dtach -a /tmp/dvtm-session -r winch
|
Отключение от сессии | Ctrl+B+D | Ctrl+\ |
Просмотр всех активных сессий |
tmux ls
|
ps aux | grep dtach
|
Удаление одной/всех сессии |
tmux kill-session -t {сессия}
|
Не поддерживается |
Управление окнами
Переход в последнее активное окно | Ctrl+B+L | Невозможно |
---|---|---|
Просмотр списка открытых окон | Ctrl+B+W | Невозможно |
Создание окна | Ctrl+B+C | Ctrl+G+C |
Переход к предыдущему/следующему окну | Ctrl+B+P/Ctrl+B+N | Ctrl+G+J/Ctrl+G+K |
Таким образом, tmux обладает более широким функционалом, но dvtm тоже имеет некоторые преимущества, что обусловливает популярность данного софта.
Также существуют и другие программы, которые позволяют объединить несколько сессий на одном экране для удобства использования. Во время выбора решения нужно обращать внимание на стабильность работы и функционал.