Шпаргалка по tmux

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 и добавьте туда следующие строки:

vi ~/.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 list-clients

Выводы

В этой статье мы разобрали основные команды tmux, а также как пользоваться этой утилитой. Я для себя открыл tmux не давно. Слышал о программе довольно давно, но никак не доходили руки попробовать, а потом попробовал и уже не могу без неё обойтись.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (11 оценок, среднее: 4,27 из 5)
Загрузка...

10 комментариев

  1. Ermolaev Dmitry 19 июля, 2019 Ответить
    • admin 19 июля, 2019 Ответить
      • Ermolaev Dmitry 19 июля, 2019 Ответить
  2. Ermolaev Dmitry 19 июля, 2019 Ответить
    • Nyan 24 апреля, 2020 Ответить
  3. Александр 5 октября, 2019 Ответить
  4. oleg 22 апреля, 2020 Ответить
  5. Sergey 13 мая, 2020 Ответить
  6. Евгений 25 ноября, 2021 Ответить
  7. Андрей 13 июня, 2022 Ответить

Ответить

 Для отправки комментариев необходимо принять политику конфиденциальности - политика конфиденциальности