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 会话窗口的颜色深度。该值以字节而不是位为单位,因此 32 位颜色使用 4。

注意:

X 服务器的颜色深度在会话的整个生命周期内(从登录到断开连接/重新连接,直到注销)开始且无法更改。因此,Linux VDA 始终将虚拟会话桌面分配为 32 位,并向下采样到会话请求的颜色深度。

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

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

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

请考虑以下客户端显示器配置:

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

如果每个显示器的分辨率均为 2560×1600,则为适应此客户端显示器配置,虚拟桌面大小需要为 5120×3200。请注意,灰色区域未使用,相当于 16,384,000 (即 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

    默认值: 5,120

    最大值: 16,384 (8,192 x 2)

  • MaxFbHeight

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

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

    类型: DWORD

    默认值: 1,600

    最大值: 16,384 (8,192 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 VDA)。

使用以下命令设置虚拟会话桌面的最大宽度:

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 之间的值。

多显示器支持