Это старая версия документа!
Содержание
tmux: мультисессии в терминале
Назначение
tmux (terminal multiplexer) позволяет запускать несколько терминальных сессий в одном окне. Он полезен для:
- удалённой работы — процессы продолжают работать после отключения SSH
- управления множеством задач в одном терминале
- переключения между окнами/панелями без открытия новых вкладок
Установка (Raspberry Pi / Linux)
sudo apt update sudo apt install tmux
Настройка tmux
Добавить в ~/.tmux.conf
для сохранения истории и изменения цвета строки состояния:
# Увеличенная история вывода set-option -g history-limit 100000 # Отключение режима очистки экрана set -g terminal-overrides '*:smcup@:rmcup@' # Цвет и стиль строки статуса set -g status-style "bg=colour81,fg=magenta,bold,reverse" # Левая часть — имя сессии set -g status-left '#[bold]#S ' # Правая часть — дата и время set -g status-right '#[bold] %Y-%m-%d %H:%M ' # Поддержка мыши set -g mouse on # Поддержка 256-цветов и корректной работы с fzf/micro set -g default-terminal "screen-256color"
Пример цветов
# Примеры цветов (можно менять colourXXX в status-style): # Красный: colour160 или colour203 # Ярко-синий: colour45 # Ярко-зелёный: colour46 # Тёмный серый: colour240 # Жёлтый: colour226 # Светло-синий: colour81 # Пурпурный: colour129 # Оранжевый: colour208 # Чёрный colour0 # Тёмно-серый colour8 # Красный colour1 # Ярко-красный colour9 # Зелёный colour2 # Ярко-зелёный colour10 # Жёлтый colour3 # Ярко-жёлтый colour11 # Синий colour4 # Ярко-синий colour12 # Пурпурный colour5 # Розовый colour13 # Голубой colour6 # Ярко-голубой colour14 # Белый colour7 # Ярко-белый colour15 # Orange colour208 # DarkOrange colour202 # LightOrange colour214 # # bold Жирный текст # underscore Подчёркнутый текст # italics Курсив (не везде работает) # blink Мигающий текст (редко) # reverse Инверсия fg и bg # fg=цвет Цвет шрифта # bg=цвет Цвет фона
Пример стилей
#[bold,fg=white,bg=colour208] текст set -g status-left '#[bold,fg=white,bg=colour208]#S ' set -g status-right '#[fg=colour15,bg=colour202] %Y-%m-%d %H:%M '
Перечень стилей
bold Жирный текст underscore Подчёркнутый текст italics Курсив (не везде работает) blink Мигающий текст (редко) reverse Инверсия fg и bg fg=цвет Цвет шрифта bg=цвет Цвет фона
Применить настройки без перезапуска tmux
tmux source-file ~/.tmux.conf
Прописать запуск tmux в bash (авто-возврат в сессию)
Добавить в конец ~/.bashrc
:
# Автоподключение к tmux if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then tmux attach || tmux new -s default fi
Настройка профиля в Windows Terminal
{ "colorScheme": "Campbell", "commandline": "ssh <ПОЛЬЗОВАТЕЛЬ>@10.0.0.1 -t \"tmux new-session -A -s ssh\"", "guid": "{11111111-2222-3333-4444-000000000001}", "hidden": false, "icon": "<ПУТЬ_К_ФАЙЛУ>.png", "name": "Raspberry Pi (WireGuard)", "startingDirectory": "%USERPROFILE%", "tabColor": "#FF5555" },
`.bat` файл для быстрого запуска из Windows
@echo off start wt -w 0 nt -p "Raspberry Pi (ssh)"
Основные команды tmux
Вход / выход:
tmux
— создать новую сессиюtmux attach
— подключиться к существующейtmux ls
— список сессийtmux attach -t ИМЯ
— подключиться по имениtmux new -s ИМЯ
— создать сессию с именемtmux kill-session -t имя
— завершить сессию
Управление сессией (после Ctrl+B):
d
— отсоединиться (detach)%
— разделить вертикально«
— разделить горизонтально- стрелки + Ctrl+B — перемещение по панелям
x
— закрыть панельc
— создать новое окноn
/p
— следующее/предыдущее окно
Выход:
exit
— выйти из панели (если последняя — закроется сессия)
Пример использования
1. Подключение по SSH к Raspberry Pi
2. Автоматически открывается или подключается tmux
3. Открыты 2 панели:
- верхняя —
htop
- нижняя —
btop
4. Закрытие окна терминала — процессы не завершаются
5. Возврат: ssh <LOGIN>@10.0.0.1
→ tmux attach
Сохранение истории после отсоединения
Чтобы tmux сохранял scrollback (историю терминала), добавь в ~/.tmux.conf
:
set-option -g history-limit 100000 set -g terminal-overrides '*:smcup@:rmcup@'
Пример:
tmux new -s rasp # Работай внутри сессии # Закрой окно — сессия продолжит работать # Подключись снова: tmux attach -t rasp
Замечания
tmux
не сохраняет историю после перезагрузки сессии, если не использовать scrollback-файлы- удобно сочетать с fzf и launcher_fzf для запуска скриптов
- конфигурация:
~/.tmux.conf
- Можно использовать совместно с fzf, micro, mc и др.
exit
внутри tmux завершает сессию- Закрытие терминала без выхода — безопасно, процессы не прерываются
Если нужно — можно добавить шаблон ~/.tmux.conf
и кастомные keybindings.