Linux Virtual Delivery Agent

多显示器支持

概述

Linux VDA 提供开箱即用的多显示器支持,每个显示器的默认分辨率为 2560×1600。标准 VDA 最多支持九个显示器,HDX 3D Pro VDA 最多支持四个显示器。

本文介绍了如何针对不同的显示器分辨率和布局配置 Linux VDA。

虚拟会话桌面

与 Windows VDA 一样,Linux VDA 具有多显示器虚拟桌面的概念。它基于所有显示器的边框,而非显示器的实际布局。因此,从理论上讲,虚拟桌面的区域可以大于客户端显示器所覆盖的区域。

多显示器布局

虚拟会话桌面大小

虚拟会话桌面的原点是根据所有显示器的边框的左上角计算得出的。该点位于 X = 0, Y = 0 位置,其中 X 和 Y 分别是横轴和竖轴。

虚拟会话桌面的宽度是指从所有显示器的边框的原点到右上角的水平距离(以像素为单位)。

同样,虚拟会话桌面的高度是指从所有显示器的边框的原点到左下角的垂直距离(以像素为单位)

此计算非常重要,原因如下:

  • 允许不同的客户端显示器布局
  • 了解 Linux VDA 上的内存使用情况

允许不同的客户端显示器配置

通过了解各种客户端显示器配置的最大虚拟桌面大小,您可以配置 Linux VDA,使其在客户端显示器配置方面更加灵活。

请注意以下客户端监视器配置:

客户端显示器配置 1

上图显示了开箱即用的多显示器配置,其中包含两个显示器,每个显示器的分辨率为 2560×1600。

现在,请考虑使用以下客户端显示器配置连接到同一个 Linux VDA:

客户端显示器配置 2

如果上图中每个显示器的分辨率均为 2560×1600,开箱即用的多显示器配置参数将不足。最大高度太小,无法容纳此显示器布局的虚拟会话桌面。要适应本示例中的客户端显示器配置,必须将 Linux VDA 虚拟桌面的大小设置为 4160×2560。

要在多显示器配置中获得最大的灵活性,请在要支持的所有显示器布局中找到最小的边框。对于包含两个 2560×1600 显示器的配置,可能的布局包括:

  • 显示器 1 2560×1600 和显示器 2 2560×1600
  • 显示器 1 1600×2560 和显示器 2 2560×1600
  • 显示器 1 2560×1600 和显示器 2 1600×2560
  • 显示器 1 1600×2560 和显示器 2 1600×2560

要适应上述所有布局,您需要一个 5120×2560 的虚拟会话桌面。它是可以包含所有所需布局的最小边框。

如果所有用户在典型的横向布局中只有一个显示器,请将最大虚拟桌面大小设置为显示器的最高分辨率。

只有一个显示器

在此示例中,需要将虚拟桌面的大小设置为 2560×1600。由于默认配置为 5120×1600 和 2 个显示器,因此需要更改配置以优化单显示器部署的内存使用情况。

注意:

如果在多显示器设置中桌面显示分辨率不正确,请在 Citrix Workspace 应用程序中调整每英寸点数 (DPI) 设置。有关详细信息,请参阅知识中心文章 CTX230017

了解 Linux VDA 上的内存使用情况

通过了解虚拟桌面的大小,您可以计算每个 HDX 会话使用的内存量。此内存是指会话开始时分配给每个会话用来保存图形数据的内存。在会话的生命周期中,此内存的大小不变。虽然此内存不是会话使用的内存总量,但它是计算每个会话内存使用量的最简单的方法。

要计算分配给每个 HDX 会话的内存量,请使用以下公式:

M = X × Y × Z

其中:

  • M 为用于会话图形的内存量。
  • X 为虚拟会话桌面的宽度。
  • Y 为虚拟会话桌面的高度。
  • Z 为 HDX 会话窗口的颜色深度。该值以字节为单位,而不是以位为单位,因此使用 4 表示 32 位颜色。

注意:

X 服务器的颜色深度会启动,但不会随着会话的生命周期而改变(从登录到断开连接/重新连接,直至注销)。因此,Linux VDA 始终将虚拟会话桌面分配为 32 位,并根据会话请求的颜色深度向下采样。

例如,对于 1024×768 会话,使用的内存为:

1024 × 768 × 4 / 2^20 MB = 3 MB

了解内存使用情况对于提高每个 Linux VDA 上的会话密度非常重要。

请注意以下客户端监视器配置:

浪费内存的客户端显示器配置示例

如果每个显示器的分辨率为 2560×1600,为了适应此客户端显示器配置,虚拟会话桌面大小必须为 5120×3200。请注意,灰色区域未使用,相当于 16384000(即 2560 x 1600 x 4)字节的内存浪费量。

Citrix 多显示器配置参数

可以使用以下配置参数控制 Linux VDA 的多显示器功能:

  • MaxScreenNum

    参数: HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Citrix/Thinwire/MaxScreenNum

    说明: 要支持的显示器数量

    类型: DWORD

    默认值: 2

    最大值: 标准 VDA 为 9,HDX 3D Pro VDA 为 4

  • MaxFbWidth

    参数: HKEY_LOCAL_MACHINE /System/CurrentControlSet/Control/Citrix/Thinwire/MaxFbWidth

    说明: 虚拟会话桌面的最大宽度

    类型: DWORD

    默认值: 5120

    最大值: 16384 (8192 x 2)

  • MaxFbHeight

    参数: HKEY_LOCAL_MACHINE /System/CurrentControlSet/Control/Citrix/Thinwire/MaxFbHeight

    说明: 虚拟会话桌面的最大高度

    类型: DWORD

    默认值: 1600

    最大值: 16384 (8192 x 2)

更改 Linux VDA 多显示器配置

以下部分概述了如何在 Linux VDA 上启用、配置和禁用多显示器功能。

请使用以下方法设置显示器的最大数量:

sudo ctxreg create -k " HKEY_LOCAL_MACHINE \System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "MaxScreenNum" -d "NumMons" --force
<!--NeedCopy-->

其中 NumMons 为介于 1 到 9(适用于标准 VDA )或 1 和 4(适用于 HDX 3D Pro VD)之间的值。

请使用以下方法设置虚拟会话桌面的最大宽度:

sudo ctxreg create -k " HKEY_LOCAL_MACHINE \System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "MaxFbWidth" -d " MaxWidth" --force
<!--NeedCopy-->

其中 MaxWidth 为介于 1,02416,384 之间的值。

请使用以下方法设置虚拟会话桌面的最大高度:

sudo ctxreg create -k " HKEY_LOCAL_MACHINE \System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "MaxFbHeight" -d " MaxHeight" --force
<!--NeedCopy-->

其中 MaxHeight 为介于 1,02416,384 之间的值。

多显示器支持