Використання 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Завершити сеанс
вихідВийти з поточної панелі/вікна (або вбити за допомогою tmux kill-pane)

Додаткові поради та підказки

1. Іменовані сеанси для наполегливості

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

Приєднайте знову будь-коли:

tmux attach -t setup-server

🧮 2. Заощаджуйте час за допомогою скриптів сесій

Створіть .tmux.conf або скрипти командного інтерпретатора, щоб автоматизувати налаштування:

#!/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)
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 пропонує продуктивність, наполегливість і точність. Опанувавши його, ви станете незамінним помічником, заощаджуючи час, зберігаючи сеанси та організовуючи робочий процес у терміналі як професіонал.