К основному содержимому

tmux и screen: сессии на сервере без обрыва SSH

VDS / VPS серверы · 29.09.2026

Зачем нужны tmux и screen на VDS

SSH-сессия обрывается при разрыве соединения, перезагрузке роутера или отключении Wi-Fi. Все процессы, запущенные в терминале, при этом получают сигнал HUP и завершаются. Если это apt upgrade, компиляция ядра или долгий бэкап базы — работа теряется на середине. tmux и screen решают эту проблему: они запускают отдельный сеанс терминала на сервере, который живёт независимо от SSH-соединения. Отключились — сессия осталась работать. Подключились заново — увидели тот же экран с теми же запущенными командами.

Оба инструмента решают одну задачу, но устроены по-разному. Разберём установку, базовые команды и отличия друг от друга.

Установка tmux и screen

В большинстве дистрибутивов оба пакета есть в стандартных репозиториях.

apt update
apt install -y tmux screen

Для CentOS, Rocky Linux и AlmaLinux:

dnf install -y tmux screen

Версию проверяют командой tmux -V и screen --version. Для тяжёлых задач вроде переноса базы данных или ручной сборки пакета инструменты из этой статьи применяют сразу после первого подключения к серверу по SSH, до начала работы.

Основные команды tmux

tmux работает с понятием сессий, окон и панелей (panes). Сессию можно назвать, что удобно, если их несколько.

КомандаДействие
tmux new -s backupсоздание сессии с именем backup
tmux lsсписок активных сессий
tmux attach -t backupподключение к сессии backup
Ctrl+b dотключение от сессии (detach)
Ctrl+b %деление окна на панели по вертикали
Ctrl+b "деление окна по горизонтали
tmux kill-session -t backupзавершение сессии

Комбинация клавиш начинается с префикса Ctrl+b, затем идёт отдельная клавиша команды. Этим tmux отличается от screen, где префикс — Ctrl+a.

Основные команды screen

screen старше tmux и устроен проще: одно окно — один терминал, без встроенного деления на панели в базовой версии.

screen -S backup
screen -ls
screen -r backup

Отключение от сессии — Ctrl+a d, создание нового окна внутри сессии — Ctrl+a c, переключение между окнами — Ctrl+a n (следующее) и Ctrl+a p (предыдущее). Иногда после обрыва связи сессия остаётся в статусе «Attached», и подключение через screen -r выдаёт ошибку. Тогда помогает команда screen -d -r backup, которая принудительно отсоединяет старое подключение.

Чем tmux отличается от screen

Разница не только в горячих клавишах.

  • tmux делит окно на панели без дополнительных пакетов, screen — только через модуль или новые сборки.
  • tmux поддерживает конфигурационный файл ~/.tmux.conf с гибкой настройкой статус-бара и цветовой схемы.
  • screen работает почти на любом Unix-сервере без установки — часто он уже стоит в системе по умолчанию.
  • tmux развивается активнее и обычно быстрее восстанавливает layout после отключения по SSH.

Для повседневной работы на VDS большинство администраторов выбирают tmux из-за панелей и удобной настройки. screen остаётся вариантом для минимальных систем, где лишние пакеты ставить не хочется.

Действия при обрыве SSH-соединения

Если соединение оборвалось само, а не через detach, сессия tmux или screen остаётся в фоне — процессы продолжают работать. После восстановления связи достаточно подключиться по SSH и выполнить tmux attach или screen -r. Чтобы не путать сессии, стоит сразу присваивать им понятные названия, например tmux new -s deploy вместо безымянной сессии с номером.

Для длительных фоновых задач без интерактивного вывода лучше подходит настоящий демон через systemd — для регулярных заданий стоит посмотреть создание unit-файла для автозапуска службы или настройку планировщика cron. tmux и screen нужны именно для интерактивной работы: миграций, установки пакетов, диагностики в реальном времени.

Итог: что запомнить

  • tmux и screen сохраняют терминальную сессию на сервере при обрыве SSH-соединения.
  • Установка: apt install -y tmux screen или dnf install -y tmux screen.
  • В tmux префикс — Ctrl+b, в screen — Ctrl+a.
  • Сессии называют при создании: tmux new -s имя, screen -S имя.
  • Для фоновых задач без интерактива применяют systemd или cron, а не tmux.
← Назад в базу знаний Задать вопрос поддержке