windows 11远程桌面连Ubuntu GNOME 远程登录频繁断开

现象

使用 Windows 11 远程桌面连接 Ubuntu 26.04 的 GNOME 远程桌面服务时,连接可建立,但几分钟后总是报"内部错误"并断开。

bash 复制代码
[10:25:19:112] [ERROR][com.freerdp.core.rdp] - Received invalid TPKT header length 604, 218 bytes too long!
[10:25:19:247] [WARN][com.freerdp.core.peer] - Unexpected client message in state CONNECTION_STATE_FINALIZATION_FONT_LIST, missing flag FINALIZE_CS_FONT_LIST_PDU [0x00000100]
[RDP] Sending server redirection
[10:25:20:341] [ERROR][com.freerdp.core.peer] - rdp_set_error_info: ERRINFO_LOGOFF_BY_USER [0x0001000C]
[RDP] Network or intentional disconnect, stopping session
[10:25:20:342] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned an error: error:80000020:system library::Broken pipe
g_atomic_ref_count_dec: assertion 'old_value > 0' failed

日志解读

  1. TPKT 头异常:收到的 RDP 数据包 TPKT 头声称长度为 604 字节,实际多出 218 字节,数据解析错位。
  2. 字体列表协商失败 :在 CONNECTION_STATE_FINALIZATION_FONT_LIST 阶段,客户端未提供预期的 FINALIZE_CS_FONT_LIST_PDU 标志,FreeRDP 服务端无法处理。
  3. 误判用户注销 :协议状态异常被错误映射为 ERRINFO_LOGOFF_BY_USER,服务端主动终止连接,触发 Broken pipe

根本原因是 Windows 11 RDP 客户端开启字体平滑后,发送的字体列表数据与 GNOME 远程桌面使用的 FreeRDP 服务端不兼容,协商失败导致连接被强行关闭。

解决方案

在 Windows 远程桌面客户端中降低连接速度预设,禁用字体平滑等高级视觉效果,避免协议冲突。

操作步骤:

  • 打开远程桌面连接 → 点击"显示选项"。
  • 在"体验"选项卡中,将"连接速度"从"自动检测"改为 "调制解调器(56 Kbps)""低速宽带(256 Kbps - 2 Mbps)"
  • 连接目标主机。

设置后字体平滑、桌面背景等功能会被自动禁用,但连接稳定性得到保证。验证时可观察日志是否不再出现 FINALIZE_CS_FONT_LIST_PDU 错误,会话是否保持不断。

相关推荐
咕白m6252 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
云技纵横3 小时前
@Transactional 里套 REQUIRES_NEW,为什么会把连接池耗尽?
后端·面试
tcdos3 小时前
不止扫码 — 微信生态深度融合(登录 + 支付 + 消息)
后端·微信小程序
程序员cxuan3 小时前
Anthropic 大面积封号,连大 V 都忍不了开喷了。
人工智能·后端·程序员
MacroZheng3 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
PinkSun3 小时前
平台线程池用了3年很顺手,换成虚拟线程后我后悔了
后端
达达尼昂3 小时前
Claude : 如何设计可控的agent-loops
前端·人工智能·后端
lambdax3 小时前
Celery 心跳任务内存膨胀排查与修复全记录
后端
SamDeepThinking3 小时前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试