tmux
Tmux (Terminal Multiplexer) permite que sessões de terminal sejam executadas independentemente da janela ou conexão SSH que as iniciou. Para usuários do Spck CLI isso significa que você pode manter sessões ativas entre reconexões, compartilhar uma sessão de agente em execução entre o desktop e o mobile, e executar a CLI persistentemente em um servidor remoto mesmo após a conexão SSH cair.
Instalação
brew install tmux
Ubuntu / Debian
sudo apt-get install tmux
Fedora / RHEL
sudo dnf install tmux
Arch Linux
sudo pacman -S tmux
O Tmux é executado nativamente no Linux. No Windows, use o Subsistema Windows para Linux (WSL) e depois instale o tmux dentro do WSL.
Passo 1 — Instalar o WSL (PowerShell como Administrador):
wsl --install
Passo 2 — Abrir um terminal WSL e instalar o tmux:
sudo apt-get install tmux
Caso de uso 1: Compartilhando sessões de agente entre desktop e mobile
O fluxo de trabalho mais poderoso do tmux com Spck CLI é iniciar um agente de codificação IA no seu desktop e retomá-lo perfeitamente pelo mobile — ou o contrário. Ambos veem exatamente o mesmo estado do terminal, incluindo o histórico de rolagem completo.
💡 Dica: Se você está usando um agente compatível com ACP (Claude Code, Codex, Gemini CLI), pode controlá-lo a partir do Chat de IA do Spck Editor sem precisar compartilhar um terminal. Veja Agentes de IA no Mobile (ACP) — tmux ainda é útil para agentes baseados em shell ou quando você quiser ver a saída bruta do agente ao vivo entre dispositivos.
Iniciar uma sessão no desktop
Crie uma sessão tmux com nome:
tmux new -s code
Inicie seu agente IA dentro da sessão:
claude
O agente é executado dentro do tmux. Desanexe a qualquer momento pressionando Ctrl+B e depois D — a sessão e tudo o que está sendo executado nela continua em segundo plano.
Conectar pelo mobile
- Abra o Spck Editor e conecte-se ao seu servidor CLI
- Abra um terminal no painel de terminal do Spck Editor
- Anexe-se à sessão tmux em execução:
tmux attach -t code
Você vê exatamente o mesmo terminal que no desktop — incluindo o agente em execução, sua saída e o histórico de rolagem completo. Vários clientes podem se conectar simultaneamente e ver a saída ao vivo.
Voltar para o desktop
Reconecte-se de qualquer terminal a qualquer momento:
tmux attach -t code
Caso de uso 2: CLI persistente em um servidor remoto
Se você executa o Spck CLI em um servidor remoto via SSH, a CLI para assim que a sessão SSH termina — seja porque você fecha o notebook, perde o Wi-Fi ou a conexão expira. O Tmux mantém o processo ativo no servidor independentemente do estado da sua conexão.
Configuração no servidor remoto
Conecte-se ao servidor via SSH e inicie uma sessão tmux com nome antes de iniciar a CLI:
ssh [email protected]
tmux new -s spck
spck
A CLI agora está sendo executada dentro do tmux no servidor. Feche a conexão SSH — ou perca-a completamente — e a CLI continua rodando.
Reconectar após desconexão
ssh [email protected]
tmux attach -t spck
A CLI retoma exatamente de onde parou. Os clientes mobile podem se reconectar normalmente pelo servidor relay.
Listar sessões em execução
tmux ls
Alternativa: Serviço Linux
Para uma configuração totalmente automatizada que inicia a CLI no boot sem nenhum gerenciamento manual do tmux, execute o Spck CLI como um serviço systemd.
Criar o arquivo de serviço
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
Substitua your-username e /path/to/your/project pelos seus valores reais. Se você instalou o spck globalmente (npm install -g spck), substitua ExecStart pela saída de which spck.
Habilitar e iniciar
sudo systemctl daemon-reload
sudo systemctl enable spck-cli
sudo systemctl start spck-cli
Verificar status e logs
# Ver status
sudo systemctl status spck-cli
# Acompanhar logs ao vivo
journalctl -u spck-cli -f
O serviço inicia automaticamente em cada reinicialização e reinicia sozinho se o processo travar.
Comandos essenciais do Tmux
| Comando | Ação |
|---|---|
tmux new -s name |
Criar uma nova sessão com nome |
tmux attach -t name |
Anexar a uma sessão existente |
tmux ls |
Listar todas as sessões |
tmux kill-session -t name |
Encerrar uma sessão |
| Ctrl+B, D | Desanexar da sessão (continua em execução) |
| Ctrl+B, C | Criar uma nova janela |
| Ctrl+B, N | Mudar para a próxima janela |
| Ctrl+B, P | Mudar para a janela anterior |
| Ctrl+B, [ | Entrar no modo de rolagem (teclas de seta / PgUp / PgDn) |
| Q | Sair do modo de rolagem |