Что такое tmux?
tmux — это сокращение от 'Terminal Multiplexer', которое позволяет разделить один экран терминала на несколько независимых сессий, окон (Window) и панелей (Pane). Это незаменимый инструмент для продолжения работы при разрыве SSH-соединения или для одновременного мониторинга нескольких задач.
3 ключевые концепции
tmux имеет иерархическую структуру: Сессия > Окно > Панель.
- Сессия (Session): Самая крупная единица. Это рабочее пространство, содержащее несколько окон. (Пример: 'project-A') Даже при отключении от сессии (detach) работа продолжает выполняться в фоновом режиме.
- Окно (Window): Подобно вкладкам в сессии. Одна сессия может иметь несколько окон.
- Панель (Pane): Небольшой экран терминала, полученный путем разделения одного окна на несколько частей. (Пример: верхняя часть для редактирования кода, нижняя для просмотра логов)
Клавиша префикса (Prefix Key)
Комбинация клавиш, которую необходимо нажать перед выполнением команды внутри `tmux`. По умолчанию это Ctrl+b. (Пример: чтобы создать новое окно, нажмите Ctrl+b, отпустите, затем нажмите c.) В этом руководстве эта клавиша обозначается как [Prefix].
Основные команды (Shell)
Команды, вводимые непосредственно в терминале (Shell) для управления сессиями tmux.
1. Управление сессиями
2. Справка/Версия
Сгенерированная команда:
Комбинируйте команды.
Описание:
`tmux` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Основные горячие клавиши (внутри tmux)
Горячие клавиши, используемые при подключении к сессии `tmux`. Сначала нажмите [Prefix] (по умолчанию Ctrl+b), затем следующую клавишу.
Управление сессиями и окнами (Window)
- [Prefix] + d: Отсоединиться от сессии (Detach). Работа продолжает выполняться в фоновом режиме.
- [Prefix] + c: Создать новое окно (Create)
- [Prefix] + w: Просмотреть список окон (Windows)
- [Prefix] + n: Перейти к следующему окну (Next)
- [Prefix] + p: Перейти к предыдущему окну (Previous)
- [Prefix] + [0-9]: Прямой переход к окну с соответствующим номером
- [Prefix] + ,: Переименовать текущее окно
- [Prefix] + &: Закрыть текущее окно (требуется подтверждение)
Управление панелями (Pane)
- [Prefix] + %: Разделить текущую панель вертикально (влево/вправо)
- [Prefix] + ": Разделить текущую панель горизонтально (вверх/вниз)
- [Prefix] + [стрелки]: Переместить фокус на панель в направлении стрелки
- [Prefix] + o: Перемещаться по панелям по кругу
- [Prefix] + z: Развернуть/свернуть текущую панель на весь экран (Zoom)
- [Prefix] + x: Закрыть текущую панель (требуется подтверждение)
Примеры сценариев использования (Shell)
Типичный процесс запуска и управления tmux в терминале.
Создание и подключение к сессии my-project
tmux new -s my-project
Отсоединение от сессии (Detach)
Внутри сессии нажмите [Prefix] (Ctrl+b), затем клавишу d, чтобы выйти из сессии. Работа будет продолжаться.
Просмотр списка запущенных сессий
tmux ls
Повторное подключение к сессии my-project
tmux attach -t my-project
Принудительное завершение сессии my-project
tmux kill-session -t my-project
Установка
tmux легко установить через менеджеры пакетов большинства дистрибутивов Linux.
Debian/Ubuntu
sudo apt update && sudo apt install -y tmux
RHEL/CentOS/Fedora
sudo dnf install -y tmux
Arch Linux
sudo pacman -S --needed tmux
openSUSE
sudo zypper install -y tmux
Советы и примечания
Рекомендуемые настройки/привычки
- Сразу после подключения по SSH: Создав сессию, например `tmux new -s work`, сразу после подключения к удаленному серверу, вы сможете безопасно продолжить работу, даже если соединение прервется.
- Режим мыши: Добавление `set -g mouse on` в ~/.tmux.conf позволяет изменять размер панелей, выбирать окна и прокручивать с помощью мыши.
- Файл конфигурации: Настройте свои собственные горячие клавиши или тему в ~/.tmux.conf.
- Изменение префикса: Если Ctrl+b неудобно, вы можете изменить его на `set -g prefix C-a`.