Инструменты пользователя

Инструменты сайта


notes:linux:tmux

На главную > Заметки

Шпаргалка по использованию tmux

tmux (произносится как «ти-макс») — это терминальный мультиплексор, позволяющий управлять несколькими сессиями и панелями в одном терминальном окне.

Основные преимущества:

  • Возможность разделения окна на несколько панелей (горизонтально и вертикально).
  • Сохранение состояния сессий при разрыве SSH-соединения: все запущенные процессы продолжают работать.
  • Возможность совместной работы нескольких пользователей в одной сессии.

Установка и базовая настройка

Установка из стандартных репозиториев Ubuntu/Debian:

sudo apt install tmux

После установки рекомендуется включить поддержку мыши. Для этого создайте или отредактируйте файл конфигурации пользователя:

nano ~/.tmux.conf

Добавьте строку:

set -g mouse on
Примечание: Настройка в `~/.tmux.conf` применяется только для текущего пользователя и не требует прав root. Изменение `/etc/tmux.conf` затронет всех пользователей системы.

После изменения конфигурации перезапустите tmux или перезагрузите конфиг внутри сессии: `Ctrl + b`, затем введите `:source-file ~/.tmux.conf`.

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

Создание сессии

tmux                     # Создать сессию без имени (автоматически присвоится номер, например: 0)
tmux new -s имя_сессии   # Создать именованную сессию

Имя или номер текущей сессии отображается в статусной строке внизу слева (в квадратных скобках).

Подключение к сессии

Просмотреть список активных сессий:

tmux ls

Пример вывода:

0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)
myproject: 3 windows (created Fri Oct 31 10:15:22 2025)

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

tmux attach              # Подключиться к единственной сессии (если она одна)
tmux attach -t имя_сессии  # Подключиться к конкретной сессии

Универсальная команда для запуска или подключения:

tmux attach || tmux new

Если активных сессий нет — создаётся новая.

Переключение между сессиями

Внутри сессии нажмите:

Ctrl + b, s

Откроется интерактивный список сессий — выберите нужную стрелками и нажмите Enter.

Отключение и завершение сессий

  • `Ctrl + b, d` — отключиться от сессии (сессия продолжает работать в фоне).
  • `tmux kill-session -t имя_сессии` — завершить указанную сессию.
  • `tmux kill-server` — завершить все сессии и остановить сервер tmux.

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

В tmux окно (window) — это вкладка в пределах одной сессии.

Горячие клавиши:

  • `Ctrl + b, c` — создать новое окно.
  • `Ctrl + b, n` — перейти к следующему окну.
  • `Ctrl + b, p` — перейти к предыдущему окну.
  • `Ctrl + b, [0–9]` — перейти к окну по номеру.
  • `Ctrl + b, w` — открыть интерактивный список окон.

Управление панелями (разделение окон)

Окно можно разделить на несколько панелей:

  • `Ctrl + b, «` — разделить окно горизонтально.
  • `Ctrl + b, %` — разделить окно вертикально.

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

  • `Ctrl + b, ←/→/↑/↓` — переместиться в соседнюю панель.

Закрытие панели:

  • `Ctrl + b, x` — подтвердить закрытие текущей панели.
  • Или просто введите `exit` в терминале панели.
Совет: Панели можно вкладывать. Например: сначала разделите окно горизонтально (`»`), затем перейдите в нижнюю панель (`↓`) и разделите её вертикально (`%`) — получите три панели.

Сводка часто используемых команд

Команды в терминале

  • `tmux new -s имя` — создать именованную сессию.
  • `tmux ls` — список сессий.
  • `tmux attach -t имя` — подключиться к сессии.
  • `tmux kill-session -t имя` — завершить сессию.
  • `tmux kill-server` — завершить все сессии.

Горячие клавиши (префикс: `Ctrl + b`)

Клавиша Действие
——————-
`c` Создать новое окно
`n` Следующее окно
`p` Предыдущее окно
`[0–9]` Перейти к окну по номеру
`w` Список окон
`«` Горизонтальное разделение
`%` Вертикальное разделение
`←/→/↑/↓` Переключение между панелями
`x` Закрыть текущую панель
`d` Отключиться от сессии
`s` Выбор сессии из списка
Префикс по умолчанию — `Ctrl + b`. Его можно изменить в `~/.tmux.conf`, если он вам неудобен.

На главную > Заметки

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
M E A N J
 
notes/linux/tmux.txt · Последнее изменение: 2025/10/30 20:22 — Юрий

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki