Авторы расшифровывают название tmux как мультиплексор терминала (terminal multiplexer). За этим малопонятным термином кроется простая идея. Вы можете работать с несколькими терминалами в одном окне, разделив его на несколько окон и их частей (которые в tmux называются панелями). Каждая панель содержит свой независимо работающий экземпляр терминала. Это позволяет использовать несколько приложений и выполнять несколько команд в интерфейсе командной строки олнокременно, не открывая для каждого из них новое окно терминала.

В основе окон и панелейtmux лежит понятие сеанса. Можно выйти из сеанса в любое время (“detaching”). tmux будет поддерживать работу этого сеанса до тех пор, пока работает сервер tmux (например, до перезагрузки). Это невероятно полезно, поскольку вы в любой момент можете просто подключиться к этому сеансу в том же самом месте, в котором покинули его. Это особенно полезно при работе с удалёнными машинами.

Установка tmux

Для установки tmux достаточно выполнить следующую команду:

$ sudo apt-get install tmux

Запуск tmux

Если сеанс tmux уже открыт, можно подключиться к нему, если нет - нужно создать новый. Для этого выполните следующую команду

$ tmux attach || tmux new

Разделение панелей в tmux

При запуске tmux по умолчанию откроет одно окно с одной панелью. Давайте попробуем разделить его.

Все команды tmux начинаются с нажатия пкоманды префикса. По умолчанию в качестве префикса используется сочетание Ctrl + B.

Для того, чтобы разделить текущую панель по вертикали, нужно нажать Ctrl + B и %.

Для того, чтобы разделить панель по вертикали, нажмите Ctrl + B и " (кавычка, расположенная рядом с кнопкой Enter).

Для перемещения между панелями используются стрелки курсора после нажатия префикса. Т.е. для того, чтобы перейти в правую панель, нужно нажать Ctrl + B и .

Панели закрываются точно так же, как и обычные окна терминала. Просто введите exit или нажмите Ctrl-d.

Работа с окнами tmux

Окна в tmux можно сравнить с виртуальными рабочими столами, которые можно встретить в большинстве современных оконных менеджеров для Linux (KDE, Gnome).

Для того, чтобы создать новое окно, нажмите сочетание Ctrl+b c. В строке состояния tmux появится новое окно.

Теперь его можно разделить на панели так, как вам угодно.

Для того, чтобы переключиться на предыдущее окно (в том порядке, в котором они выводятся в панели состояния) нажмите Ctrl-b p, для того, чтобы перейти к следующему окну, нажмите Ctrl-b n. Кроме того, можно перейти к определенному окну по его номеру, указанному в панели инструментов. Для этого нажмите Ctrl-b и номер окна.

Работа с сеансами

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

Для того, чтобы отключиться от текущего сеанса, используете сочетание Ctrl-b d. Если вы нажмете Ctrl-b D, tmux предложит выбрать сеанс, от которого вы хотите отключиться. Тем самым вы будете отключены от этого сеанса, но он продолжит работать в фоне.

Теперь, когда вы отключились от сеанса, вы можете вернуться к нему в любое время. Для того, чтобы подключиться к сеансу, вам нужно сначала узнать, какие сеансы работают, с помощью команды

tmux ls

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

0: 2 windows (created Mon May  1 08:32:58 2017) [199x44] (detached)

Для того, чтобы подключиться к этому сеансу, при запуске tmux нужно указать идентификатор сеанса:

tmux attach -t 0

Обратите внимание, идентификатор (первая колонка вывода команды tmux ls) указывается в параметре -t 0.

Если вы предпочитаете, чтобы у сеансов были более значимые имена, можно создать следующий сеанс следующим образом

tmux new -s database

Будет создан новый сеанс под названием “database”.

Можно также переименовать сущестувющий сеанс:

tmux rename-session -t 0 database

Теперь, когда вам потребуется подключиться к этому сеансу, запустите tmux attach -t database. Если вы начнете работать с несколькими сеансами, эта функция начнёт иметь значение.

На этом мы закончим знакомство с tmux. Конечно же, мы раскрыли лишь часть функций и возможностей программы, но этого достаточно, чтобы начать работу. Дальше дело за вами!