tmux
Tmux (Terminal Multiplexer) memungkinkan sesi terminal berjalan secara independen dari jendela atau koneksi SSH yang memulainya. Bagi pengguna Spck CLI, ini berarti Anda dapat menjaga sesi tetap aktif saat koneksi terputus, berbagi sesi agen yang sedang berjalan antara desktop dan perangkat mobile, serta menjalankan CLI secara persisten di server jarak jauh meskipun koneksi SSH Anda terputus.
Instalasi
brew install tmux
Ubuntu / Debian
sudo apt-get install tmux
Fedora / RHEL
sudo dnf install tmux
Arch Linux
sudo pacman -S tmux
Tmux berjalan secara native di Linux. Di Windows, gunakan Windows Subsystem for Linux (WSL), lalu instal tmux di dalam WSL.
Langkah 1 — Instal WSL (PowerShell sebagai Administrator):
wsl --install
Langkah 2 — Buka terminal WSL dan instal tmux:
sudo apt-get install tmux
Kasus Penggunaan 1: Berbagi Sesi Agen Antara Desktop dan Mobile
Alur kerja tmux paling powerful bersama Spck CLI adalah memulai agen coding AI di desktop Anda dan melanjutkannya secara mulus dari perangkat mobile — atau sebaliknya. Keduanya melihat kondisi terminal yang persis sama termasuk riwayat gulir lengkap.
💡 Tip: Jika Anda menggunakan agen yang kompatibel dengan ACP (Claude Code, Codex, Gemini CLI), Anda dapat menjalankannya dari AI Chat Spck Editor tanpa berbagi terminal sama sekali. Lihat Agen AI Coding di Mobile (ACP) — tmux tetap berguna untuk agen berbasis shell atau ketika Anda ingin melihat output mentah agen secara live di seluruh perangkat.
Memulai Sesi di Desktop
Buat sesi tmux bernama:
tmux new -s code
Jalankan agen AI di dalam sesi:
claude
Agen berjalan di dalam tmux. Lepaskan koneksi kapan saja dengan menekan Ctrl+B lalu D — sesi dan semua yang berjalan di dalamnya terus berjalan di latar belakang.
Menghubungkan dari Mobile
- Buka Spck Editor dan hubungkan ke server CLI Anda
- Buka terminal dari panel terminal Spck Editor
- Hubungkan ke sesi tmux yang sedang berjalan:
tmux attach -t code
Anda melihat terminal yang persis sama seperti di desktop — termasuk agen yang berjalan, outputnya, dan riwayat gulir lengkap. Beberapa klien dapat terhubung secara bersamaan dan melihat output langsung.
Kembali ke Desktop
Hubungkan kembali dari terminal mana pun kapan saja:
tmux attach -t code
Kasus Penggunaan 2: CLI Persisten di Server Jarak Jauh
Jika Anda menjalankan Spck CLI di server jarak jauh melalui SSH, CLI akan berhenti saat sesi SSH berakhir — baik karena Anda menutup laptop, kehilangan Wi-Fi, maupun koneksi yang timeout. Tmux menjaga proses tetap berjalan di server terlepas dari kondisi koneksi Anda.
Pengaturan di Server Jarak Jauh
SSH ke server Anda dan mulai sesi tmux bernama sebelum menjalankan CLI:
ssh [email protected]
tmux new -s spck
spck
CLI sekarang berjalan di dalam tmux di server. Tutup koneksi SSH — atau putuskan sepenuhnya — dan CLI tetap berjalan.
Menghubungkan Kembali Setelah Terputus
ssh [email protected]
tmux attach -t spck
CLI melanjutkan tepat di mana ia berhenti. Klien mobile dapat terhubung kembali melalui server relay seperti biasa.
Menampilkan Daftar Sesi yang Berjalan
tmux ls
Alternatif: Layanan Linux
Untuk pengaturan yang sepenuhnya otomatis yang memulai CLI saat boot tanpa manajemen tmux manual apa pun, jalankan Spck CLI sebagai layanan systemd.
Membuat File Layanan
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
Ganti your-username dan /path/to/your/project dengan nilai Anda yang sebenarnya. Jika Anda menginstal spck secara global (npm install -g spck), ganti ExecStart dengan output dari which spck.
Mengaktifkan dan Memulai
sudo systemctl daemon-reload
sudo systemctl enable spck-cli
sudo systemctl start spck-cli
Memeriksa Status dan Log
# Lihat status
sudo systemctl status spck-cli
# Ikuti log langsung
journalctl -u spck-cli -f
Layanan mulai otomatis setiap kali reboot dan memulai ulang sendiri jika proses mengalami crash.
Perintah Tmux Penting
| Perintah | Aksi |
|---|---|
tmux new -s name |
Membuat sesi bernama baru |
tmux attach -t name |
Menghubungkan ke sesi yang sudah ada |
tmux ls |
Menampilkan semua sesi |
tmux kill-session -t name |
Menghentikan sesi |
| Ctrl+B, D | Melepaskan dari sesi (tetap berjalan) |
| Ctrl+B, C | Membuat jendela baru |
| Ctrl+B, N | Beralih ke jendela berikutnya |
| Ctrl+B, P | Beralih ke jendela sebelumnya |
| Ctrl+B, [ | Masuk mode gulir (tombol panah / PgUp / PgDn) |
| Q | Keluar dari mode gulir |