Терминальный мультиплексор Tmux: защита сессий и разделение окон
Что происходит, если внезапно оборвется SSH соединение?
Если вы запустили длительный процесс (например, обновление базы данных, компиляцию проекта или создание бекапа) и у вас внезапно пропал интернет или закрылся ноутбук, сессия SSH прервется, а ядро Linux мгновенно принудительно завершит выполняемую программу. Утилита Tmux создает виртуальную сессию на сервере, которая продолжает работать в фоне вечно, даже если вы отключились от интернета.
Базовая шпаргалка по работе с Tmux
- Установка и запуск новой сессии:
sudo apt install tmux -y # Запуск сессии с понятным именем: tmux new -s my_work - Главное сочетание клавиш (Префикс):
Все команды в Tmux вызываются через нажатие комбинации Ctrl + B, после чего нажимается нужная функциональная клавиша:- Ctrl + B, затем % — Разделить экран вертикально (на левую и правую панели).
- Ctrl + B, затем " — Разделить экран горизонтально (на верхнюю и нижнюю панели).
- Ctrl + B, затем стрелки на клавиатуре — Переключение между разделенными панелями.
- Ctrl + B, затем D — Отключиться от сессии (Detach), оставив все запущенные программы работать в фоне сервера.
- Как вернуться в оставленную фоновую сессию:
# Посмотреть список работающих сессий: tmux ls # Подключиться обратно к сессии my_work: tmux attach -t my_work
Как закрыть окно Tmux: Просто введите команду exit в терминале панели, либо нажмите сочетание Ctrl + D.
Частые вопросы (FAQ)
В чем разница между утилитами Tmux и Screen?
Tmux — это современный аналог старой утилиты Screen. Он быстрее работает, имеет красивый статус-бар, лучше поддерживает разделение панелей и активнее поддерживается сообществом.
Как прокручивать текст (скроллить историю) внутри Tmux?
Нажмите `Ctrl + B`, затем клавишу `[` (откроется режим прокрутки). Листайте стрелками или PageUp/PageDown. Для выхода из режима прокрутки нажмите клавишу `q`.
Как включить поддержку мыши в Tmux для переключения панелей кликом?
Создайте файл `nano ~/.tmux.conf` и добавьте строчку: `set -g mouse on`. Примените команду `tmux source ~/.tmux.conf`.
Сохранится ли сессия Tmux после перезагрузки самого сервера?
Нет. При физической перезагрузке ОС сессии стираются из памяти. Для автозапуска программ после перезагрузки используют systemd.