从 Linux 程序到第一张远端截图
本文带你下载 rdp-cli、连接 Windows RDP 并检查真实桌面。适用版本为 0.1.0,依据现有发布证据:Linux x86_64 构建 2026092203 已通过十系统软件验收,ARM64 构建 2026092301 已通过含树莓派 4 和 DGX Spark 的十二环境验收。本文不是新增一次实测,也不代表所有 Linux 发行版均已验证。
选择架构并核验文件
在将要运行 rdp-cli 的 Linux 电脑上执行:
uname -m
结果为 x86_64 时,从下载页选择 Linux x86_64;为 aarch64 时选择 Linux ARM64。ARM 硬件运行 32 位系统不属于此 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,可由普通用户运行,不需要管理员安装;原生查看窗口仍使用当前 Linux 桌面的显示服务。已验证范围不能扩大为所有桌面、内核或音频设备均通过验收。
从 Bash 连接
远端 Windows 必须已启用 RDP、允许该账号远程登录,且本机通过预定网络或 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,供后续依据该画面的输入使用;它不是永久会话标识。
截图和输入命令不要求本机窗口。人想在 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 文件上传与下载。文件交换还需要服务端允许驱动器重定向及调用者文件权限。