tmux в Linux: настройка и управление сессиями
11 Oct 2026, 14:34:42
tmux (Terminal Multiplexer) — это терминальный мультиплексор для Linux и других Unix-подобных систем, который позволяет создавать несколько терминальных окон и панелей в рамках одной сессии.Главное преимущество tmux заключается в возможности отсоединяться от терминальной сессии и подключаться к ней повторно. Запущенные внутри сессии процессы продолжают работать даже после отключения SSH-клиента.
Это особенно полезно при администрировании удалённых серверов, когда необходимо выполнять длительные операции без постоянного подключения к терминалу.
Основные сценарии использования tmux:
- Копирование и перенос больших объёмов данных с помощью rsync.
- Импорт и экспорт баз данных MySQL и MariaDB.
- Обновление операционной системы и выполнение длительных скриптов.
- Мониторинг загрузки CPU, оперативной памяти и дисков.
- Одновременная работа с несколькими терминалами на удалённом сервере.
1. Установка tmux
Сначала проверьте, установлен ли tmux:tmux -VЕсли команда не найдена, установите пакет с помощью пакетного менеджера вашей операционной системы.
Debian / Ubuntu:
apt update
apt install tmuxAlmaLinux / Rocky Linux / RHEL:
dnf install tmuxПосле установки повторно проверьте версию:
tmux -V
2. Создание новой сессии
Чтобы запустить tmux, выполните:tmuxДля создания сессии с определённым именем используйте параметр -s:
tmux new -s migrationВ этом примере создаётся сессия migration.
Внутри сессии можно выполнять обычные команды Linux, например:
top
или запустить копирование файлов:
rsync -avh /source/ /destination/Сессия tmux работает независимо от подключения SSH-клиента. Поэтому при отсоединении от неё выполняющиеся процессы обычно продолжают работу.
3. Отсоединение от сессии
Чтобы выйти из сессии, не завершая её, используйте сочетание клавиш:- Нажмите Ctrl+B.
- Отпустите клавиши.
- Нажмите D.
После этого вы вернётесь к обычной командной строке SSH, а процессы внутри tmux продолжат выполняться.
Не путайте отсоединение с командой exit: последняя завершает текущую оболочку, а если это последняя оболочка в сессии, может привести к её закрытию и остановке выполняющейся задачи.
4. Просмотр списка сессий
Чтобы посмотреть существующие сессии tmux, выполните:tmux lsПример вывода:

В этом примере существуют две сессии: migration и update.
Если сессий нет, команда сообщит об отсутствии доступных сессий.
5. Повторное подключение к сессии
Чтобы вернуться к ранее созданной сессии, выполните:tmux attach -t migrationВместо migration укажите имя нужной сессии.
Если необходимо подключиться к единственной доступной сессии, можно использовать:
tmux attachПосле подключения вы увидите состояние терминала и сможете продолжить работу с запущенной задачей.
6. Запуск задачи в отсоединённой сессии
Если необходимо запустить длительную операцию и сразу вернуться к командной строке SSH, создайте сессию в отсоединённом режиме:tmux new-session -d -s backupКоманда создаст сессию backup, не подключая к ней текущий терминал.
Чтобы перейти к ней, выполните:
tmux attach -t backupПосле этого запустите необходимую задачу. Например:
rsync -avh --progress /var/www/ /mnt/backup/www/Когда команда начнёт выполняться, отсоединитесь сочетанием Ctrl+B, затем D. Копирование продолжится без необходимости держать SSH-соединение открытым.
Запуск команды при создании сессии
Команду также можно запустить непосредственно при создании сессии:tmux new-session -d -s backup 'rsync -avh --progress /var/www/ /mnt/backup/www/'В этом случае rsync запустится внутри сессии backup в отсоединённом режиме.
Для просмотра выполнения задачи подключитесь к сессии:
tmux attach -t backupУчтите, что если команда завершится и оболочка закроется, сессия тоже может исчезнуть. Поэтому для длительных операций удобно создавать сессию, подключаться к ней, запускать команду вручную и затем отсоединяться.
7. Работа с несколькими окнами и панелями
tmux позволяет работать с несколькими терминалами в рамках одной сессии.Основные сочетания клавиш:
Сочетание клавиш | Действие |
| Ctrl+B, затем C | Создать новое окно |
| Ctrl+B, затем N | Перейти к следующему окну |
| Ctrl+B, затем P | Перейти к предыдущему окну |
| Ctrl+B, затем 0–9 | Перейти к окну по номеру |
| Ctrl+B, затем % | Разделить панель вертикально |
| Ctrl+B, затем " | Разделить панель горизонтально |
| Ctrl+B, затем стрелка | Переключиться между панелями |
| Ctrl+B, затем D | Отсоединиться от сессии |
| Ctrl+B, затем ? | Показать справку по сочетаниям клавиш |

