Tmux — консольная утилита, позволяющая управлять несколькими окнами и панелями в рамках одной сессии. При этом рабочее состояние окон сохраняется и его можно восстановить даже после разрыва соединения. К основным преимуществам tmux обычно относят:
Управление несколькими процессами в одном окне.
Простое переключение между сессиями и панелями.
Подключение нескольких пользователей для совместной работы.
Возможность восстанавливать сессии в любой момент.
Помимо tmux, существуют и другие мультиплексоры, такие как GNU Screen или dvtm, но именно tmux стал наиболее популярным благодаря удобству использования и гибкости настройки.
1. Работа с окнами и панелями
Tmux позволяет разделять окна на панели, настраивать их размеры, перемещаться между ними и использовать каждую как отдельный терминал. Это особенно удобно для работы с несколькими задачами одновременно.
2. Управление сессиями
Даже если соединение прервано, вы можете восстановить работу, вернувшись к последнему сохраненному состоянию. Это особенно полезно при удаленной работе через SSH.
3. Использование мыши
Tmux поддерживает управление мышью. Это упрощает работу с окнами: вы можете изменять их размеры, перемещаться между панелями и даже прокручивать текст.
4. Совместная работа Несколько пользователей могут одновременно подключиться к одной сессии tmux, видеть действия друг друга и работать над задачами в реальном времени. Это делает утилиту полезной для командных проектов.
Чтобы установить tmux, вам понадобятся две основные библиотеки:
libevent — для обработки событий.
ncurses — для работы с текстовым интерфейсом.
Установить утилиту можно через пакетный менеджер вашей системы. После установки рекомендуется создать файл конфигурации ~/.tmux.conf для персональных настроек.
1. Удалённая работа через SSH
Tmux незаменим при подключении к удаленным серверам. Если соединение прервется, сессия останется активной, и вы сможете вернуться к ней с любого устройства. Команда для восстановления:
tmux attach
2. Автоматизация задач
Tmux поддерживает автоматическое выполнение команд при запуске. Это позволяет настроить скрипты для запуска определенных приложений или сервисов в отдельных панелях. Например, вы можете автоматически открыть редактор, сервер и мониторинг в разных окнах.
3. Мониторинг процессов
Используя tmux, вы можете запускать системы мониторинга в отдельных окнах, например, htop, tail для логов или утилиты для отслеживания состояния сети. Все окна будут видны одновременно, что упрощает контроль.
4. Работа в команде
Для командной работы достаточно создать одну сессию, к которой подключаются все участники. Команды будут синхронизированы, и все увидят изменения в режиме реального времени. Это удобно для совместной отладки и настройки серверов.
Работа с сессиями
1. Создать новую сессию:
tmux new
2. Подключиться к существующей:
tmux attach
3. Список всех сессий:
tmux ls
4. Завершить конкретную сессию:
tmux kill-session -t [name]
Работа с окнами
Разделить окно по вертикали: Ctrl+b %
Разделить окно по горизонтали: Ctrl+b "
Переход между окнами: Ctrl+b n (следующее), Ctrl+b p (предыдущее)
Закрыть окно: Ctrl+b x
Работа с панелями
1. Выбрать панель:
select-pane
2. Поменять панели местами:
swap-pane
3. Изменить размеры панелей:
resize-pane
Прокрутка текста
Включить режим копирования: Ctrl+b [
Прокрутка текста: PgUp, PgDown
1. Поддержка Unicode
Следующая опция позволяет корректно отображать текст на разных языках, включая специальные символы и эмодзи.
-enable-utf8proc
2. Статическая сборка
Данная команда создаёт исполняемый файл, который не зависит от библиотек на системе. Это удобно для переносимости.
-enable-static
3. Инструменты для отладки
Эта опция позволяет добавлять отладочные символы, которые облегчают поиск ошибок и анализ программы.
-enable-debug
Tmux — это универсальный инструмент, который упрощает работу в терминале. Он полезен для управления сессиями, мониторинга, автоматизации задач и даже командной работы. Освоив основные команды и настройки, вы сможете максимально эффективно использовать возможности этой утилиты.