Что такое tmux и как не терять сессии на сервере
Закрыли ноутбук — и процесс на сервере оборвался? Разбираем tmux: как держать сессии живыми, работать с телефона и не терять длинные прогоны. С командами и конфигом.
Зачем нужен tmux
Если вы запускаете что-то долгое по SSH — сборку, тесты, AI-агента вроде Claude Code — и закрываете ноутбук, процесс обрывается. Причина в сигнале SIGHUP: при разрыве терминала система завершает его процессы. tmux решает это раз и навсегда: он держит сессию на сервере независимо от вашего подключения.
Что такое tmux простыми словами
tmux (terminal multiplexer) — это «менеджер сессий» терминала. Внутри одного подключения он даёт несколько окон и панелей, а главное — сессия живёт на сервере, даже когда SSH отвалился. Оборвалась сеть, закрылся ноутбук, сменился Wi-Fi — вы просто переподключаетесь и продолжаете с того же места.
Базовые команды
sudo apt install tmux
tmux new -s work # создать именованную сессию
# Ctrl+b, затем d # отсоединиться (сессия продолжает работать)
tmux ls # список сессий
tmux attach -t work # вернуться в сессию
tmux kill-session -t work
Все горячие клавиши вводятся через префикс Ctrl+b, затем клавишу.
Окна и панели
Ctrl+b c— новое окно,Ctrl+b 0..9— переключение окон.Ctrl+b %— разбить панель вертикально,Ctrl+b "— горизонтально.Ctrl+b ←↑↓→— переход между панелями.Ctrl+b [— режим прокрутки/копирования.
Практика: в одной панели — агент или сборка, в другой — tail -f логов, в третьей — htop.
Полезный конфиг
Положите в ~/.tmux.conf:
set -g mouse on
set -g history-limit 100000
setw -g mode-keys vi
set -g default-terminal "tmux-256color"
Мышь включит прокрутку и выделение, а большая история — не потеряете вывод длинного прогона.
tmux vs screen vs nohup
- nohup — просто «отвязать» процесс от терминала, но без интерактивности и удобного возврата.
- screen — предшественник tmux, умеет похожее, но tmux современнее и гибче.
- tmux — именованные сессии, окна, панели, плагины восстановления. Для интерактивной работы и агентов — лучший выбор.
Как это работает на удалённом сервере
Смысл раскрывается именно на удалённом сервере для разработки: вы ставите задачу агенту в tmux, отсоединяетесь, закрываете ноутбук — сервер считает. С телефона через SSH-клиент делаете tmux attach и видите ту же сессию. Ничего не теряется и не перезапускается.
Итог
tmux — первый инструмент, который стоит освоить при переходе на серверную разработку. Пары команд (tmux new, Ctrl+b d, tmux attach) достаточно, чтобы больше никогда не терять сессии при закрытии ноутбука или обрыве сети.
Частые вопросы
Что делает tmux простыми словами?
Держит сессию терминала на сервере независимо от вашего подключения: можно отсоединиться, закрыть ноутбук и вернуться к той же работе.
Как отсоединиться, не прерывая процесс?
Нажмите Ctrl+b, затем d. Сессия продолжит работать на сервере, вернуться — командой tmux attach.
Переживёт ли tmux перезагрузку сервера?
Сам по себе нет, но плагины tmux-resurrect и tmux-continuum сохраняют и восстанавливают раскладку сессий.
Чем tmux лучше nohup?
nohup просто отвязывает процесс, а tmux даёт интерактивные сессии, окна, панели и удобный возврат — это важно для работы с агентами.
Можно ли работать в tmux с телефона?
Да: подключаетесь SSH-клиентом (Termius, Blink) и делаете tmux attach — видите ту же сессию, что и с ноутбука.