tmux+SSH своими руками: DIY-версия без Rust

За две недели разобрали ws и аналоги (tmuxinator, tmuxp, sesh) — все требуют бинарник или Python-пакет. Если серверов немного, результат собирается из ~/.ssh/config и десятка строк bash. #!/usr/bin/env bash set -euo pipefail hosts=$(awk '/^Host / && $2 !~ /\*/ {print $2}' ~/.ssh/config) for h in $hosts; do sess=$(ssh -o ConnectTimeout=2 "$h" tmux ls 2>/dev/null || true) [ -n "$sess" ] && printf "%-15s %s\n" "$h" "$sess" done Подключение — через fzf: target=$(bash list.sh | fzf | awk '{print $1}') [ -n "$target" ] && ssh -t "$target" tmux attach Нет SQLite-кэша и git-статуса — на десятке хостов опрос занимает пару секунд. Разрастётся до полусотни — смысл смотреть на ws. ...

9 июля 2026 г. · llexa

tmux-session managers: чем отличаются аналоги tmux-workbench

У tmux-workbench (ws) есть соседи по нише — но ни один не индексирует сессии сразу на нескольких серверах через SSH с git-контекстом. tmuxinator — YAML-сессии, но шаблон, не живые tmuxp — то же самое, локально, без TUI tmux-resurrect — save/restore, локально, плагин sesh — TUI+fzf, локально, без SSH/git smug — YAML-команды, без remote-индекса Все решают часть задачи — сохранить сессию или быстро переключиться fzf’ом. SQLite-индекс сразу по всем серверам с git-веткой и dirty-статусом — фича, которой здесь больше ни у кого нет. ...

8 июля 2026 г. · llexa

tmux-workbench: ws — менеджер сессий с индексом по всем серверам

tmux-workbench (команда ws) — TUI на Rust для управления tmux-сессиями не только локально, но и на удалённых серверах через SSH, с индексом в SQLite вместо разбора вывода tmux list-sessions на лету. ws scan # проиндексировать сессии ws attach prod/api # подключиться к сессии на сервере ws list --server prod --status active Для каждой сессии хранится: сервер, директория, git-ветка и статус (dirty, ahead/behind), наличие CLAUDE.md/AGENTS.md. Фильтры в TUI: server:prod tag:backend git:dirty. Стек: Rust + ratatui + rusqlite, установка через cargo install или install.sh. ...

7 июля 2026 г. · llexa