コンテンツにスキップ
Dashboard

ターミナルセッション

SnapVM のターミナルは、マシン内のエージェントが公開する PTY にブラウザ UI から接続する仕組みです。

  1. ブラウザが SnapVM API にマシンへの認可済みアクセスを要求します。
  2. コンソールがターミナルゲートウェイ経由で WebSocket 接続を開きます。
  3. ゲートウェイがマシン内のエージェントへ到達します。
  4. エージェントが PTY セッションを開始または既存セッションへ接続します。
  5. ターミナルの入出力がブラウザとセッション間でストリーミングされます。

プロダクトで切り替えが提供されている場合、ターミナル UI は xterm.js や実験的なレンダラを利用できます。

ブラウザが切断されても、セッションがすぐ破棄されるとは限りません。ターミナルを開き直すと同じセッションに attach し、作業を続けられます。直近の出力はバッファから再生されるため、文脈を失いにくくなります。

これはハイバネーションとは別です。ランタイムがスリープするとインメモリのプロセスは停止する場合があります。自動復帰させたいプロセスにはサービスを使います。

有効な場合、複数のブラウザタブが同じセッションに attach できます。同じセッションに接続している全員が同じ出力を見て、同じシェルへ入力します。

ペア作業、デモ、サポートに便利です。独立した作業には別セッションを作成し、履歴やプロセス状態の衝突を避けてください。

1 つのマシンで複数のセッションを使えます。用途ごとに分けると扱いやすくなります。

  • 開発コマンド用
  • ログ確認用
  • データベース確認用
  • 一時的な実験用

最大セッション数はデプロイで制限される場合があります。

ターミナルとサービスの使い分け

Section titled “ターミナルとサービスの使い分け”
ワークロード適したもの
ツールのインストールターミナル
ファイル編集ターミナルまたは Code Server
ログ確認ターミナル
一時的な開発サーバーターミナル
復帰後もサーバーを動かすサービス
エージェントを自動起動するサービス
失敗時に再起動するサービス