Ubuntu Xfce经Windows 10的xrdp远程连接帧率极低的优化咨询
优化XRDP+Xfce4远程连接速度的可行方案
我之前帮朋友排查过几乎一模一样的场景——Ubuntu虚拟机跑Xfce4,VPN+RDP连接卡顿,只能通过SSH和RDP操作,原生桌面反而正常。结合当时的解决经验,给你列几个实打实的优化方案,都是能通过Putty SSH直接操作的:
1. 调整XRDP核心配置,减少加密与数据量
XRDP默认的加密和画质设置在VPN环境下会造成双重开销,直接修改配置文件优化:
- 编辑XRDP主配置:
sudo nano /etc/xrdp/xrdp.ini - 找到
[xrdp1]段落,修改以下参数:crypt_level=low(VPN已经加密,无需高强度加密;如果信任网络环境,甚至可以设为none)max_bpp=16(降低色彩深度,24/32位在带宽有限时会大幅增加传输量)bitmap_compression=yes(开启位图压缩,减少画面数据体积)- 新增或修改
tcp_nodelay=yes(减少网络延迟)
- 保存退出后重启XRDP服务:
sudo systemctl restart xrdp
2. 轻量化Xfce4桌面环境,降低画面渲染压力
Xfce4的默认特效会增加远程桌面的画面更新量,通过SSH直接禁用:
- 关闭窗口 compositor(最影响流畅度的设置):
xfconf-query -c xfwm4 -p /general/use_compositing -s false - 关闭不必要的桌面特效:
# 关闭窗口阴影 xfconf-query -c xfwm4 -p /general/shadow -s false # 关闭窗口关闭动画 xfconf-query -c xfwm4 -p /general/animate_close -s false # 关闭窗口最大化/最小化动画 xfconf-query -c xfwm4 -p /general/animate_maximize -s false - 如果你不需要桌面图标,甚至可以禁用桌面图标服务:
sudo systemctl stop xfce4-desktop(需要时再启动)
3. 优化XRDP会话启动逻辑,避免冗余加载
XRDP默认的会话启动脚本可能会加载不必要的服务,调整启动命令:
- 编辑会话启动脚本:
sudo nano /etc/xrdp/startwm.sh - 找到最后一行的
startxfce4,替换为更简洁的启动命令:exec xfce4-session - 同时在脚本开头添加一行,强制使用X11会话(避免Wayland兼容性问题):
export XDG_SESSION_TYPE=x11 - 保存后重启XRDP服务:
sudo systemctl restart xrdp
4. 调整Windows RDP客户端设置,减少传输负载
除了服务器端,客户端的设置也能大幅改善卡顿:
- 打开Windows远程桌面连接,点击显示选项卡:
- 将“颜色质量”改为16位
- 适当降低“显示配置”的分辨率(比如1024x768,根据需求调整)
- 点击体验选项卡:
- 根据VPN的实际带宽选择对应的连接速度(比如“调制解调器(56Kbps)”或“宽带(1Mbps-10Mbps)”)
- 取消勾选“桌面背景”、“字体平滑”、“桌面组合”、“显示窗口内容”这些非必要选项
5. 关闭不必要的系统进程,释放资源
有时候后台进程占用过多CPU/内存也会导致卡顿,通过SSH排查:
- 查看资源占用:
top(按P按CPU排序,M按内存排序) - 杀掉不必要的进程(比如后台更新、闲置的图形程序):
sudo killall [进程名](比如sudo killall update-manager)
6. 禁用XRDP音频重定向(如果不需要)
音频传输会占用额外带宽,若不需要远程音频,直接关闭:
- 编辑
/etc/xrdp/xrdp.ini,找到enable_audio=false(如果没有就添加) - 重启XRDP服务生效
这些方案我当时按顺序试下来,卡顿问题基本解决了,建议你从客户端设置和Xfce轻量化开始,因为见效最快,再逐步调整XRDP配置。
内容的提问来源于stack exchange,提问作者cfcorp
相关产品推荐
相关产品推荐

