Подписывайтесь на Telegram канал!

Tmux терминальный оконный менеджер при использовании дает возможность при обрыве связи с сервером по ssh не терять информацию о выполняемых действиях. Работает в любом дистрибутиве Linux. Одна из любимых утилит администраторов Linux.

Введение

Очень быстро при работе с серверами по ssh я стал ощущать два неудобства:

  • Из за обрыва связи я терял информацию о ходе выполняемых действий на сервере,
  • Для выполнения нескольких действий мне приходилось создавать несколько подключений по ssh.

Мои неудобства решаются с помощью терминального оконного менеджера. Работать с ним оказалось удобно и не вызывает сложностей. Присутствуют некоторые нюансы в работе в отличии от работы в простой консолью.

Вам будет не важно где вы находитесь и с какого компьютера подключаетесь к необходимому серверу так как будете попадать именно туда где закончили свои последние действия. Вы можете сказать название сессии коллеге и он сможет подключится в среду в которой вы работайте.

Установка Tmux

Пакет присутствует во всех популярных системах и устанавливается с помощью команды:

Red Hat
# yum install tmux

Debian
# apt install tmux

Calculate Linux
# emerge -av tmux

При настройке под себя необходимо знать какая версия используется для указания правильных параметров в файле настройки.

Вывод информации об установленной версии:

# tmux -V
= вывод команды =
tmux 3.6a

Более подробно про программу можно почитать на  Wikipedia или на странице разработки.

Работа с Tmux

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

Оптимальный вариант для работы с Tmux это запускать его на удаленном сервере. Только так вы не будете получать проблем при обрыве связи или вашей миграции от компьютера к компьютеру.

Для более детального изучения можно ознакомится с документацией выполнив команду:

# man tmux

Управление сессиями

Вывод информации обо всех возможных командах:

# tmux list-commands

Рассмотрим основные команды используемые в работе с Tmux при действиях в консоли сервера.

Создание сессии:

= Создание сессии Tmux =
# tmux

= Создание сессии с названием  sevo44 =
# tmux new -s sevo44

= Информация о работающих сессиях Tmux =
# tmux ls
= вывод команды =
0: 1 windows (created Mon Dec 10 10:48:09 2018) [150x33]
sevo44: 1 windows (created Mon Dec 10 10:48:23 2018) [150x33]

= Переименование сессии 0 в sevo44-2 =
# tmux rename-session -t 0 sevo44-2

Подключение к сессии:

= Подключение к последней сессии =
# tmux a

= Подключение к сессии использую имя или номер =
# tmux attach -t sevo44

Удаление сессии:

= Удаление сессии по номеру или имени =
# tmux kill-session -t sevo44

= Удаление все сессий =
# tmux kill-server

Работа в сессии

При работе в сессии Tmux существует понятие «Префикс» это то что переводит его в командный режим.

По умолчанию префикс «Ctrl + b«.

Префикс всегда набираем перед введением любой команды ниже!

Основные команды:

Функция Команда
Вывести справку по всем командам  ?
Выйти из сесиии  d
Закрыть сессию  x
Скролинг  [ для выхода из режима q

Команды для работы с панелями:

Функция Команда
Разделить текущую панель на две, по вертикали  Shift + %
Разделить текущую панель на две, по горизонтали  Shift + « (на клавиатуре слева от Enter)
Переход между панелями  →←↑↓
Изменить размеры панели  Alt + →←↑↓
Закрыть панель  x (или набрать exit)

Команды для работы с закладками (окнами):

Функция Команда
Создание закладки  с
Переименование закладки  ,
Вывод всех закладок для перехода  w
Закладка вперед  n
Закладка назад  p
Удалить закладку  x

Настройка Tmux под себя

Вся настройка сводится к тому что в своей домашней папке необходимо создать файл .tmux.conf в который добавить необходимые настройки.

При настройках надо знать версию и понимать необходимость изменяемых параметров. Множество советов что вы найдете в интернете попросту не будут у вас работать.

Моя версия такая:

# tmux -V
= вывод команды =
tmux 3.6a

Сменим префикс с «Ctrl + b» на «Ctrl + а» и добавим возможность прокручивать колесиком на мышке:

# vim ~/.tmux.conf
= необходимые параметры =
# Включить поддержку мыши (прокрутка, выделение, клик)
set -g mouse on
# Опционально: увеличить буфер истории (по умолчанию 2000 строк)
set -g history-limit 5000
# Опционально: установить префикс (по умолчанию Ctrl+b)
set -g prefix C-a
# Опционально: включить статусную строку с информацией
set -g status on

Примените tmux.conf с помощью команды если он запущен:

# tmux source-file ~/.tmux.conf

При создании нового сеанса Tmux прочитает файл ~/.tmux.conf и применит все указанные в нём параметры!

Вывод

Освоив базовые функции Tmux, я убедился, что их более чем достаточно для комфортной и продуктивной работы. При этом стоит отметить: потенциал инструмента гораздо шире — при желании можно углубиться в настройки и адаптировать tmux под самые специфические требования.

Конечно, в сравнении с привычной консолью иногда встречаются небольшие нюансы в управлении или поведении интерфейса. Но эти мелочи с лихвой окупаются ключевой возможностью: я могу подключаться к серверу из любой точки, не будучи привязанным к конкретному рабочему месту. Гибкость и непрерывность рабочего процесса стоят того, чтобы привыкнуть к небольшим особенностям Tmux.

Понравилась статья? Поделитесь ей с друзьями!