tmux
Tmux (терминальный мультиплексор) позволяет сессиям терминала работать независимо от окна или SSH-соединения, которое их запустило. Для пользователей Spck CLI это означает возможность сохранять сессии при переподключениях, передавать запущенную сессию агента между десктопом и мобильным устройством, а также постоянно держать CLI запущенной на удалённом сервере даже после разрыва SSH-соединения.
Установка
brew install tmux
Ubuntu / Debian
sudo apt-get install tmux
Fedora / RHEL
sudo dnf install tmux
Arch Linux
sudo pacman -S tmux
Tmux работает нативно на Linux. В Windows используйте Подсистему Windows для Linux (WSL), а затем установите tmux внутри WSL.
Шаг 1 — Установите WSL (PowerShell с правами администратора):
wsl --install
Шаг 2 — Откройте терминал WSL и установите tmux:
sudo apt-get install tmux
Сценарий 1: Общий доступ к сессиям агента между десктопом и мобильным устройством
Самый мощный рабочий процесс tmux со Spck CLI — запустить агента ИИ для написания кода на десктопе и продолжить работу с мобильного устройства, или наоборот. Оба клиента видят абсолютно одинаковое состояние терминала, включая полную историю прокрутки.
💡 Совет: Если вы используете ACP-совместимого агента (Claude Code, Codex, Gemini CLI), вы можете управлять им из ИИ-чата Spck Editor вообще без общего терминала. См. ИИ-агенты для кода на мобильных устройствах (ACP) — tmux по-прежнему полезен для shell-агентов или когда вы хотите следить за сырым выводом агента в реальном времени между устройствами.
Запуск сессии на десктопе
Создайте именованную сессию tmux:
tmux new -s code
Запустите агента ИИ внутри сессии:
claude
Агент работает внутри tmux. Отсоединитесь в любой момент, нажав Ctrl+B, затем D — сессия и всё, что в ней выполняется, продолжит работу в фоне.
Подключение с мобильного устройства
- Откройте Spck Editor и подключитесь к серверу CLI
- Откройте терминал из панели терминала Spck Editor
- Присоединитесь к запущенной сессии tmux:
tmux attach -t code
Вы увидите ровно тот же терминал, что и на десктопе — включая запущенного агента, его вывод и полную историю прокрутки. Несколько клиентов могут подключаться одновременно и видеть вывод в реальном времени.
Возврат на десктоп
Переподключитесь с любого терминала в любое время:
tmux attach -t code
Сценарий 2: Постоянная работа CLI на удалённом сервере
Если вы запускаете Spck CLI на удалённом сервере через SSH, CLI останавливается в момент завершения SSH-сессии — при закрытии ноутбука, потере Wi-Fi или истечении таймаута соединения. Tmux удерживает процесс запущенным на сервере вне зависимости от состояния соединения.
Настройка на удалённом сервере
Подключитесь к серверу по SSH и запустите именованную сессию tmux перед запуском CLI:
ssh [email protected]
tmux new -s spck
spck
CLI теперь работает внутри tmux на сервере. Закройте SSH-соединение или полностью потеряйте его — CLI продолжит работу.
Переподключение после разрыва соединения
ssh [email protected]
tmux attach -t spck
CLI возобновляет работу ровно с того места, где остановилась. Мобильные клиенты могут переподключаться через relay-сервер в обычном режиме.
Список активных сессий
tmux ls
Альтернатива: Linux-служба
Для полностью автоматизированной настройки, при которой CLI запускается при загрузке без ручного управления tmux, запустите Spck CLI как службу systemd.
Создание файла службы
sudo nano /etc/systemd/system/spck-cli.service
[Unit]
Description=Spck CLI Server
After=network.target
[Service]
Type=simple
User=your-username
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/npx spck
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Замените your-username и /path/to/your/project на реальные значения. Если spck установлен глобально (npm install -g spck), замените ExecStart на вывод команды which spck.
Включение и запуск
sudo systemctl daemon-reload
sudo systemctl enable spck-cli
sudo systemctl start spck-cli
Проверка статуса и журналов
# Просмотр статуса
sudo systemctl status spck-cli
# Слежение за журналом в реальном времени
journalctl -u spck-cli -f
Служба запускается автоматически при каждой перезагрузке и перезапускается при сбое процесса.
Основные команды Tmux
| Команда | Действие |
|---|---|
tmux new -s name |
Создать новую именованную сессию |
tmux attach -t name |
Присоединиться к существующей сессии |
tmux ls |
Вывести список всех сессий |
tmux kill-session -t name |
Завершить сессию |
| Ctrl+B, D | Отсоединиться от сессии (продолжает работу) |
| Ctrl+B, C | Создать новое окно |
| Ctrl+B, N | Перейти к следующему окну |
| Ctrl+B, P | Перейти к предыдущему окну |
| Ctrl+B, [ | Войти в режим прокрутки (стрелки / PgUp / PgDn) |
| Q | Выйти из режима прокрутки |