Linux の実行ファイルからリモート画像まで
rdp-cli のダウンロードから Windows RDP への接続、実際の画面確認までを説明します。対象は 0.1.0 です。既存のリリース記録では x86_64 ビルド 2026092203 が 10 システム、ARM64 ビルド 2026092301 が Raspberry Pi 4 と DGX Spark を含む 12 環境でソフトウェア検証を通過しました。この記事は新しいテストでも、全 Linux ディストリビューションの検証宣言でもありません。
アーキテクチャを選んでファイルを検証する
rdp-cli を実行する Linux コンピューターで確認します。
uname -m
x86_64 ならダウンロードページで Linux x86_64、aarch64 なら Linux ARM64 を選びます。ARM CPU でも 32 ビット OS はこの ARM64 版の対象外です。macOS を使う Mac には macOS パッケージが必要です。実行に必要なのは実行ファイルだけで、別添のソース・ライセンス資料は不要です。
実行前に、SHA-256 の出力を同じアーキテクチャのダウンロード詳細と照合します。x86_64:
sha256sum ./rdp-cli-linux-x86_64
ハッシュ値が一致したことを確認してから、実行権限を付けてバージョンを確認します。
chmod u+x ./rdp-cli-linux-x86_64
./rdp-cli-linux-x86_64 --version
ARM64:
sha256sum ./rdp-cli-linux-arm64
ハッシュ値が一致したことを確認してから、実行権限を付けてバージョンを確認します。
chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --version
--version は JSON のバージョン情報を返します。単体の静的 ELF なので一般ユーザーで実行でき、管理者によるインストールは不要です。ネイティブビューアーは既存デスクトップの表示サービスを使います。検証済み範囲をすべてのデスクトップ、カーネル、音声デバイスに広げて解釈しないでください。
Bash で接続する
Windows 側で RDP が有効で、アカウントにリモートログイン権限があり、この Linux から目的のネットワークや VPN 経由で到達できる必要があります。クライアントの導入だけでは Windows のサービスは有効になりません。
実行ファイルのディレクトリから Bash で実行します。ARM64 は先頭行を rdp_cli=./rdp-cli-linux-arm64 に変更します。192.0.2.20 と USER を許可された接続先とアカウントに置き換えます。入力したパスワードは表示されません。
rdp_cli=./rdp-cli-linux-x86_64
IFS= read -r -s -p 'Password: ' rdp_password
printf '\n'
printf '%s' "$rdp_password" | "$rdp_cli" connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password
以降も同じシェルで rdp_cli 変数を使います。パイプはパスワードを送った後、標準入力を閉じます。ドメインアカウントには --domain DOMAIN を追加でき、複数のパスワード指定は併用できません。RDP の現在の既定は --cert-policy ignore です。connect --help を読み、環境に合う証明書検証を設定してください。証明書設定は到達不能や不正な資格情報を解決しません。
JSON を読み、失敗なら error.code と error.message、成功なら返された data.session を確認し、SESSION として保存します。
状態と最初の PNG を確認する
"$rdp_cli" status --session SESSION
"$rdp_cli" screenshot --session SESSION --out first-screen.png
接続・制御状態を確認し、画像ツールで first-screen.png を開いて次の操作を決めます。接続済みでもログイン、ようこそ画面、処理中のアプリが表示される場合があります。画像応答の data.observation を、その画像に基づく入力のために保存します。永続的なセッション ID ではありません。
画面取得や入力にローカルウィンドウは不要です。人が Linux デスクトップで同じセッションを見たい場合は次を使います。
"$rdp_cli" watch --session SESSION --viewer window
ウィンドウは読み取り専用で開始し、制御取得は明示操作です。読み取り専用ウィンドウを閉じても接続は残ります。制御中のビューアーが失われると入力は停止したままになります。再接続や引き継ぎ後は新しい画像と制御状態を確認します。
エラーの原因を分けて確認する
- 実行形式が違う:
uname -mとダウンロードしたアーキテクチャを比較します。x86_64 と ARM64 は交換できません。 - 実行権限がない: 実行ビットとファイルシステムの実行許可を確認します。適切なユーザーディレクトリを選び、権限昇格で代用しないでください。
- 接続・認証エラー: 経路、ポート、Windows RDP サービス、アカウント権限、戻り値を確認します。パスワードを繰り返したり、無関係なエラーで古い TLS を有効にしないでください。
- デスクトップがなく
SDL_INIT_FAILED: ネイティブ表示には表示セッションが必要です。ヘッドレス CLI の画像取得は使えます。ビューアーだけの失敗を RDP 接続失敗とみなさないでください。 CREDENTIAL_STORE_FAILED: 保存済み資格情報にはホストの Secret Service を使います。利用できなければ--password-stdinなど適切な対応方式を使い、保存成功とは記録しません。
クイックスタート、コマンドリファレンス、RDP ファイル送受信へ進めます。ファイル交換にはサーバーのドライブリダイレクトとファイル権限も必要です。