Если SSH оборвался, а компиляция/миграция жива — это tmux (или screen). База на 15 минут 📎
Установка #
sudo apt install tmux # Debian/Ubuntu
brew install tmux # macOSСессии #
tmux new -s deploy
# …работа…
# Detach: prefix d (по умолчанию Ctrl-b, затем d)
tmux ls
tmux attach -t deploy
tmux kill-session -t deployИдиома «всегда одна сессия main»:
tmux new -A -s mainМожно в ~/.bash_profile для интерактивных SSH (осторожно с non-interactive scp).
Окна и панели #
Prefix по умолчанию: Ctrl-b.
| Ключ | Действие |
|---|---|
c | новое окно |
n / p | next/prev окно |
, | переименовать окно |
% | split vertical |
" | split horizontal |
o | next pane |
z | zoom pane |
x | kill pane |
d | detach |
[ | copy-mode (скролл/копирование) |
Конфиг ~/.tmux.conf
#
unbind C-b
set -g prefix C-a
bind C-a send-prefix
set -g mouse on
set -g history-limit 100000
set -g base-index 1
setw -g pane-base-index 1
set -g default-terminal "tmux-256color"
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# перезагрузить конфиг
bind r source-file ~/.tmux.conf \; display "reloaded"tmux source-file ~/.tmux.confCopy-mode #
Prefix [ → движение как в vi/emacs → Space начало → Enter копирует в tmux buffer.
Интеграция с system clipboard зависит от ОС (pbcopy, wl-copy) — настраивается отдельно.
Плагины #
tpm + continuum — приятно, но сначала мышечная память на 10 клавиш. На серверах часто zero plugins.
tmux vs terminal multiplexer в WezTerm #
Локально WezTerm panes ок. На сервере tmux незаменим: жизнь процесса привязана к remote session, не к GUI клиента.
Итог #
new -A -s main, prefix на Ctrl-a, mouse on, history большой. Этого хватает, чтобы не бояться Wi‑Fi в поезде 🚄