ドキュメント
コマンドラインクライアント
vtermc はコマンドラインクライアントです。サーバーに接続してターミナルセッションを作成・アタッチし、保存済みサーバーリストを管理します。すべて素のターミナル内から、SSH 越しに、あるいはヘッドレスマシン上で利用できます。デスクトップクライアントと ~/.vibeterminal/client.json を共有するため、両者が同じサーバーを見ます。
ターミナルの起動
モードフラグなしで vtermc を実行すると、ローカルサーバー(デフォルト wss://localhost:7878)上に検出されたシェルで新しいターミナルを作成し、現在のターミナルにストリーミングします。リモートシェル内で exit(または Ctrl+D)を入力するとセッションを終了します。
セッションはサーバー上に存在します。接続が切れても — ネットワーク断、ウィンドウを閉じる、vtermc を kill — セッションは動作し続け、後から vtermc -s で再アタッチできます。
vtermc -p <id>— 特定のターミナルプロファイルで起動(プロファイル一覧は Web UI のProfilesセクションにあります);vtermc -p— プロファイル ID なし:サーバーのプロファイルを対話的に一覧表示します;vtermc -w <dir>— 新しいセッションの作業ディレクトリを設定します。
stdin がターミナルでない(パイプやファイル)場合、vtermc はバッチモードに切り替わります:stdin はセッションに送られ、セッションが閉じるまで出力がストリーミングされます。スクリプトやエージェントからの利用に便利です:
echo "make test" | vtermc
サーバーへの接続
--server wss://host:port— ローカルではなく特定のサーバーに接続(IPv6 アドレスは括弧で:wss://[fd00::1]:7878)。VTERM_SERVER環境変数で同じデフォルトを設定できます;- ハンドシェイクはサーバーのシークレットキーで応答されます:
-a/-sで追加したサーバーはclient.json内にキーを保持します。ローカルサーバーはTERMINAL_GUI_SECRET_KEY環境変数(またはserver.json内の平文キー)にフォールバックします。
サーバーの追加
-a はサーバーを client.json に保存して終了します。ターミナルは開きません。2 つの方法があります:
vtermc -a— 対話式プロンプト:Server name、Server address、Secret key。アドレスはwss://host:portである必要があります(不正入力は再プロンプト、空のアドレスでキャンセル)。空の名前はアドレスにフォールバックします;vtermc -a "vtshare1:..."— 暗号化された共有文字列を貼り付け。Web UI のServerセクションでペアリングQR Codeをクリックするとクリップボードにコピーされます。vtermcが復号し、名前・アドレス・シークレットキーを自動入力します。
知っておくと良い詳細:
- 既存のアドレスを再追加すると、エントリが複製されるのではなくその場で更新されます(id は保持);
- ローカルアドレスは拒否されます —
Localは暗黙に常に利用可能で、エントリは不要です; - エントリはデスクトップクライアントの Server Manager にも表示されます。
サーバーとセッションの選択
vtermc -s は 2 つの全画面ピッカーを開きます(対話型ターミナルが必要です):
- サーバーリスト — 最初に
Local、次に管理下のすべてのサーバーがName (address)形式で。矢印キーまたはj/kで移動、数字でジャンプ、Enterで選択、qでキャンセル; - ターミナルリスト — 最初に
New Terminal、次にそのサーバーの稼働中セッション(作業ディレクトリ、タイトル、所有サーバー付き)。既存セッションにアタッチするか、新規作成します(その場合、通常のvtermc実行と同様に-p/-wが尊重されます)。
アタッチしてもセッションは中断されません。アタッチ間もサーバー上で動作し続けます。
サーバーの削除
サーバーリストで管理下のサーバーに移動して d を押すと、行が赤くなり確認が求められます。y(または Enter)で client.json からエントリを削除、他のキーで中止します。Local は削除できません。
環境変数
新しいセッションはシェルから固定のセットを継承します — PATH、HOME、USER、SHELL、TERM、WT_PROFILE_ID、PSMODULEPATH:
--env-inherit <patterns>— カンマ区切りリスト(またはVTERM_ENV_INHERIT環境変数)。*ワイルドカード対応;-e VAR=VALUE— 追加の変数を注入(繰り返し可);--no-env— 継承変数なしでセッションを開始します。
vtermc -w ~/project -e RUST_LOG=debug --env-inherit "PATH,HOME,TERM"
すべてのオプション
-p, --profile [<ID>] ターミナルプロファイルを選択(省略時は対話的に一覧)
-w, --working-dir <DIR> 作業ディレクトリを設定
-s, --select サーバーと既存ターミナルを対話的に選択
-a, --add [<SHARE>] サーバーを追加(vtshare1: 共有文字列、または対話式)
--server <URL> サーバーの WebSocket URL [env: VTERM_SERVER]
-e, --env <VAR=VALUE> 追加の環境変数
--no-env 環境変数を継承しない
--env-inherit <PATTERNS> 継承する環境変数パターン [env: VTERM_ENV_INHERIT]