До основного вмісту

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.
← Назад до бази знань Поставити питання підтримці