Перейти к содержимому

Tmux терминальный менеджер

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

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

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

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

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

Установка Tmux

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

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

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

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

Работа с Tmux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

Например параметры для смены префикса с «CTRL + b» на «CTRL + а» для версии 1.8 будут выглядеть так:

Вывод

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

В завершении небольшой cheatsheet

Комманды:

tmux Запускает tmux или создает новую сессию
tmux new -s <имя_сессии> Создает новую сессию с указанным именем
tmux attach -t <имя_сессии> Присоединяется к существующей сессии
tmux detach Отсоединяется от текущей сессии
tmux list-sessions Список всех сессий
tmux new-window Создает новую вкладку в текущей сессии
tmux select-window Выбирает указанную вкладку
tmux list-windows Список всех вкладок в текущей сессии
tmux kill-session -t <имя_сессии> Завершает сессию и удаляет все связанные вкладки
tmux split-window [-h/-v] [command] Разделяет текущую вкладку на две части (горизонтально или вертикально)
tmux resize-pane [-t window_id] [rows] [columns] Изменяет размер текущей вкладки
tmux select-layout -t <window_id> [-t window_id] [layout] Изменяет размещение вкладок
tmux rename-window -t <window_id> <имя_вкладки> Переименовывает вкладку
tmux capture-pane [-t window_id] [-p] Захватывает изображение текущей вкладки

Хоткеи:

Команда Описание
Ctrl + b Предварительное указание для большинства команд tmux
Ctrl + b q Выход из tmux в сессию
Ctrl + b c Создание новой сессии
Ctrl + b d Отсоединение от текущей сессии
Ctrl + b e Возвращение к текущей сессии
Ctrl + b n Переход к следующей вкладке
Ctrl + b p Переход к предыдущей вкладке
Ctrl + b [ Переход к предыдущей вкладке в текущем окне
Ctrl + b ] Переход к следующей вкладке в текущем окне
Ctrl + b x Закрытие текущей вкладку
Ctrl + b < Переход к предыдущей вкладке в окне слева
Ctrl + b > Переход к следующей вкладке в окне справа
Ctrl + b { Переход к предыдущей вкладке в окне сверху
Ctrl + b } Переход к следующей вкладке в окне снизу
Ctrl + b - Уменьшение размера текущего окна
Ctrl + b  Расширение размера текущего окна
Ctrl + b o Переключение между горизонтальными окнами
Ctrl + b
Ctrl + b  Переключение между всеми окнами в текущей сессии
Ctrl + b [ Выделение текущей вкладки в окне слева
Ctrl + b ] Выделение текущей вкладки в окне справа
Ctrl + b { Выделение текущей вкладки в окне сверху
Ctrl + b } Выделение текущей вкладки в окне снизу
Ctrl + b  Выделение текущей вкладки в текущем окне

Это основные горячие клавиши tmux. Вы можете настроить свои собственные горячие клавиши, используя команду bind-key в tmux.

 

 

Опубликовано вLinux

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *