Linux仮想配信エージェント 2411

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

概要

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モニター構成の場合、可能なレイアウトは次のとおりです。

  • モニター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(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

    デフォルト: 4

    最大: 標準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の間の値です。

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