Як користуватися tmux: Термінальний мультиплексор для досвідчених користувачів

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

Висновок

tmux перетворює ваш термінал на потужний, гнучкий робочий простір, що ідеально підходить для багатозадачності, віддаленого керування сервером або спільного кодування. За допомогою наведених вище прикладів і порад ви зможете швидко налаштовувати сеанси, автоматизувати робочі процеси і підтримувати постійні завдання. Незалежно від того, чи ви розробник, чи системний адміністратор, tmux спростить роботу з командним рядком, заощадить час і підвищить ефективність.