使用 xrdp 的 Ubuntu 远程桌面速度很慢

使用 xrdp 的 Ubuntu 远程桌面速度很慢

我已经创建了一个具有以下规格的 Azure 虚拟机:

  • Ubuntu 18.04 LTS
  • F16s_v2 标准(16 vCPU 和 32 GiB RAM)
  • SSD 单元

由于我需要通过远程桌面连接,因此我遵循本指南安装 xfce 和 xrdp。完成后,我使用 Microsoft 远程桌面连接到服务器,但我发现交互速度非常慢。我不认为问题出在我的互联网连接上,因为:

  1. 通过连接到其他 Azure Windows VM,我没有遇到同样的问题;
  2. 我请一位同事在家里做一个测试,他也遇到了同样的问题;

可能是什么问题呢?

答案1

我正在使用带有 KDE 的 xrdp,这些合成器设置似乎有很大帮助:

scale method: crisp
rendering backend: OpenGL 2.0
Tearing prevention: Only when cheap
Keep window thumbnail: never
Allow options to block composting: yes

xrdp headless vm 的 KDE 合成器设置

编辑:为了清晰起见,更新一下,这些值位于 KDE 的设置管理器中Desktop Effects -> Compositor。它们不是特定于客户端的。示例是修改服务器的桌面环境设置以“简化”它们。

由于 XRDP 通过 RDP 协议将服务器的桌面传送到您的客户端,因此如果 XRDP 要发送的数据较少,则远程桌面的响应速度会更快。

有一个关于客户端的问题 - 就我当时使用的客户端而言,我确定它是 KRDC 和 Windows RDP 客户端。除了在 KRDC 中将窗口设为全屏并将客户端设为原始分辨率(这样我就可以将其设为单独的虚拟桌面)之外,我不记得修改过客户端上的任何默认设置。

此外,还有另一种回应,关于减少/消除 RDP 流中的默认加密应该非常有助于降低整个过程从端到端的 CPU 密集程度,如果您的环境允许的话。

希望这可以帮助。

答案2

我安装了 Ubuntu 服务器 XRDP。使用 Windows 时速度非常慢。我解决了这个问题。在/etc/xrdp/xrdp.ini文件中,更改crypt_level=highcrypt_level=None

答案3

我禁用了合成器,如下所建议: https://github.com/neutrinolabs/xrdp/issues/501#issuecomment-262905321

您好,我在 xfce 和 ubuntu 16.04 上也遇到了同样的问题。我在 xfce windows 设置中禁用了合成器。现在它工作正常。

它做了一个巨大的差异,现在一切正常。

答案4

经过大量研究后,我通过以下设置获得了良好的性能:

xfce4
xorgxrdp-glamor

在 /etc/xrdp/sesman.ini 和 /etc/xrdp/xrdp.ini 中:

Policy=UBDI
max_bpp=16
xserverbpp=16
use_compression = yes
crypt_level=none
KillDisconnected=true
DisconnectedTimeLimit=0
tcp_send_buffer_bytes=4194304

调整 TCP(2 倍请求缓冲区大小):

sudo sysctl -w net.core.wmem_max=8388608

https://github.com/neutrinolabs/xrdp/issues/1483

禁用合成器:

xfconf-query -c xfwm4 -p /general/use_compositing -t bool -s false

相关内容