Что такое tmux и как удобно работать в терминале с несколькими сессиями

5 минут чтения
Средний рейтинг статьи — 4.9

Если ты часто работаешь на сервере по SSH, собираешь проекты, запускаешь демоны или следишь за логами — скорее всего, сталкивался с тем, что соединение рвётся, и все процессы вместе с ним. Решение есть — tmux.

Это мощный терминальный мультиплексор, который позволяет держать несколько сессий, окон и панелей внутри одного терминала. Даже если SSH-соединение оборвётся, все процессы продолжат работать в фоне.

Что такое tmux

tmux (terminal multiplexer) — это инструмент, который:

  • позволяет запускать несколько терминалов внутри одного окна;
  • сохраняет сессии при разрыве SSH-подключения;
  • даёт возможность делить экран на панели;
  • позволяет подключаться к той же сессии с другого устройства.

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

Установка

На Linux всё просто:

sudo apt install tmux        # Debian/Ubuntu
sudo dnf install tmux        # Fedora
sudo yum install tmux        # CentOS

На macOS:

brew install tmux

После установки запусти:

tmux

Ты окажешься в новой сессии tmux, где можешь работать как в обычном терминале.

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

Все команды tmux вызываются комбинацией клавиш:
Ctrl + b — это префикс, после которого идёт действие.

Например:

  • Ctrl+b c — создать новое окно;
  • Ctrl+b n — перейти к следующему окну;
  • Ctrl+b p — к предыдущему;
  • Ctrl+b , — переименовать окно;
  • Ctrl+b d — отсоединиться от сессии (detach).

После отсоединения ты можешь спокойно выйти из SSH. Когда вернёшься — сессия будет ждать.

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

Посмотреть все сессии:

tmux ls

Подключиться к существующей:

tmux attach -t mysession

Создать новую сессию с именем:

tmux new -s mysession

Закрыть сессию:

tmux kill-session -t mysession

Деление экрана на панели

Это одна из лучших фишек tmux — можно делить окно на вертикальные и горизонтальные панели.

  • Ctrl+b % — вертикальное разделение;
  • Ctrl+b " — горизонтальное;
  • Ctrl+b стрелки — переключение между панелями;
  • Ctrl+b x — закрыть текущую панель.

Так удобно, например, смотреть логи и одновременно редактировать конфиг, не открывая новый SSH.

Автозапуск и конфигурация

Файл настроек tmux находится по пути ~/.tmux.conf.
Вот пример минимальной конфигурации для комфорта:

# Использовать Ctrl+a как префикс вместо Ctrl+b
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
 
# Включить мышь
set -g mouse on
 
# Более удобное переключение окон
bind -n C-Left previous-window
bind -n C-Right next-window
 
# 256 цветов
set -g default-terminal "screen-256color"

После изменения файла можно перезапустить конфиг:

tmux source-file ~/.tmux.conf

Восстановление после обрыва SSH

Допустим, ты собирал проект на сервере, а интернет пропал. Без tmux процесс бы умер.
Но если ты был в tmux-сессии, всё просто:

tmux attach

и продолжаешь с того же места.
Именно за это sysadmin’ы и devops-инженеры так любят tmux.

Продвинутые фичи

  • Шаринг сессий: два пользователя могут подключиться к одной и той же сессии (tmux attach -t shared) и работать вместе.
  • Скрипты автозапуска: можно прописать в .bashrc, чтобы при логине автоматически подключаться к нужной сессии.
  • Интеграция с SSH: часто tmux используют совместно с mosh для стабильных подключений через нестабельные сети.

Альтернатива: GNU Screen

До tmux существовал GNU Screen — старейший мультиплексор терминала.
Он проще, но менее гибкий. tmux имеет современный API, лучше поддерживает скрипты, цвета и расширенные возможности конфигурации.
В целом, если только начинаешь — выбирай tmux.

Заключение

tmux — незаменимый инструмент для тех, кто часто работает в терминале.
Он решает сразу несколько проблем:

  • защищает от потери сессии при обрыве SSH;
  • экономит время при работе с несколькими задачами;
  • позволяет держать всё под рукой в одном окне.

Потрать 10 минут, чтобы привыкнуть к сочетаниям клавиш — и потом не сможешь без него жить.

5 минут чтения
Средний рейтинг статьи — 4.9

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний