エージェントと人が同じセッションを使う
rdp-cli を使うと、AI エージェントがコマンドで Linux アプリの画面を見て操作できます。画面を取得し、その画面をもとに操作して、次の画面で結果を確認します。人はネイティブウィンドウや許可された Web ビューアーを開き、同じセッションの監視、一時停止、操作の引き継ぎができます。
許可済みの接続先を準備する
Linux 側には既存の SSH 接続手段と、インストール済みの X11 対応アプリが必要です。例のアドレス、ユーザー、秘密鍵のパス、別途確認済みの known-hosts ファイルを置き換えてください。Windows PowerShell では rdp-cli を .\rdp-cli.exe に置き換えます。--version の embedded_ssh、x11_desktop、x11_application がすべて true であることを確認します。
アプリを単独で開く
この例では、rdp-cli 内蔵の独立した表示環境で既存の Gedit を開きます。ローカルのビューアーは自動で開きません。応答の data.session を保存し、以下の SESSION に使います。通常のデスクトップが Wayland のホストでも、X11 対応アプリはこの方法で転送できます。
rdp-cli connect --protocol x11 --mode application --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --application /usr/bin/gedit --app-args '["--standalone","--new-window"]'
既存の X11 デスクトップに接続する場合
実際の display と既存の認証ファイルのパスを指定します。SSH ユーザーにはその display へのアクセス権が必要です。SSH 認証の成功だけでは、デスクトップへのアクセスは許可されません。このモードは既存のデスクトップに接続し、別のログインセッションは作りません。
rdp-cli connect --protocol x11 --mode desktop --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --display DISPLAY --xauthority XAUTHORITY_PATH
画面を確認してから操作する
返された PNG を確認し、data.observation を保存します。X、Y を画像内の実際の座標に置き換えます。入力欄を選択した後にもう一度画面を取得し、新しいトークンを使います。明示的なクリップボード入力はリモート側のクリップボードを置き換え、手元のクリップボードは変えません。入力応答は送信の確認なので、その後の画面も確認してください。
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png
rdp-cli linux text --session SESSION --method clipboard --text '確認が完了しました。' --observation OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
成果のファイルを回収する
アップロード結果の remote_path を Linux アプリで開き、編集、保存してから結果をダウンロードします。各 transfer_id を保存し、completed になるまで待ってください。転送前にファイルを保存します。同名ファイルは標準では上書きしません。失敗時には、繰り返す前にタスクの状態を確認します。
FILE_ROOT を、この SSH アカウントで読み書きできる既存のリモートディレクトリに置き換えてください。ファイル操作の範囲はそのディレクトリ内です。指定してもディレクトリは作成されず、権限も追加されません。
rdp-cli files list --session SESSION
rdp-cli files upload --session SESSION --local ./report.txt --path report.txt
rdp-cli files status --session SESSION --transfer-id UPLOAD_TRANSFER
rdp-cli files download --session SESSION --path report.txt --local ./result.txt
rdp-cli files status --session SESSION --transfer-id DOWNLOAD_TRANSFER
人が作業を引き継ぐ
画面を見たいときにビューアーを開きます。最初は読み取り専用です。操作を引き継ぐとエージェントの入力が止まり、修正後に操作を返すと同じ作業を続行できます。許可された Web ビューアーも同じセッションに参加し、人による操作権を持てるのは一つのビューアーだけです。読み取り専用のビューアーを閉じても接続は維持されます。
rdp-cli watch --session SESSION --viewer window
プロトコルの範囲を確認する
ネイティブ X11 は音声再生やマイクのリダイレクトを提供しません。Wayland デスクトップ全体への接続には、設定済みの互換 RDP または VNC エンドポイントが必要で、実際にネゴシエートされた機能を使います。rdp-cli はリモートサービスをインストール、有効化しません。表示接続の切断や喪失でアプリが終了する場合があるため、先に保存してください。自動再起動やワークスペースの保持は想定しないでください。
Wayland の文字入力は既存のサーバーに依存します。GNOME 46 と Krfb 23.08 では一部の Unicode キーを変換できない場合があるため、入力結果を確認してください。クリップボードからの明示的な貼り付けは、その接続先で実際に動作する場合に使います。Plasma Wayland の Krfb はクリップボード対応を通知してもアプリに内容を渡さない場合があります。複雑な入力や連続操作は小さな手順に分け、次のスクリーンショットで確認してください。
実測済みデスクトップ接続先: Ubuntu 24.04.5 · GNOME 46 / GNOME Remote Desktop 46.3; KDE Plasma 5.27.12 / Krfb 23.08.5.