完成簡單的遠端編輯任務
連線至既有 VNC 桌面,在空白文件輸入一行文字,再用新的螢幕擷取核對。本文依據 rdp-cli 0.1.0 與 2026 年 9 月既有驗收資料整理,不宣稱本次重新實測。9 月 20 日的 Mac 流程使用真實 Ubuntu 24.04 / TigerVNC 1.13.1 桌面與 xterm;後續 Linux 驗收也包含需認證的 TigerVNC。下文文字是教學範例,並非重播任一測試工作階段。
準備伺服器與用戶端
下載適合本機的版本,按快速入門完成安裝。遠端必須已有網路可達的 VNC 伺服器,而你具備觀看及控制權限。在遠端文字編輯器準備空白文件。rdp-cli 不會安裝伺服器,也不提供 AI 模型。
VNC 預設使用連接埠 5900 與密碼認證。目前支援的安全模式不加密桌面傳輸,請使用可信網路或 VPN。傳統 VNC 認證僅使用密碼前八個 UTF-8 位元組。不要加入 RDP 專用的 --user、--domain、顯示配置或憑證選項。
明確選擇 VNC 通訊協定
替換範例位址與連接埠。macOS 或 Linux 請用 Bash 執行;Mac 使用者可先執行 bash。Linux 中將 rdp-cli 改為已安裝命令或正確架構的執行檔路徑。
IFS= read -r -s -p 'Password: ' vnc_password
printf '\n'
printf '%s' "$vnc_password" | rdp-cli connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
unset vnc_password
Windows 請在 EXE 目錄使用 PowerShell:
$secret = Read-Host 'Password' -AsSecureString
$savedEncoding = $OutputEncoding
try {
$OutputEncoding = [System.Text.UTF8Encoding]::new($false)
[System.Net.NetworkCredential]::new('', $secret).Password |
.\rdp-cli.exe connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
} finally {
$OutputEncoding = $savedEncoding
$secret.Dispose()
}
讀取 JSON,把 data.session 儲存為 SESSION,檢查 ok 與可能的 error.code。連線失敗不應偷偷切換認證方式。--vnc-security none 僅用於明確設定為無認證的伺服器,必須顯式指定,且不能同時提供密碼來源。既有的 --credential-ref 可取代 --password-stdin,不能再加一種密碼來源。
觀察、操作,再核對
後續 Windows 命令請將 rdp-cli 改為 .\rdp-cli.exe;Linux 繼續使用正確執行檔路徑。
rdp-cli status --session SESSION
rdp-cli screenshot --session SESSION --out vnc-before.png
讀取 vnc-before.png,確認目標桌面與編輯器,將畫面回應的 data.observation 儲存為 OBSERVATION。檢查狀態回應中的通訊協定、連線與控制狀態。依當前畫面選擇文件的實際遠端座標 X、Y:
rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-focused.png
讀取 vnc-focused.png 確認焦點,將該回應的 data.observation 用作 NEW_OBSERVATION:
rdp-cli type --session SESSION --text "VNC command check" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-after.png
開啟 vnc-after.png,核對 “VNC command check” 是否完整出現在指定文件。輸入成功傳送不代表應用程式接受了內容。不要照抄範例座標,也不要在尺寸、連線或控制狀態改變後沿用舊觀察權杖。
按需觀看與復原
本機檢視器是選用功能。人要觀看同一工作階段時執行:
rdp-cli watch --session SESSION --viewer window
檢視器預設唯讀。暫停、接管與交還都需明確操作;輸入暫停或由人控制時,Agent 必須停止輸入。重新連線與伺服器尺寸變更會使觀察權杖失效,控制也會維持暫停。經授權恢復前,先重新擷取並閱讀畫面。
連線失敗時核對位址、連接埠、伺服器認證與網路,讀取錯誤,不要反覆嘗試密碼。文字不符時檢查焦點、遠端鍵盤配置與輸入法,再核對新畫面。VNC Unicode 事件不保證任意伺服器及應用程式都能接受所有字元。輸入結果不明時先查畫面與原操作,再決定是否重試。
了解 VNC 限制
VNC 可用共同的畫面擷取、輸入與觀看流程,但沒有交換磁碟檔案、音效、麥克風或用戶端要求的顯示配置;這些操作會回傳 CAPABILITY_UNAVAILABLE。UTF-8 剪貼簿須協商得到 clipboard_utf8,否則只支援 Latin-1。開啟檢視器不會補上通訊協定缺少的能力。