Tmux для сисадмина: шпаргалка и конфиг
Tmux для сисадмина: шпаргалка и конфиг
Потерять SSH-сессию в самый неподходящий момент — классическая боль системного администратора. Tmux решает эту проблему раз и навсегда: он запускает терминальные сессии на сервере, которые живут независимо от вашего подключения. Отключились — подключились снова и продолжили с того же места.
Установка
# Debian/Ubuntu
apt install tmux -y
# RHEL/AlmaLinux
dnf install tmux -y
Основные понятия
Tmux строится на трёх уровнях иерархии:
- Session — верхний уровень, живёт на сервере независимо от терминала
- Window — вкладка внутри сессии, аналог вкладки в браузере
- Pane — панель внутри окна, позволяет разделить экран
Базовые команды
Запустить новую сессию с именем:
tmux new -s work
Отключиться от сессии (detach), не убивая её: Ctrl+B, затем D
Посмотреть список сессий:
tmux ls
Подключиться к существующей сессии:
tmux attach -t work
Шпаргалка по горячим клавишам
Все команды tmux начинаются с префикса Ctrl+B (обозначается как <prefix>).
Сессии:
<prefix> d— detach от текущей сессии<prefix> s— список всех сессий с переключением<prefix> $— переименовать сессию
Окна:
<prefix> c— создать новое окно<prefix> ,— переименовать окно<prefix> n/<prefix> p— следующее/предыдущее окно<prefix> 0-9— переключиться на окно по номеру<prefix> &— закрыть окно
Панели:
<prefix> %— разделить вертикально<prefix> "— разделить горизонтально<prefix> стрелки— переключаться между панелями<prefix> z— развернуть панель на весь экран (и обратно)<prefix> x— закрыть панель
Полезный конфиг ~/.tmux.conf
# Изменить префикс на Ctrl+A (удобнее для многих)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# Нумерация окон с 1
set -g base-index 1
setw -g pane-base-index 1
# Мышь
set -g mouse on
# 256 цветов
set -g default-terminal "screen-256color"
# Увеличить историю прокрутки
set -g history-limit 10000
# Перезагрузить конфиг без рестарта
bind r source-file ~/.tmux.conf ; display "Config reloaded!"
# Разделение панелей на | и -
bind | split-window -h
bind - split-window -v
После редактирования конфига перезагрузите его прямо в tmux:
tmux source ~/.tmux.conf
Или нажмите <prefix> r, если вы добавили соответствующий биндинг.
Копирование текста
По умолчанию для выделения и копирования текста в tmux нужно зажать Shift при выделении мышью. Если включён режим mouse on, обычное выделение перехватывается tmux-ом. Альтернативно используйте vi-режим:
setw -g mode-keys vi
Тогда <prefix> [ входит в режим копирования, v начинает выделение, y копирует в буфер tmux.
Итог
Tmux — незаменимый инструмент для любого, кто регулярно работает с серверами по SSH. Даже базовое использование (запуск сессии и detach) уже экономит нервы при обрывах соединения. Потратьте 15 минут на настройку ~/.tmux.conf под себя, и вы получите удобную рабочую среду, которая всегда вас ждёт на сервере.
Спасибо за шпаргалку, распечатал и повесил рядом с монитором. Долго не мог запомнить разницу между окнами и панелями, теперь стало понятнее.