Tmux: терминальный мультиплексор¶
Tmux — это терминальный мультиплексор с открытым исходным кодом, позволяющий запускать несколько независимых сессий терминала внутри одного окна эмулятора, а также отсоединять и повторно подключать эти сессии. Программа работает на уровне текстового интерфейса, не требуя графической оболочки, и широко используется администраторами и разработчиками для удалённой работы через SSH.
¶История
Tmux был создан в 2007 году разработчиком Николасом Мариоттом (Nicholas Marriott) как свободная альтернатива более старому мультиплексору GNU Screen. Первая стабильная версия вышла в 2009 году. Проект развивается при поддержке сообщества OpenBSD, а его исходный код распространяется под лицензией ISC, что позволяет свободно использовать и модифицировать программу. Название происходит от сокращения «Terminal Multiplexer» (терминальный мультиплексор).
¶Основные возможности
¶Сессии, окна и панели
Tmux организует работу в виде иерархии объектов. Сессия — это изолированная среда, содержащая одно или несколько окон. Каждое окно, в свою очередь, может быть разделено на несколько панелей (panes), которые отображаются одновременно в одном терминале. Панели можно создавать горизонтально или вертикально, перемещать, изменять их размер и переключаться между ними с помощью горячих клавиш.
¶Отсоединение и повторное подключение
Ключевая особенность tmux — возможность отсоединить (detach) сессию от текущего терминала, оставив все запущенные в ней процессы работать в фоновом режиме. После этого пользователь может закрыть окно эмулятора или разорвать SSH-соединение, а затем вновь подключиться (attach) к той же сессии с другого устройства, увидев терминал в том же состоянии, в котором он его оставил. Это делает tmux незаменимым инструментом для работы с долгими задачами, такими как компиляция, резервное копирование или выполнение скриптов.
¶Буфер обмена и прокрутка
Tmux поддерживает историю прокрутки для каждого окна, доступную через режим копирования (copy-mode). В этом режиме можно перемещаться по буферу, выделять текст и копировать его в системный буфер обмена. Также поддерживается несколько буферов обмена и вставка сохранённого текста.
¶Управление и конфигурация
¶Горячие клавиши
Управление tmux осуществляется через префиксную клавишу. По умолчанию это Ctrl-b. После нажатия префикса вводится команда, например:
Ctrl-b c— создать новое окно;Ctrl-b ,— переименовать окно;Ctrl-b %— разделить панель по вертикали;Ctrl-b "— разделить панель по горизонтали;Ctrl-b d— отсоединить сессию;Ctrl-b [— войти в режим копирования.
¶Файл конфигурации
Настройки tmux хранятся в файле ~/.tmux.conf. В нём можно изменить префикс, задать цветовую схему, настроить статусную строку, привязать дополнительные команды к клавишам и настроить поведение мыши. Изменения вступают в силу после перезагрузки конфигурации командой tmux source-file ~/.tmux.conf.
¶Использование в командной строке
Основные команды tmux выполняются из терминала:
tmux new -s имя— создать новую сессию с указанным именем;tmux ls— показать список активных сессий;tmux attach -t имя— подключиться к существующей сессии;tmux kill-session -t имя— завершить сессию.
¶Применение
Tmux применяется в нескольких ключевых сценариях. При удалённой работе по SSH он защищает от обрыва соединения: если связь пропадает, сессия остаётся активной на сервере, и пользователь может вернуться к ней позже. При локальной работе мультиплексор позволяет организовать рабочее пространство: например, в одной панели открыт редактор, в другой — компилятор, в третьей — системный журнал. Кроме того, tmux поддерживает совместное использование сессии несколькими пользователями через общий сокет, что применяется для парного программирования или коллективной диагностики.
¶Сравнение с GNU Screen
Основным конкурентом tmux является GNU Screen. Tmux отличается более современной архитектурой, поддержкой клиент-серверной модели (что позволяет просматривать одну сессию из нескольких терминалов), более гибкой системой скриптования и лучшей поддержкой цветов и Unicode. Screen, в свою очередь, считается более простым в освоении и доступен по умолчанию в большинстве дистрибутивов Linux. Обе программы выполняют сходные функции, и выбор между ними часто определяется личными предпочтениями.
¶Интересные факты
- В tmux встроен скриптовый язык на основе команд, что позволяет автоматизировать создание сложных макетов окон и панелей.
- Существует множество плагинов и менеджеров конфигурации для tmux, например TPM (Tmux Plugin Manager), расширяющих его функциональность.
- Tmux используется в среде разработки как часть «терминального» рабочего стола, позволяя полностью отказаться от графического интерфейса.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

