Использование tmux: Терминальный мультиплексор для опытных пользователей

В мире рабочих процессов на базе терминалов есть один инструмент, который меняет представление о многозадачности, управлении сеансами и постоянных средах командной строки: tmux. Сокращенно от Terminal Multiplexer, tmux позволяет запускать, управлять и возобновлять несколько терминальных сессий в одном окне терминала.

Если вы управляете удаленными серверами через SSH, выполняете длительные скрипты или работаете над несколькими задачами разработки, tmux даст вам супервозможности в командной строке.

Что такое tmux?

tmux – это терминальный мультиплексор с открытым исходным кодом, который позволяет:

  • Несколько сеансов оболочки в одном терминале

  • Постоянные сеансы (даже после отключения)

  • Разделение окон и панелей

  • Разделение сеансов между пользователями

  • Легкое переключение между задачами, не выходя из терминала

Это как плиточный оконный менеджер для вашего терминала, доступный в любом месте – даже через медленные SSH-соединения.

Установка tmux

На Debian/Ubuntu:

sudo apt install tmux

На CentOS/RHEL:

sudo yum install tmux

На macOS:

brew install tmux

Начало работы с tmux

Чтобы начать новую сессию tmux:

tmux

Теперь вы находитесь внутри новой сессии. Но чтобы использовать ее эффективно, вам нужно знать некоторые привязки клавиш.

Приставка по умолчанию: Ctrl b

Все команды tmux запускаются с помощью префиксной клавиши, которая по умолчанию является префиксом:

Ctrl b

Ctrl b, затем % создает вертикальное разделение, и так далее.

Основные команды tmux

КомандаДействие
tmuxЗапустите новую сессию
tmux new -s mysessionЗапуск именованного сеанса
tmux attach -t mysessionПовторное присоединение к сессии
tmux lsСписок сессий
tmux kill-session -t mysessionУбить сессию
exitВыйти из текущей панели/окна (или убить через tmux kill-pane)

Дополнительные советы и приемы

1. Именованные сеансы для постоянства

tmux new -s setup-server("name-your-session")
Нажмите Ctrl b, затем “
→ у вас есть две горизонтальные панели: верхняя и нижняя

Прикрепите их в любое время:

tmux attach -t setup-server

🧮 2. Экономьте время с помощью сценариев сеансов

Создайте скрипты .tmux.conf или shell для автоматизации настройки:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. Разделить сеанс с другим пользователем

Разрешить совместные терминальные сеансы (требуются общие разрешения):

sudo chmod s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. Настройте файл .tmux.conf

Пример:

# Установите префикс на Ctrl a (как в GNU screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Поддержка мыши
set -g mouse on

# Улучшенные цвета
set -g default-terminal "screen-256color"

Перезагрузите конфигурацию:

tmux source-file ~/.tmux.conf

Пример использования: tmux через SSH

При управлении удаленным VPS через SSH:

  1. Подключиться по SSH

  2. Запустите сеанс tmux:

    tmux new -s remote
  3. Запуск обновлений или длительных процессов (например, apt upgrade)

  4. Отключитесь на любое время – сессия сохраняется

  5. Подключитесь позже:

    tmux attach -t remote

💡 Это неоценимо для ненадежных соединений, особенно через мобильные или спутниковые каналы.

tmux – один из самых мощных инструментов в арсенале командной строки. Если вы занимаетесь кодированием, мониторингом серверов или удаленным управлением несколькими задачами, tmux обеспечивает производительность, настойчивость и точность. Освоив его, вы станете незаменимым помощником, экономящим время, сохраняющим сеансы и организующим рабочий процесс в терминале как профессионал.