tmux

Tmux(ターミナルマルチプレクサー)を使うと、ターミナルセッションをそれを起動したウィンドウやSSH接続から独立して実行し続けることができます。Spck CLIユーザーにとっては、再接続をまたいでセッションを維持したり、実行中のエージェントセッションをデスクトップとモバイルの間で共有したり、SSHセッションが切れた後もリモートサーバーでCLIを継続実行したりできることを意味します。

インストール

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 Subsystem for Linux (WSL)を使用し、WSL内にtmuxをインストールしてください。

手順1 — WSLをインストールする(管理者としてPowerShellを実行):

wsl --install

手順2 — WSLターミナルを開いてtmuxをインストールする:

sudo apt-get install tmux

ユースケース1: デスクトップとモバイル間でエージェントセッションを共有する

Spck CLIとtmuxを組み合わせた最も強力なワークフローは、デスクトップでAIコーディングエージェントを起動し、モバイルからシームレスに引き継ぐことです(またはその逆)。どちらも完全なスクロールバック履歴を含む、まったく同じターミナル状態を見ることができます。

💡 ヒント: ACP 互換のエージェント (Claude Code、Codex、Gemini CLI) を使用している場合、ターミナルを共有することなく Spck Editor の AI チャットから操作できます。モバイルでの AI コーディングエージェント (ACP) を参照してください — tmux はシェルベースのエージェントやエージェントの生出力をデバイス間でリアルタイムで確認したい場合に依然として便利です。

デスクトップでセッションを開始する

名前付きtmuxセッションを作成します:

tmux new -s code

セッション内でAIエージェントを起動します:

claude

エージェントはtmux内で実行されます。Ctrl+B を押してから D を押すといつでもデタッチできます — セッションとその中で実行されているものはすべてバックグラウンドで継続します。

モバイルから接続する

  1. Spck Editorを開き、CLIサーバーに接続します
  2. Spck Editorのターミナルパネルからターミナルを開きます
  3. 実行中のtmuxセッションにアタッチします:
tmux attach -t code

デスクトップとまったく同じターミナルが表示されます — 実行中のエージェント、その出力、完全なスクロールバック履歴も含めて。複数のクライアントが同時にアタッチしてライブ出力を見ることができます。

デスクトップに戻る

いつでも任意のターミナルから再接続できます:

tmux attach -t code

ユースケース2: リモートサーバーで継続的にCLIを実行する

SSHでリモートサーバー上でSpck CLIを実行している場合、SSHセッションが終了した瞬間にCLIも停止します — ラップトップを閉じても、Wi-Fiが切れても、タイムアウトしても同様です。Tmuxは接続状態に関わらずサーバー上でプロセスを実行し続けます。

リモートサーバーでの設定

サーバーにSSH接続し、CLIを起動する前に名前付きtmuxセッションを開始します:

ssh [email protected]
tmux new -s spck
spck

CLIがサーバー上のtmux内で実行されます。SSH接続を閉じても、完全に切断されても、CLIは実行し続けます。

切断後に再接続する

ssh [email protected]
tmux attach -t spck

CLIは中断したところからそのまま再開します。モバイルクライアントはリレーサーバー経由で通常通り再接続できます。

実行中のセッションを一覧表示する

tmux ls

代替手段: Linuxサービス

tmuxの手動管理なしに起動時に自動でCLIを開始する完全自動化されたセットアップには、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)、ExecStartwhich 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 スクロールモードを終了