Команда tmux: как не потерять работу на сервере при обрыве связи
tmux держит терминал на самом сервере. Если связь по SSH оборвётся или вы закроете ноутбук, команда внутри tmux продолжит работать, а потом к ней можно вернуться. Ниже — как начать, какие клавиши нажимать и что значат ошибки.
Содержание 9
Что сделать прямо сейчас
- Подключитесь к серверу — инструкция.
- Проверьте, есть ли tmux:
tmux -V. Если в ответ пришла версия — он установлен. Если терминал ответил, что команда не найдена, установите его:sudo apt install tmux. - Создайте сессию с именем work:
tmux new -s work. Экран очистится, и на краю появится строка состояния tmux — вы внутри сессии. - Запустите долгую команду, например
sudo apt upgrade. - Отключитесь, не останавливая команду: нажмите Ctrl+b, отпустите обе клавиши и нажмите d. tmux напишет
[detached (from session work)]. - Вернитесь в сессию — сразу или после нового подключения к серверу:
tmux attach -t work. Команда будет на месте и продолжит работать.
Ctrl+b — это префикс: сначала нажимают его, потом одну клавишу-команду. Вторую клавишу нажимайте уже без Ctrl, иначе tmux не поймёт команду. На Mac это тоже Ctrl, а не Cmd.
Зачем tmux на сервере
Без tmux команда, запущенная по SSH, привязана к окну терминала. Оборвалась связь — команда на сервере может прерваться на середине: обновление системы, копирование файлов, сборка. В tmux команда работает внутри сессии на сервере, а терминал на вашем компьютере только показывает её.
Сессия живёт, пока её не закроют или пока сервер не перезагрузят. Обрыв связи, закрытое окно терминала или спящий ноутбук её не трогают. Что делать, если связь рвётся, — в статье Broken pipe.
Сессии: создать, отключиться, вернуться
| Команда | Что делает |
|---|---|
tmux new -s work | создать сессию с именем work и войти в неё |
tmux ls | список сессий |
tmux attach -t work | вернуться в сессию work |
tmux attach | вернуться в последнюю сессию |
tmux new -A -s work | войти в work, а если её нет — создать |
tmux kill-session -t work | закрыть сессию work вместе со всем, что в ней запущено |
tmux kill-server | закрыть все сессии |
Имя сессии придумайте сами — короткое, латиницей: work, backup, update. Его потом набирают в attach. В списке tmux ls у сессии, к которой сейчас подключён терминал, стоит пометка (attached).
Отключиться или закрыть
| Что сделать | Что будет |
|---|---|
| Ctrl+b, затем d | отключиться: сессия и команды в ней работают дальше |
| закрыть окно терминала или потерять связь | то же, что отключиться |
exit в последнем окне сессии | сессия закроется, tmux напишет [exited] |
tmux kill-session -t work | сессия закроется, запущенные в ней команды остановятся |
Перед exit и kill-session проверьте, что долгая команда в сессии уже закончила работу.
Окна и панели
В одной сессии можно держать несколько окон — как вкладки в браузере. Номера и названия окон tmux показывает в строке состояния. Окно можно разделить на панели, чтобы видеть две команды сразу.
| Клавиши | Что делает |
|---|---|
| Ctrl+b, затем c | новое окно |
| Ctrl+b, затем n | следующее окно |
| Ctrl+b, затем p | предыдущее окно |
| Ctrl+b, затем цифра 0–9 | окно с этим номером |
| Ctrl+b, затем w | выбрать окно из списка |
| Ctrl+b, затем , | переименовать окно |
| Ctrl+b, затем % | разделить окно на левую и правую панели |
| Ctrl+b, затем " | разделить окно на верхнюю и нижнюю панели |
| Ctrl+b, затем стрелка | перейти в соседнюю панель |
| Ctrl+b, затем z | развернуть панель на всё окно и вернуть обратно |
| Ctrl+b, затем x | закрыть панель: tmux спросит, ответьте y |
| Ctrl+b, затем & | закрыть окно: tmux спросит, ответьте y |
| Ctrl+b, затем s | перейти в другую сессию из списка |
| Ctrl+b, затем $ | переименовать сессию |
| Ctrl+b, затем ? | список всех клавиш, выход — q |
Пример: в первом окне идёт обновление, во втором вы следите за журналом командой tail -f, в третьем правите настройки в nano.
Как пролистать вывод вверх
Строки, которые ушли за верх экрана, смотрят в режиме просмотра:
- Нажмите Ctrl+b, затем [. В правом верхнем углу появится номер строки и сколько строк в истории — режим включён.
- Листайте стрелками, Page Up и Page Down.
- Выйдите из режима клавишей q.
Сразу листать на страницу вверх можно сочетанием Ctrl+b, затем Page Up.
Чтобы листать колесом мыши и переключать панели щелчком, включите мышь в настройках tmux и примените их:
echo 'set -g mouse on' >> ~/.tmux.conf
tmux source-file ~/.tmux.confФайл ~/.tmux.conf tmux читает при запуске, поэтому настройка сохранится. Если с включённой мышью стало неудобно выделять текст, выключите её: tmux set -g mouse off, и удалите строку из ~/.tmux.conf — как править файл в nano.
Ошибки и как их исправить
| Ответ | Что значит | Что сделать |
|---|---|---|
duplicate session: work | сессия с таким именем уже есть | войдите в неё: tmux attach -t work |
can't find session: work | сессии с таким именем нет | посмотрите имена: tmux ls |
no sessions | вы вызвали tmux attach, а сессий нет | создайте сессию: tmux new -s work |
no server running on … или error connecting to … (No such file or directory) | tmux не запущен: сессий нет — их закрыли или сервер перезагружали | создайте сессию: tmux new -s work |
sessions should be nested with care, unset $TMUX to force | вы уже внутри tmux и пробуете открыть tmux ещё раз | отключитесь (Ctrl+b, затем d) и повторите команду или перейдите в другую сессию: Ctrl+b, затем s |
| терминал отвечает, что команды tmux нет | tmux не установлен | sudo apt install tmux |
Если сессия пропала после перезагрузки сервера, команды из неё тоже остановились. Проверьте, чем закончилась долгая команда, и запустите её заново в новой сессии.
Источники
- Справка tmux для Ubuntu 24.04 — клавиши по умолчанию, команды new-session с ключами -s и -A, attach-session, list-sessions, kill-session и kill-server, режим просмотра истории, параметры mouse и exit-empty.
- Пакет tmux в Ubuntu 24.04 — версия 3.4.
- Исходный код tmux 3.4: client.c — сообщения detached, exited, no server running и error connecting to.
- Исходный код tmux 3.4: cmd-new-session.c — сообщения duplicate session и sessions should be nested with care.
- Исходный код tmux 3.4: cmd-find.c и cmd-attach-session.c — сообщения can't find session и no sessions.
- Исходный код tmux 3.4: key-bindings.c — клавиши q, Escape, Page Up и Page Down в режиме просмотра, колесо мыши.
Сверено 11 октября 2026 года.
Что почитать дальше
- Broken pipeпочему рвётся SSH и как держать связь.
- Процессы: ps, top и killпосмотреть, работает ли команда, и остановить её.
- Редактор nanoкак править файлы настроек.
- Команды Linux для новичкашпаргалка по командам.
Проверено и обновлено: 11.10.2026