Как установить и использовать tmux на Ubuntu: Полное руководство 2025
Введение
tmux (Terminal Multiplexer) — это мощный инструмент командной строки, который улучшает ваш терминальный опыт на Ubuntu и других системах, похожих на Unix. Он позволяет создавать несколько терминальных сессий в одном окне, что делает его незаменимым инструментом для разработчиков, системных администраторов и опытных пользователей.
Что такое tmux?
tmux — это мультиплексор терминала, который позволяет вам:
- Создавать несколько терминальных сессий в одном окне
- Держать программы запущенными даже после отключения от SSH
- Разделять ваше терминальное окно на несколько панелей
- Легко переключаться между различными терминальными сессиями
- Делить терминальные сессии с другими пользователями
Преимущества использования tmux
При работе на серверах Ubuntu или локальных машинах tmux предлагает несколько убедительных преимуществ:
-
Постоянные сессии: Ваша работа продолжает выполняться, даже если ваше SSH-соединение разрывается или вы случайно закрываете терминал. Просто повторно подключитесь к вашей сессии, и все будет именно так, как вы оставили.
-
Увеличение производительности: Работайте с несколькими терминальными окнами одновременно, не загромождая рабочий стол. Вы можете легко переключаться между различными задачами, сохраняя четкий обзор своей работы.
-
Улучшенное сотрудничество: Делитесь своими терминальными сессиями с членами команды, что делает это идеальным для парного программирования или совместного устранения неполадок.
Системные требования
Перед установкой tmux на Ubuntu убедитесь, что ваша система соответствует этим минимальным требованиям:
- Ubuntu 18.04 LTS или новее
- Базовые знания терминала
- Достаточные системные привилегии (доступ sudo) для установки
- Не менее 50 МБ свободного дискового пространства
Методы установки
Существует два основных метода установки tmux на Ubuntu: с использованием менеджера пакетов apt или сборки из исходников. Давайте подробно рассмотрим оба варианта.
Использование менеджера пакетов apt
Самый простой и рекомендуемый способ установки tmux — через менеджер пакетов Ubuntu, apt. Вот как это сделать:
# Обновите список пакетов
sudo apt update
# Установите tmux
sudo apt install tmux -y
# Проверьте установку
tmux -V
Этот метод автоматически обрабатывает зависимости и предоставляет стабильную версию tmux, протестированную с вашей версией Ubuntu.
Сборка из исходников
Для пользователей, которым нужны последние функции или конкретные версии, сборка из исходников является вариантом:
# Установите необходимые зависимости
sudo apt install git automake build-essential libevent-dev ncurses-dev
# Клонируйте исходный код
git clone https://github.com/tmux/tmux.git
cd tmux
# Соберите и установите
sh autogen.sh
./configure
make
sudo make install
Сравнение версий
Давайте сравним различные методы установки:
-
Установка APT:
- Плюсы: Легко установить и обновить, стабильная версия, автоматическое управление зависимостями
- Минусы: Может не быть последней версии
- Текущая версия в репозиториях Ubuntu: Обычно на 1-2 версии старше последней
-
Установка из исходников:
- Плюсы: Доступ к последним функциям, возможность настроить компиляцию
- Минусы: Требует ручного управления зависимостями, более сложный процесс установки
- Последняя доступная версия: Всегда актуальна с официальным репозиторием
После установки вы можете проверить вашу версию tmux, выполнив:
tmux -V
Основная конфигурация
Поведение tmux можно настроить через его конфигурационный файл и различные параметры. Давайте рассмотрим, как настроить и настроить tmux в соответствии с вашими потребностями.
Местоположение конфигурационного файла
tmux ищет свой конфигурационный файл в вашем домашнем каталоге:
# Создайте ваш конфигурационный файл tmux
touch ~/.tmux.conf
# Откройте его в вашем любимом текстовом редакторе
nano ~/.tmux.conf
Основные настройки
Вот некоторые часто используемые настройки, чтобы улучшить ваш опыт работы с tmux:
# Измените клавишу префикса на Ctrl+a (более удобно, чем по умолчанию Ctrl+b)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# Включите поддержку мыши
set -g mouse on
# Начинайте нумерацию окон с 1 (вместо 0)
set -g base-index 1
# Установите более удобные клавиши для разделения окон
bind-key v split-window -h
bind-key h split-window -v
# Установите более удобные клавиши для перемещения окон
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Улучшите цвета
set -g default-terminal "screen-256color"
# Установите размер буфера прокрутки
set -g history-limit 10000
Настройка привязок клавиш
Вы можете настроить привязки клавиш, чтобы сделать tmux более интуитивным и эффективным для вашего рабочего процесса:
-
Синтаксис базовой привязки клавиш:
bind-key key command bind key command
-
Общие пользовательские привязки:
# Перезагрузите конфигурационный файл bind r source-file ~/.tmux.conf \; display "Конфигурация перезагружена!" # Быстрый цикл по панелям unbind ^A bind ^A select-pane -t :.+ # Более интуитивные команды разделения bind | split-window -h bind - split-window -v
После внесения изменений в ваш конфигурационный файл вы можете либо:
- Перезапустить tmux, чтобы изменения вступили в силу
- Или перезагрузить конфигурацию, пока tmux работает, нажав
prefix
+r
(если вы добавили привязку перезагрузки выше)
Начало работы с tmux
После установки и базовой конфигурации давайте научимся эффективно использовать tmux. Этот раздел охватывает основные команды и операции, которые вам понадобятся для повседневного использования.
Запуск вашей первой сессии
Вот основные команды для запуска и управления сессиями tmux:
# Запустите новую сессию
tmux
# Запустите новую именованную сессию
tmux new -s mysession
# Список всех сессий
tmux ls
# Присоединиться к существующей сессии
tmux attach -t mysession
# Отключиться от текущей сессии (внутри tmux)
# Нажмите клавишу префикса (Ctrl+b или Ctrl+a), затем d
Основные команды и сочетания клавиш
Все команды tmux начинаются с клавиши префикса (по умолчанию: Ctrl+b). Вот основные сочетания клавиш:
# Управление сессиями
prefix + d # Отключиться от сессии
prefix + s # Список сессий
prefix + $ # Переименовать текущую сессию
# Управление окнами
prefix + c # Создать новое окно
prefix + n # Перейти к следующему окну
prefix + p # Перейти к предыдущему окну
prefix + , # Переименовать текущее окно
prefix + w # Список окон
# Операции с панелями
prefix + % # Разделить панель вертикально
prefix + " # Разделить панель горизонтально
prefix + o # Переключиться на следующую панель
prefix + x # Закрыть текущую панель
Управление сессиями
Сессии — это самый высокий уровень организации в tmux. Вот как эффективно управлять ими:
-
Создание сессий:
# Создайте новую сессию с конкретным именем tmux new -s development # Создайте новую сессию с конкретным рабочим каталогом tmux new -s project -c ~/projects/myproject
-
Управление несколькими сессиями:
# Переключение между сессиями tmux switch -t session_name # Убить конкретную сессию tmux kill-session -t session_name # Убить все сессии, кроме текущей tmux kill-session -a
-
Навигация по сессиям:
- Используйте
prefix + (
для перехода к предыдущей сессии - Используйте
prefix + )
для перехода к следующей сессии - Используйте
prefix + s
для отображения списка сессий и выбора интерактивно
- Используйте
Расширенные функции
tmux предоставляет мощные функции для опытных пользователей, которые могут значительно повысить производительность. Давайте рассмотрим некоторые из этих расширенных возможностей.
Управление окнами
Окна в tmux функционируют аналогично вкладкам в современном терминале. Вот некоторые расширенные операции с окнами:
# Расширенные команды для окон
prefix + . # Переместить окно на другую позицию
prefix + f # Найти окно по имени
prefix + & # Убить окно
prefix + 0-9 # Переключиться на окно по номеру
# Поменять местами позиции окон
swap-window -s 2 -t 1 # Поменять местами окна 2 и 1
swap-window -t -1 # Переместить текущее окно влево
Операции с панелями
Панели позволяют вам разделить ваше окно на несколько секций. Вот некоторые продвинутые техники управления панелями:
-
Изменение размера панелей:
# Используя префикс, затем: Alt + Стрелки # Изменить размер панели в направлении стрелки # Или удерживайте префикс и нажмите: Ctrl + Стрелки # Изменить размер панели большими шагами
-
Расширенная навигация по панелям:
prefix + { # Переместить текущую панель влево prefix + } # Переместить текущую панель вправо prefix + z # Переключить зум панели (максимизировать/восстановить) prefix + ! # Преобразовать панель в окно
-
Синхронизация панелей:
# Переключить синхронизацию панелей (отправить команды во все панели) :setw synchronize-panes
Режим копирования и прокрутка
Режим копирования позволяет вам прокручивать, искать и копировать текст:
-
Вход и навигация в режиме копирования:
prefix + [ # Войти в режим копирования q # Выйти из режима копирования Space # Начать выделение Enter # Скопировать выделение # Навигация в режиме копирования: Стрелки # Перемещение курсора Page Up/Down # Прокрутка страницы вверх/вниз g # Перейти к началу G # Перейти к концу / # Поиск вперед ? # Поиск назад n # Следующее совпадение поиска N # Предыдущее совпадение поиска
-
Расширенные операции копирования:
# Включите режим vi для улучшения операций копирования set-window-option -g mode-keys vi # Пользовательские привязки клавиш для режима копирования bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi y send-keys -X copy-selection
-
Интеграция с системным буфером обмена:
# На Ubuntu сначала установите xclip: sudo apt install xclip # Добавьте в .tmux.conf: bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -sel clip -i"
Эти расширенные функции можно комбинировать для создания мощных рабочих процессов. Например, вы можете:
- Настроить несколько панелей для мониторинга различных служб
- Использовать синхронизированные панели для выполнения команд на нескольких серверах одновременно
- Создать сложные макеты окон для различных задач разработки
- Настроить автоматическое резервное копирование сессий tmux
Лучшие практики
Применение хороших практик с tmux может значительно улучшить ваш рабочий процесс и производительность. Давайте рассмотрим некоторые рекомендуемые подходы и советы.
Общие рабочие процессы
-
Настройка среды разработки:
# Создайте новую сессию для разработки tmux new -s dev # Общая настройка разработки # Разделите окно для редактирования и терминала tmux split-window -v -p 30 # 70% редактор, 30% терминал # Дополнительное разделение для запуска тестов/серверов tmux split-window -h # Разделите терминальную панель горизонтально
-
Настройка мониторинга сервера:
# Создайте сессию мониторинга tmux new -s monitoring # Разделите для различных задач мониторинга tmux split-window -h # Разделите для системных статистик tmux split-window -v # Разделите для логов # Запустите команды мониторинга # Первая панель: htop # Вторая панель: tail -f /var/log/syslog # Третья панель: мониторинг сети
Советы по производительности
-
Организация сессий:
- Используйте описательные имена сессий (например,
client1
,backend
,docs
) - Держите связанные задачи в одной сессии, но в разных окнах
- Используйте последовательные соглашения об именах окон
- Регулярная очистка сессий для лучшего управления
- Используйте описательные имена сессий (например,
-
Оптимизация производительности:
# Добавьте в .tmux.conf # Уменьшите задержку нажатия клавиш set -sg escape-time 0 # Увеличьте отзывчивость set -g status-interval 1 # Ограничьте историю сессий, чтобы избежать проблем с памятью set -g history-limit 50000
-
Автоматизированные скрипты настройки:
#!/bin/bash # Сохраните как dev-setup.sh # Создайте новую сессию в отсоединенном состоянии tmux new-session -d -s development # Настройте окна и панели tmux rename-window -t development:1 'editor' tmux send-keys -t development:1 'vim' C-m tmux new-window -t development:2 -n 'server' tmux send-keys -t development:2 'npm run dev' C-m # Присоединиться к сессии tmux attach -t development
Интеграция с другими инструментами
-
Интеграция с системами контроля версий:
- Создайте выделенные окна для операций git
- Используйте синхронизацию панелей для управления несколькими репозиториями
- Настройте автоматическую проверку статуса
-
Лучшие практики для терминальных мультиплексоров:
# Добавьте в .bashrc или .zshrc # Автоматически присоединяйтесь к сессии tmux при SSH if [[ -z "$TMUX" ]] && [ "$SSH_CONNECTION" != "" ]; then tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux fi
-
Удаленная разработка:
- Используйте вложенные сессии tmux для локальной/удаленной работы
- Настройте разные цвета статусной строки для локальных/удаленных сессий
- Настройте разные клавиши префикса для вложенных сессий
# Для вложенных сессий (.tmux.conf)
bind-key -n C-a send-prefix # Для внутренней сессии
set -g status-bg colour40 # Зеленый для локального
set -g status-bg colour160 # Красный для удаленного

Часто задаваемые вопросы (FAQ)
Вопрос 1: Как выйти из tmux?
# Метод 1: Полностью выйти из tmux
exit # Введите в окне tmux
# или
prefix + d # Отключиться от текущей сессии, оставив ее запущенной
# Метод 2: Принудительно закрыть все сессии
tmux kill-server
Вопрос 2: Почему не работает прокрутка мышью?
В новых версиях tmux вам нужно включить поддержку мыши в вашем конфигурационном файле:
# Добавьте в ~/.tmux.conf
set -g mouse on
Вопрос 3: Как скопировать текст в tmux?
-
Используя мышь (если поддержка мыши включена):
- Просто выделите текст
- Используйте сочетания клавиш системного буфера обмена
-
Используя клавиатуру:
prefix + [ # Войти в режим копирования Space # Начать выделение Enter # Скопировать выделение prefix + ] # Вставить
Вопрос 4: Как восстановить потерянную сессию tmux?
# Список всех сессий
tmux ls
# Присоединиться к последней сессии
tmux attach
# Присоединиться к конкретной сессии
tmux attach -t session_name
Вопрос 5: Как я могу изменить размер панелей в tmux?
# Используйте клавиши префикса + стрелки для изменения размера панелей
prefix + Up # Увеличить текущую панель вверх
prefix + Down # Увеличить текущую панель вниз
prefix + Left # Увеличить текущую панель влево
prefix + Right # Увеличить текущую панель вправо
Вопрос 6: Как применить изменения конфигурации?
# Метод 1: Перезагрузить внутри tmux
prefix + :
source-file ~/.tmux.conf
# Метод 2: Перезагрузить из терминала
tmux source-file ~/.tmux.conf
Вопрос 7: Как синхронизировать ввод между панелями?
# В командном режиме tmux
:setw synchronize-panes on
# Выключить синхронизацию
:setw synchronize-panes off
Вопрос 8: Почему мои цвета отображаются неправильно?
Добавьте эти строки в ваш ~/.tmux.conf
:
# Включите поддержку 256 цветов
set -g default-terminal "screen-256color"
# Включите поддержку истинных цветов
set-option -sa terminal-overrides ",xterm*:Tc"
Вопрос 9: Как сохранить и восстановить сессии tmux?
Вы можете использовать плагин tmux-resurrect
:
# Установите менеджер плагинов tmux
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Добавьте в .tmux.conf:
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Сохранить сессии
prefix + Ctrl-s
# Восстановить сессии
prefix + Ctrl-r
Вопрос 10: Как изменить внешний вид статусной строки?
# Добавьте в ~/.tmux.conf
# Измените фон статусной строки
set -g status-bg black
# Измените цвет текста статусной строки
set -g status-fg white
# Измените стиль текущего окна
set-window-option -g window-status-current-style bg=red,fg=white,bold
Вопрос 11: Как обрабатывать вложенные сессии tmux?
# Добавьте в .tmux.conf, чтобы использовать другой префикс для вложенных сессий
bind-key -n C-a send-prefix # Для внутренней сессии
set -g status-bg blue # Другой цвет для вложенной сессии
Вопрос 12: Мои функциональные клавиши не работают в tmux?
# Добавьте в ~/.tmux.conf
set-option -g xterm-keys on
set-window-option -g xterm-keys on