Linux Virtual Delivery Agent

マルチモニターのサポート

概要

Linux VDAは、モニターあたり2560×1600のデフォルト解像度で、既製のマルチモニターサポートを提供します。標準VDAは最大9台のモニターをサポートし、HDX™ 3D Pro VDAは最大4台のモニターをサポートします。

この記事では、異なるモニター解像度とレイアウトに合わせてLinux VDAを構成する方法について説明します。

仮想セッションデスクトップ

Windows VDAと同様に、Linux VDAにはマルチモニター仮想デスクトップの概念があります。これは、すべてのモニターの境界矩形に基づいており、モニターの実際のレイアウトに基づくものではありません。したがって、仮想デスクトップの領域は、理論上、クライアントのモニターがカバーする領域よりも大きくなる可能性があります。

  • マルチモニターのレイアウト

仮想セッションデスクトップのサイズ

仮想セッションデスクトップの原点は、すべてのモニターの境界矩形の左上隅から計算されます。その点はX = 0、Y = 0に位置し、XとYはそれぞれ水平軸と垂直軸です。

仮想セッションデスクトップの幅は、原点からすべてのモニターの境界矩形の右上隅までのピクセル単位の水平距離です。

同様に、仮想セッションデスクトップの高さは、原点からすべてのモニターの境界矩形の左下隅までのピクセル単位の垂直距離です。

この計算は、以下の理由から重要です。

  • 異なるクライアントモニターレイアウトへの対応
  • Linux VDAでのメモリ使用量の理解

異なるクライアントモニター構成への対応

さまざまなクライアントモニター構成における仮想デスクトップの最大サイズを知ることで、Linux VDAをクライアントモニター構成に関して柔軟に対応できるように構成できます。

次のクライアントモニター構成を検討してください。

クライアントモニター構成 1

上記の図は、それぞれ2560×1600の解像度を持つ2台のモニターを備えた、既製のマルチモニター構成を示しています。

次に、次のクライアントモニター構成で同じLinux VDAに接続することを検討してください。

  • クライアントモニター構成 2

  • 上記の図の各モニターが2560×1600の解像度を持つ場合、既製のマルチモニター構成パラメーターでは不十分です。このモニターレイアウトの仮想セッションデスクトップを収容するには、最大高さが小さすぎます。この例のクライアントモニター構成に対応するには、Linux VDA仮想デスクトップのサイズを4160×2560に設定する必要があります。

マルチモニター構成で最大限の柔軟性を得るには、サポートしたいすべてのモニターレイアウトの最小境界矩形を見つけます。2台の2560×1600モニター構成の場合、可能なレイアウトは次のとおりです。

  • Monitor1 2560×1600およびMonitor2 2560×1600
  • Monitor1 1600×2560およびMonitor2 2560×1600
  • Monitor1 2560×1600およびMonitor2 1600×2560
  • Monitor1 1600×2560およびMonitor2 1600×2560

上記のすべてのレイアウトに対応するには、5120×2560の仮想セッションデスクトップが必要です。これは、目的のすべてのレイアウトを収容できる最小の境界矩形です。

すべてのユーザーが標準的な横向きレイアウトで1台のモニターしか持っていない場合は、仮想デスクトップの最大サイズをモニターの最高解像度に設定します。

モニターが1台のみ

  • この例では、仮想デスクトップのサイズを2560×1600に設定する必要があります。デフォルト構成は5120×1600で2台のモニターであるため、シングルモニター展開のメモリ使用量を最適化するには構成変更が必要です。

注:

マルチモニター設定でデスクトップが不適切な解像度で表示される場合は、Citrix WorkspaceアプリでDPI (Dots Per Inch) 設定を調整してください。詳細については、Knowledge Centerの記事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 は、標準VDAの場合は1~9、HDX 3D Pro VDAの場合は1~4の間の値です。

次を使用して仮想セッションデスクトップの最大幅を設定します。

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

ここで、MaxWidth1,02416,384の間の値です。

次を使用して仮想セッションデスクトップの最大高さを設定します。

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

ここで、MaxHeight1,02416,384の間の値です。

マルチモニターのサポート