[[:start|На главную]] > [[:notes:notes|Заметки]]
====== Шпаргалка по использованию tmux ======
{{tag>Заметки 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`, если он вам неудобен.
----
[[:start|На главную]] > [[:notes:notes|Заметки]]
~~DISCUSSION~~