Гид по технологиям

Установка и эффективное использование tmux в Linux

7 min read Linux Обновлено 02 Dec 2025
Установка и настройка tmux в Linux
Установка и настройка tmux в Linux

Тmux в Linux

Введение

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

Ключевые понятия (в 1 строке каждое)

  • Сессия: набор окон и панелей, объединённых для конкретной задачи.
  • Окно: виртуальный рабочий экран в рамках сессии.
  • Панель: разделённая область окна, это отдельный псевдотерминал.
  • Префикс: специальная комбинация клавиш (по умолчанию Ctrl+B), после которой идут управляющие сочетания.

Установка tmux на Linux

Выберите команду для вашей дистрибуции и выполните её в терминале с правами администратора.

Debian / Ubuntu / производные:

sudo apt update
sudo apt install tmux

CentOS / RHEL (yum) или современные RHEL/Fedora (dnf):

sudo yum install tmux
# или
sudo dnf install tmux

Arch Linux / Manjaro:

sudo pacman -S tmux

После установки запустите tmux командой:

tmux

Команда создаст новую сессию и откроет оболочку. Строка состояния внизу отображает информацию о текущей сессии.

Важно: в некоторых системах пакет называется tmux, в других — доступен в репозитории EPEL (для старых CentOS). Если пакет не найден, проверьте репозитории или билды для вашей версии ОС.

Первые шаги: базовая навигация и префикс

Префикс по умолчанию — Ctrl+B. Сначала нажмите префикс, затем нужную клавишу для управления.

Основные сочетания:

  • Ctrl+B c — создать новое окно.
  • Ctrl+B “ — разделить окно горизонтально.
  • Ctrl+B % — разделить окно вертикально.
  • Ctrl+B o — перейти к следующей панели.
  • Ctrl+B x — закрыть текущую панель.
  • Ctrl+B d — отсоединиться (detach) от сессии, процессы продолжат работать.
  • Ctrl+B s — список сессий.
  • Ctrl+B & — закрыть текущее окно.

Если вы только начинаете, запишите эти сочетания — они покрывают большинство рабочих сценариев.

Управление сессиями

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

tmux new -s test-session

Просмотреть список сессий внутри запущенного tmux:

# внутри tmux: нажмите Ctrl+B s

Отсоединиться от сессии (detach) можно двумя способами:

# Быстрое сочетание
Ctrl+B d

# Или в командной строке tmux
:detach

Подключиться к последней сессии:

tmux attach

Подключиться к конкретной сессии по имени:

tmux attach -t test-session

Убить сессию (осторожно — завершает все процессы в сессии):

tmux kill-session -t test-session

Советы

  • Давайте понятные имена сессиям по проектам: web, db-maint, deploy.
  • При работе с несколькими удалёнными хостами используйте разные сессии для каждого хоста.

Создание именованной сессии в tmux

Управление окнами

Окна охватывают весь экран и могут содержать несколько панелей. Основные операции:

  • Создать окно: Ctrl+B c
  • Переименовать окно: Ctrl+B , (ввод нового имени в приглашении)
  • Перейти к окну по номеру: Ctrl+B 1 (2, 3 и т.д.)
  • Переместить или поменять окна местами:
# внутри tmux: откройте командную строку Ctrl+B :
:swap-window -s 1 -t 3
  • Удалить окно: Ctrl+B &

Совет: установите нумерацию окон с 1 (нижнее в конфиге), если вам неудобна нулевая индексация.

Переименование окон в tmux

Использование панелей

Панели — это мощный инструмент для параллельной работы в одном окне. Примеры использования: журналирование сервера + интерактивный REPL + редактор.

Создание панелей:

# горизонтальное разделение
Ctrl+B "

# вертикальное разделение
Ctrl+B %

Навигация между панелями:

Ctrl+B o  # перейти к следующей панели
# или использовать стрелки (если настроено) Ctrl+B <стрелка>

Увеличить/свернуть панель (toggle zoom):

