ProCloud Yandex
08.07.2023
читать 7 минут

Терминальные мультиплексоры: Tmux и Dvtm

Терминальный мультиплексор – это полезный для администраторов инструмент, который позволяет управлять web-сервером, БД и другими приложениями одновременно. Когда открыто сразу несколько вкладок терминала, то вручную следить за корректностью работы очень сложно. С помощью специального ПО удается решить данную проблему, чтобы одновременно следить за несколькими процессами.

Что такое терминальный мультиплексор и для чего он нужен?

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

К основным преимуществам данного софта можно отнести следующее:

  • стабильность работы;
  • можно подключаться к сессиям из различных мест;
  • создание мультиокна;
  • широкий функционал;
  • простота установки;

Прежде всего нужно разобраться в чем разница между оболочкой, терминалом и консолью.

  1. Оболочка предполагает минимальный функционал и является самым низким уровнем взаимодействия пользователя с устройством. Оболочка предоставляет строку ввода-вывода с приглашением ввести команду.
  2. Терминал – это софт с уже загруженной оболочкой. Работает он на графическом сервере. Говоря простыми словами, терминал является “окном” доступа к оболочке.
  3. Термин консоль применяется для оболочки, которая запущена вне графической среды. 

Некоторые приложения позволяют разделить оболочку или консоль, а другие позволяют разделить терминал. Сегодня наиболее популярными считаются терминальные мультикомплексы 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 можно начать использовать мышь. В этом же файле можно изменить префиксную комбинацию клавиш.

Рекомендации по настройке

Есть некоторые рекомендации по настройке данного ПО, чтобы администратору удобно было работать с ним.

  1. Внизу экрана находится строка состояния. Она часто мешает администраторам. Ее можно отключить при необходимости с помощью команды $ tmux set -g status off
  2. Допускается перемещение строки состояния наверх командой $ tmux set -g status-position top
  3. При необходимости можно изменить цвет этой строки, используя $ 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 {сессия}
tmux kill-server
Не поддерживается

Управление окнами

Переход в последнее активное окно 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 тоже имеет некоторые преимущества, что обусловливает популярность данного софта.

Также существуют и другие программы, которые позволяют объединить несколько сессий на одном экране для удобства использования. Во время выбора решения нужно обращать внимание на стабильность работы и функционал.

Новости
6 марта 202306.03.2023
читать 2 минутычитать 2 мин
Давайте зарабатывать вместе
20 февраля 202320.02.2023
читать 2 минутычитать 2 мин
Облачные серверы с NVIDIA Tesla V100