8. Завершение сессии
Чтобы завершить текущую оболочку внутри tmux, выполните:exitЕсли это последняя оболочка в последнем окне, сессия завершится.
Для принудительного завершения определённой сессии используйте:
tmux kill-session -t backupЧтобы завершить все сессии tmux текущего пользователя, выполните:
tmux kill-serverВнимание: завершение сессии может остановить работающие внутри неё процессы. Перед выполнением этих команд убедитесь, что важные задачи завершены.
9. Что делать, если SSH-соединение оборвалось
Если соединение SSH неожиданно прервалось, подключитесь к серверу повторно и проверьте список сессий:tmux lsЕсли нужная сессия существует, подключитесь к ней:
tmux attach -t cdn-migrationЕсли сессия отсутствует, это может означать, что задача завершилась, сессия была закрыта или сервер tmux остановился.
Для проверки оставшихся процессов используйте, например:
pgrep -af rsyncПри необходимости проверьте системные журналы и состояние сервера. Не запускайте повторное копирование, пока не убедитесь, что предыдущая операция не выполняется.
10. tmux и screen: сравнение
screen — другой терминальный мультиплексор, который также позволяет сохранять терминальные сессии при отключении SSH-клиента и повторно подключаться к ним.Оба инструмента подходят для запуска длительных задач на Linux-серверах. Основные различия заключаются в управлении окнами и панелями, настройке и привычном рабочем процессе.
Возможность | tmux | screen |
| Продолжение работы после отключения SSH | Да | Да |
| Повторное подключение к сессии | Да | Да |
| Несколько окон в одной сессии | Да | Да |
| Разделение терминала на панели | Да | Да |
| Гибкая настройка интерфейса и сочетаний клавиш | Да | Да, но подход к настройке отличается |
| Именованные сессии | Да | Да |
| Поддержка на старых системах | Зависит от доступности версии | Часто встречается на старых системах |
Основные команды tmux и screen
Действие | tmux | screen |
| Создать именованную сессию | tmux new -s work | screen -S work |
| Показать список сессий | tmux ls | screen -ls |
| Отсоединиться от сессии | Ctrl+B, затем D | Ctrl+A, затем D |
| Повторно подключиться | tmux attach -t work | screen -r work |
| Завершить сессию | tmux kill-session -t work | screen -S work -X quit |
Что выбрать: tmux или screen
Выбирайте tmux, если:- Вы регулярно администрируете серверы через SSH.
- Вам необходимо работать с несколькими окнами и панелями.
- Вы хотите гибко настраивать терминальное окружение.
- Вы часто выполняете несколько длительных задач одновременно.
- Он уже установлен на сервере и его возможностей достаточно.
- Вам нужен простой способ сохранить терминальную сессию при отключении SSH.
- Вы работаете со старыми системами, где screen уже используется.
Заключение
tmux — удобный инструмент для администрирования Linux-серверов через SSH. Он позволяет сохранять терминальные сессии при отключении клиента, управлять несколькими окнами и панелями и выполнять длительные операции без необходимости постоянно держать соединение открытым.Для повседневной работы достаточно запомнить основные команды:
tmux new -s work
tmux ls
tmux attach -t work
tmux kill-session -t work
tmux -Vtmux и screen решают схожую задачу, поэтому выбор зависит от ваших потребностей и привычек. Для нового рабочего окружения можно начать с tmux, а если screen уже используется и полностью устраивает, переходить на другой инструмент необязательно.