Ctrl+B z

Закрыть текущую панель:

Ctrl+B x

Комбинируйте горизонтальные и вертикальные разделы для удобной компоновки рабочего пространства.

Создание горизонтальных панелей

Создание вертикальных панелей

Закрытие панелей в tmux

Конфигурация tmux: ~/.tmux.conf

Файл конфигурации позволяет перенести ваши предпочтения в постоянную настройку. Откройте или создайте файл ~/.tmux.conf в выбранном редакторе:

vim ~/.tmux.conf
# или
nano ~/.tmux.conf

Примеры полезных настроек

  • Смена префикса с Ctrl+B на Ctrl+A (несколько пользователей предпочитают такое поведение):
set -g prefix C-a
unbind C-b
bind C-a send-prefix
  • Нумерация окон и панелей с 1:
set -g base-index 1
set -g pane-base-index 1
  • Включение поддержки мыши (выделение, изменение размера панелей, переключение окон):
set -g mouse on
  • Удобная строка состояния (пример базового оформления):
set -g status-interval 5
set -g status-left '#[fg=green]#S'  # имя сессии слева
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M'  # время справа

После правки конфигурации примените её без перезапуска, выполнив внутри tmux:

# внутри tmux: откройте командную строку Ctrl+B :
:source-file ~/.tmux.conf

Настройка tmux в Linux

Советы по конфигу

  • Комментируйте изменения, чтобы быстро вернуть старую конфигурацию.
  • Храните резервную копию ~/.tmux.conf в dotfiles-репозитории.

Плагины и расширения

Сообщество написало множество плагинов. Популярный менеджер — Tmux Plugin Manager (TPM). Он упрощает установку, обновление и удаление плагинов.

TPM: базовая последовательность установки

# клонируйте TPM в ~/.tmux/plugins/tpm
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Добавьте в ~/.tmux.conf список плагинов, например:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# в конце конфигурации
run '~/.tmux/plugins/tpm/tpm'

После этого внутри tmux нажмите Ctrl+B I (заглавная i), чтобы установить плагины.

tmux-resurrect сохраняет состояние сессий и позволяет восстанавливать их после перезагрузки. tmux-continuum автоматизирует периодическое сохранение.

Практические рабочие процессы (workflow)

Ниже — примеры применения tmux в реальных ролях.

Role-based чек-листы

  • Разработчик:

    • Создать сессию с именем проекта.
    • Окно 1: редактор (vim/code).
    • Окно 2: тесты / сборка.
    • Окно 3: REPL / мониторинг логов.
    • Настроить tmux-resurrect для восстановления состояний.
  • Системный администратор:

    • Отдельная сессия на каждый сервер.
    • Панель 1: ssh в сервер.
    • Панель 2: tail -f логов.
    • Испольовать detached-сессии для долгих задач.
  • При парном программировании:

    • Одна общая сессия, две панели для участников.
    • Выставить порядок окон и пометки через названия.

Мини-методология внедрения tmux (быстрый план)

  1. Установите tmux и запустите базовую сессию.
  2. Освойте 5 основных сочетаний клавиш в течение дня.
  3. Создайте ~/.tmux.conf с минимальными настройками (префикс, base-index, mouse).
  4. Добавьте tmux-resurrect через TPM.
  5. Интегрируйте конфиг в dotfiles и синхронизируйте.

Шпаргалка: основные команды и сочетания

Команды терминала (вне tmux):

# создать именованную сессию
tmux new -s name
# подключиться
tmux attach -t name
# перечень сессий
tmux ls
# прикрепиться к последней
tmux attach
# убить сессию
tmux kill-session -t name

Клавиатурные сочетания (внутри tmux, префикс Ctrl+B):

  • c — новое окно
  • , — переименовать окно
  • % — вертикальное разделение
  • “ — горизонтальное разделение
  • o — следующая панель
  • x — закрыть панель
  • z — увеличить/вернуть панель
  • d — отсоединиться
  • s — список сессий

