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に設定する必要があります。

マルチモニター構成で最大の柔軟性を得るには、サポートしようとしているすべてのモニターレイアウトの最小の外接四角形を見つけます。2560×1600のモニターを2台使用する構成では、以下のようなレイアウトが考えられます。

  • モニター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の仮想セッションデスクトップが必要です。これは、希望するすべてのレイアウトを収容できる最小の外接四角形になります。

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

1台のみのモニター

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

注:

マルチモニター設定でデスクトップが不適切な解像度で表示される場合は、Citrix WorkspaceアプリでDPI値(インチあたりのドット数)の設定を調整します。詳細については、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 = 3MB

各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-->

ここでの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の値になります。

マルチモニターサポート