Tmux терминальный оконный менеджер при использовании дает возможность при обрыве связи с сервером по ssh не терять информацию о выполняемых действиях. Работает в любом дистрибутиве Linux. Одна из любимых утилит администраторов Linux.
Содержание:
Введение
Очень быстро при работе с серверами по ssh я стал ощущать два неудобства:
- Из за обрыва связи я терял информацию о ходе выполняемых действий на сервере,
- Для выполнения нескольких действий мне приходилось создавать несколько подключений по ssh.
Мои неудобства решаются с помощью терминального оконного менеджера. Работать с ним оказалось удобно и не вызывает сложностей. Присутствуют некоторые нюансы в работе в отличии от работы в простой консолью.
Вам будет не важно где вы находитесь и с какого компьютера подключаетесь к необходимому серверу так как будете попадать именно туда где закончили свои последние действия. Вы можете сказать название сессии коллеге и он сможет подключится в среду в которой вы работайте.
Установка Tmux
Пакет присутствует во всех популярных системах и устанавливается с помощью команды:
CentOS 7 yum install tmux Debian apt install tmux Calculate Linux emerge -av tmux
При настройке под себя необходимо знать какая версия используется для указания правильных параметров в файле настройки.
Вывод информации об установленной версии:
tmux -V = вывод команды = tmux 1.8
Более подробно про программу можно почитать на 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.1c
Сменим префикс с «CTRL + b» на «CTRL + а» и добавим возможность прокручивать колесиком на мышке:
vim ~/.tmux.conf = необходимые параметры = set -g prefix C-a unbind C-b bind C-a send-prefix set -g mouse on
Перезагрузите tmux.conf с помощью команды:
$ tmux source-file ~/.tmux.conf
Вывод
Мною указаны лишь основные моменты по работе с Tmux которых мне вполне достаточно. Функционал большом и при желании можно настроить многие параметры под свои требования. Некоторые моменты в работе могут показаться неудобными в сравнении с работой в простой консоли, но это мелочи. Иметь возможность работы с сервером не привязываясь с рабочему месту стоит того чтобы иметь маленькие неудобства.
Мне не нравится что в mc не работают все привычные сочетания клавиш. С мышкой тоже не все гладго, но думаю что это решу со временем.