Files
Nexus/docs/reports/2026-06-10-rdp-black-screen-root-cause.md
T
r 9c9a51263c chore: 本地快照 — 终端 UI、服务器 site_url、后台任务与 Agent 导航
汇总未提交工作区:Servers 列表 site_url 链接、终端页与选机器 UI、SSH 连通性与 Telegram 通知、agent/offline/unset_path 后台调度与 gate_ai_review 门控;更新 AGENTS 与 agent-exploration 规则(仅本机 commit);同步 web/app 构建产物与相关文档。
2026-06-18 06:01:50 +08:00

2.6 KiB
Raw Blame History

RDP 浏览器黑屏 / 连接超时 — 根因定位 (2026-06-10)

结论(确定)

Nexus 侧(前端 + 后端 + guacd 链路)全部正常;黑屏来自 RDP 目标主机本身。

guacd 直连解码证明:RDP 目标 20.189.75.225(用户 azureuserwindwos)在 NLA 认证成功后, 回传的 1024×768 主画面 PNG 是纯黑nonblack=0, maxsum=0),只附带鼠标指针等极小白色缓存图块。 这是 Windows/Azure 典型的「RDP 登录后黑屏(仅有鼠标指针)」现象。

证据链

检查项 方法 结果
guacd 握手 security=any / security=nla ready(握手成功)
凭据有效性 security=nla(错误凭据必失败) 握手成功 → 凭据正确azureuserwindwos 非拼写错误
帧转发 WS 长连接探针 100s frames=108 sync=5
ping 回显(防超时) 内部空操作码 0.,4.ping,<ts> 每秒 ping_echo=100, max_gap=1.0s → 不会触发 90s 超时
主画面像素 直连 guacd 解码 img/blob PNG 1024x768 nonblack=0 maxsum=0(纯黑)
小图块 同上 41x39/11x16 纯白(指针/字形缓存)
resize-method=display-update 变体探测等 18s 仍纯黑,无桌面重绘
浏览器端 Playwright 生产 E2E 到达「已连接」+ 1024×768 画布,但像素全黑

「连接超时」说明

前端 tunnelErrorMessageserver timeout → 浏览器 90s 内未收到任何帧。 实测 ping 回显使 max_gap=1.0s,当前线上 bundle 的 E2E 直接到达「已连接」而非超时。 故该提示是更早旧缓存版本的现象;当前版本能连上,仅表现为黑屏。

修复方向(在 RDP 目标 Windows VM 上,Nexus 无法代为修改)

按命中概率排序:

  1. 关闭 WDDM 远程显示驱动(最常见修复)
    gpedit.msc → 计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 远程会话环境 → 「将 WDDM 图形显示驱动程序用于远程桌面连接」= 已禁用 → 重启。
  2. 重启该 VM(Azure 门户:重启 / 重新部署 redeploy)。
  3. 检查是否有残留断开会话占用 console;或登录脚本/应用全屏绘黑。
  4. Azure 门户「运行命令」重启 explorer.exe 或图形栈。

复现 / 诊断脚本

  • scripts/guacd_rdp_probe.py — 直连 guacd,解码主画面 PNG 判黑屏
  • scripts/guacd_rdp_variant.pyVARIANT=nla|resize|plain 切换参数变体
  • scripts/rdp_ws_sync_check.py — 经 WS 长连接,统计 ping 回显与帧间隔