Tmux — это терминальный мультиплексор или иными словами, вы можете в одном терминале запустить несколько терминальных сессий и переключаться между ними или даже разместить их в одном окне, а также отключиться от сессии оставив её работать в фоне, а затем вернуться и посмотреть результат, это может быть очень удобно при работе по SSH. Если вы раньше пользовались утилитой screen, то tmux — это её аналог, который имеет намного больше функций.
Эта статья — небольшая шпаргалка по Tmux, в которой мы разберем установку программы, основные её возможности и команды, а также некоторые приемы использования. После прочтения статьи вы сможете полноценно пользоваться утилитой.
УСТАНОВКА TMUX
Здесь все просто. Для установки программы в Ubuntu выполните следующую команду:
sudo apt install tmux
А для установки в CentOS:
sudo yum install tmux
СИНТАКСИС И ОПЦИИ КОМАНДЫ TMUX
Синтаксис команды предельно простой, для создания новой сессии достаточно запустить утилиту без параметров. Для подключения к уже существующей придется использовать дополнительные опции. Вот основной синтаксис:
tmux команда опции
Что касается опций, то в большинстве вам придется использовать только две — это -t (target) — которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) — который обычно используется для обозначения источника, над которым будет выполняться действие.
Команды tmux для управления сессиями, которые вы можете использовать:
- attach-session (attach) — подключиться к уже существующей сессии. В параметре необходимо передать опцию -t и идентификатор сессии;
- detach-session (detach) — отключить всех клиентов (или переданного с помощью опции -t) от сессии, переданной в опции -s;
- has-session — проверить существует ли сессия, аналогично, надо передать идентификатор сессии;
- kill-server — остановить все запущенные сессии;
- kill-session — завершить сессию переданную в параметре -t;
- list-clients — посмотреть клиентов, подключенных к сессии -t;
- list-sessions (ls) — вывести список всех запущенных сессий;
- new-session — создать новую сессию, можно передать имя сессии в опции -s и стартовую директорию в опции -c;
- rename-session — переименовать сессию, нужно передать идентификатор сессии и новое имя;
Конечно, у tmux намного больше команд, но мы не будем рассматривать их в этой статье. В основном, команды будут использоваться для подключения и отключения от сессий, все остальные действия выполняются с помощью горячих клавиш и их тут тоже достаточно.
По умолчанию для активации сочетания клавиш нужно нажать Ctrl+B, отпустить, а потом нажать нужную клавишу. Вот основные сочетания клавиш tmux, которые вам понадобятся:
- Ctrl+b c — создать новое окно;
- Ctrl+b w — выбрать окно из списка;
- Ctrl+b 0-9 — открыть окно по его номеру;
- Ctrl+b , — переименовать текущее окно;
- Ctrl+b % — разделить текущую панель по горизонтали;
- Ctrl+b « — разделить текущую панель по вертикали;
- Ctrl+b стрелка — перейти на панель, находящуюся в стороне, куда указывает стрелка;
- Ctrl+b Ctrl+стрелка — изменить размер текущей панели;
- Ctrl+b o — перейти на следующую панель;
- Ctrl+b ; — переключаться между текущей и предыдущей панелью;
- Ctrl+b x — закрыть текущую панель;
- Ctrl+b [ — войти в режим копирования (подробнее ниже);
- Ctrl+b ] — вставить из внутреннего буфера обмена tmux;
- Ctrl+b d — отключится от текущей сессии;
- Ctrl+b : — открыть командную строку.
Для начала работы этих горячих клавиш будет достаточно. Шпаргалка tmux завершена, теперь перейдем к примерам работы с программой.
КАК ПОЛЬЗОВАТЬСЯ TMUX
1. СОЗДАНИЕ СЕССИИ
Чтобы создать новую сессию достаточно выполнить команду без параметров:
tmux
Также можно создать сессию командой new-session и задать ей удобное имя:
tmux new-session -s losst
2. РАЗДЕЛЕНИЕ ОКНА НА ПАНЕЛИ
Окно сессии можно разделить на несколько панелей. Чтобы выполнить разделение по горизонтали нажмите Ctrl+b отпустите, а затем нажмите Shift+»:
Аналогично можно разделить панель по вертикали, нажав Ctrl+b, а затем Shift+%:
Размер активной панели можно менять нажав Ctrl+b, а потом Ctrl и стрелка:
А для переключения между панелями используйте клавиши Ctrl+b и стрелка. Сначала не привычно, но потом удобно.
3. ПОДДЕРЖКА МЫШКИ
По умолчанию поддержка мышки отключена, но если вы работаете в графическом окружении, вы можете её включить. Это даст несколько преимуществ: вы сможете выбирать активную панель мышкой, копировать текст во внутренний буфер обмена, менять размер панелей, использовать прокрутку для просмотра истории вывода и так далее. Для этого откройте файл ~/.tmux.conf и добавьте туда следующие строки:
nano ~/.tmux.conf
set-option -g -q mouse on
bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
Сохраните изменения, нажмите Ctrl+b :, а потом выполните такую команду чтобы перезагрузить tmux:
source ~/.tmux.conf
Настройка tmux завершена, теперь мышь будет работать.
4. КОПИРОВАНИЕ И ВСТАВКА
Одна из достаточно важных операций при работе с терминалом — это возможность что-то скопировать и куда-то перенести. После активации поддержки мышки вы можете просто выделить участок текста мышкой и он автоматически скопируется во внутренний буфер tmux.
Если вы хотите иметь возможность скопировать в системный буфер обмена, перед тем как выполнять действия мышкой зажмите Shift:
Кроме того, в tmux есть управление копированием и вставкой с помощью клавиш. Для перехода в режим копирования нажмите Ctrl+B [, затем переместите курсор к нужному месту с помощью стрелок. Кстати, этот режим можно использовать также для прокрутки. Потом нажмите Ctrl+пробел для начала выделения, выделите нужный фрагмент стрелками и нажмите Ctrl+w для копирования.
Чтобы вставить текст из внутреннего буфера обмена нужно нажать сочетание клавиш Ctrl+b ]. Для выхода из режима копирования используйте q или Esc.
5. ОКНА TMUX
Кроме панелей в tmux можно открывать окна. Это аналог рабочих столов в Linux. Каждое окно привязано к определенной цифровой кнопке и имеет свой набор панелей. Для создания нового окна нажмите Ctrl+b c:
Список окон выводится внизу окна терминала. Для переключения на нужное окно нажмите Ctrl+b и номер окна.
6. ОТКЛЮЧЕНИЕ ОТ СЕССИИ
Чтобы отключиться от текущей сессии достаточно нажать сочетание клавиш Ctrl+b d.
После отключения все запущенные в сессии программы продолжат работать и вы всегда сможете снова подключиться и посмотреть их вывод. Это удобно при подключении по SSH, которое всегда может разорваться.
7. ПОДКЛЮЧЕНИЕ К СЕССИИ
Посмотреть список сессий можно командой ls:
tmux ls
А для подключения используйте attach:
tmux attach -t losst
Ещё можно посмотреть список клиентов, подключенных к сессии:
tmux lc
ВЫВОДЫ
В этой статье мы разобрали основные команды tmux, а также как пользоваться этой утилитой. Я для себя открыл tmux не давно. Слышал о программе довольно давно, но никак не доходили руки попробовать, а потом попробовал и уже не могу без неё обойтись.
Источник: https://losst.ru/shpargalka-po-tmux