Отладка и распространённые проблемы

Проблема: мышь не работает

  • Решение: включите mouse в конфиг: set -g mouse on и выполните source-file.

Проблема: символы управления неправильно отображаются

  • Решение: проверьте переменную окружения TERM. Для tmux обычно используют tmux-256color или xterm-256color. Установите в конфиге:
set -g default-terminal "tmux-256color"

и в локальной системе убедитесь, что терминал поддерживает 256 цветов.

Проблема: плагины не устанавливаются

  • Решение: проверьте, что TPM установлен в ~/.tmux/plugins/tpm, и что вы нажали Ctrl+B I внутри сессии. Также проверьте соединение с интернетом и права на директорию.

Когда tmux может не подойти

  • Если вы предпочитаете GUI-терминалы с вкладками и не хотите клавиатурных сочетаний.
  • Для простых однократных команд в локальном терминале tmux может быть избыточен.

Полезные эвристики и правила

  • Всегда давайте понятные имена сессиям и окнам.
  • Храните конфиг в dotfiles и версионируйте.
  • Начните с малого: выучите 5 сочетаний, затем расширяйте.
  • Используйте плагины только когда они реально экономят время.

Мини-руководство по восстановлению и откату (incident runbook)

Сценарий: после перезагрузки сервер не восстанавливает сессии

  1. Подключитесь по SSH.
  2. Проверьте, что tmux запущен и что tmux-resurrect установлен.
  3. Если есть дамп восстановления, выполните команду восстановления в инструкциях плагина (например, tmux-resurrect предоставляет команды восстановления через интерфейс плагина).
  4. Если восстановление невозможно, вручную запустите новые сессии и сохраните их состояние.

Короткая галерея пограничных случаев

  • Мобильные терминалы: есть клиенты, которые поддерживают tmux через SSH (например, Termux/ConnectBot), но опыт работы будет отличаться от десктопа.
  • Windows: на WSL tmux работает как в Linux; на нативном cmd.exe/PowerShell без эмуляции терминала поведение ограничено.

1-строчная глоссарий

  • tmux: терминальный мультиплексор; позволяет иметь несколько виртуальных терминалов в одном окне.
  • TPM: менеджер плагинов для tmux.
  • tmux-resurrect: плагин для сохранения и восстановления состояния сессий.

Краткое резюме

tmux — лёгкий и гибкий инструмент для управления терминалами. Он особенно полезен разработчикам и администраторам, которым нужно поддерживать долгоживущие процессы, отслеживать логи и работать с несколькими задачами одновременно. Начните с базовых сочетаний клавиш, вынесите конфигурацию в ~/.tmux.conf, подключите пару проверенных плагинов и версионируйте конфиг вместе с dotfiles.

Важно: практикуйтесь и настраивайте tmux под свои привычки — это окупается в виде ускорения рабочей рутины.

Связанные ресурсы и следующая задача

  • Установите tmux, создайте тестовую сессию и попробуйте: создать окно, разделить его на две панели и отсоединиться/подключиться обратно.
  • Если нужно, подключите TPM и протестируйте tmux-resurrect.

Просмотр активных сессий tmux

Отсоединение сессий tmux в Linux

Закрытие сессий tmux в Linux

Завершение окон в tmux

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

PowerShell: история команд — просмотр и сохранение
PowerShell

PowerShell: история команд — просмотр и сохранение

Nandroid — полная резервная копия Android
Android.

Nandroid — полная резервная копия Android

Ошибка 0x800f0806 в Windows 11 22H2
Windows 11

Ошибка 0x800f0806 в Windows 11 22H2

Извлечь ссылки с веб‑страницы PowerShell
Automation

Извлечь ссылки с веб‑страницы PowerShell

Подписи в Gmail для нескольких адресов
Email

Подписи в Gmail для нескольких адресов

Мониторинг сетевого трафика Linux
Сеть

Мониторинг сетевого трафика Linux