最適化

環境を最適化することで、Citrix Receiverのパフォーマンスおよびユーザーエクスペリエンスを向上させることができます。次のことを実行することで、パフォーマンスを向上させて最適化できます:

ユーザーデバイスのマッピング

Citrix Receiverは、XenAppおよびXenDesktopサーバーへの接続に対してクライアントデバイスのマッピングをサポートします。クライアントデバイスのマッピングによって、サーバー上で実行しているリモートアプリケーションから、ローカルのユーザーデバイスに接続しているデバイスにアクセスできるようになります。ユーザーデバイスのユーザーには、アプリケーションやシステムなどのリソースがローカルで実行されているように表示されます。クライアントデバイスのマッピングを実行する前に、サーバーでこの機能をサポートしていることを確認してください。

:SELinux(Security-Enhanced Linux)のセキュリティモジュールにより、XenAppおよびXenDesktopのクライアント側ドライブのマッピング機能とUSBリダイレクト機能が正しく動作しなくなることがあります。これらの機能を使用する場合は、サーバー上でこれらの機能を構成する前にSELinuxを無効にしてください。

クライアント側ドライブのマッピング

クライアント側ドライブのマッピング機能により、XenAppまたはXenDesktopサーバーのドライブ文字をローカルユーザーデバイスにあるディレクトリにリダイレクトできます。たとえば、Citrixユーザーセッション内で表示されるHドライブにアクセスしたときに、ローカルユーザーデバイスの特定のディレクトリにリダイレクトされるように設定できます。

クライアントドライブマッピングにより、CD-ROM、DVD、またはUSBメモリスティックなど、セッションにおいてユーザーが使用できるローカルユーザーデバイスにマウントされた任意のディレクトリに、ローカルユーザーがアクセスする権限を提供できます。サーバーでクライアント側ドライブのマッピングが許可されている場合、ユーザーはセッション内で各自のローカルファイルを読み込んで、再びローカルドライブに保存したり、サーバーのドライブに保存したりできます。

2種類のドライブマッピングを実行できます。

  • 静的なクライアントドライブマッピングでは、ログオン時にユーザーデバイスの任意のファイルシステムがサーバー上の特定のドライブ文字にマップされるように設定できます。たとえば、ユーザーのホームディレクトリや/tmpディレクトリのすべてまたは一部分や、CD-ROM、DVD、またはUSBメモリスティックなどのハードウェアデバイスのマウントポイントをマップできます。
  • 動的なクライアントドライブマッピングでは、CD-ROMドライブ、DVDドライブ、USBメモリスティックなどのハードウェアデバイスがマウントされるユーザーデバイス上のディレクトリが監視されます。セッション内で追加した新しいデバイスが、サーバーで使用可能な最初のドライブ文字に自動的にマップされます。

クライアント側デバイスのマッピングを無効にしない限り、Citrix ReceiverがXenAppやXenDesktopに再接続したときに、マッピングが再確立されます。ポリシーを使用すると、クライアント側デバイスのマッピングを詳細に制御できます。詳しくは、XenAppおよびXenDesktopのドキュメントを参照してください。

ユーザーがドライブマッピングを設定するときは、[環境設定]ダイアログボックスを使用します。

注:デフォルトでは、静的なクライアントドライブマッピングを有効にすると自動的に動的なクライアントドライブマッピングも有効になります。静的なクライアントドライブマッピングを有効にして動的なクライアントドライブマッピングを無効にするには、wfclient.iniでDynamicCDMにFalseを設定します。

クライアントプリンターマッピング

Citrix Receiverは、ネットワークプリンターおよびユーザーデバイスにローカルで接続されているプリンターへの出力をサポートします。デフォルトでは、ポリシーを作成して変更しない限り、XenAppにより次のことを実行できます。

  • ユーザーデバイスからアクセス可能なすべてのプリントデバイスに出力する
  • プリンターを追加する

ただし、これらの設定はすべての環境に対して最適な設定とはならない可能性があります。たとえば、ユーザーデバイスからアクセスできるすべてのプリンターへの出力が可能なデフォルトの設定は、最も管理しやすい設定です。ただし、この設定は一部の環境ではログオンに時間がかかる要因となる可能性があります。このような状況では、ユーザーデバイス上で構成されたプリンターの一覧に制限するようにします。

このように、組織のセキュリティポリシーによってはローカルプリンターポートのマッピングをやめる必要があるものがあります。これを行うには、サーバーのICAポリシーで[クライアントCOMポートを自動接続する]設定で[無効]を選択します。

ユーザーデバイス上で構成されたプリンターの一覧を制限するには

  1. 次のいずれかの場所にある構成ファイル(wfclient.ini)を開きます。

    • $HOME/.ICAClient(1人のユーザーに対してプリンターを制限する場合)
    • $ICAROOT/config(すべてのReceiverユーザーに対してプリンターを制限する場合)。この場合の「すべてのユーザー」は、変更後にselfserviceプログラムを最初に使用したユーザーです。
  2. [WFClient]セクションに、次のパラメーターを入力します。

    ClientPrinterList=printer1:printer2:printer3

    ここでprinter1、printer2などは、選択したプリンターの名前です。各プリンターをコロン(:)で区切って指定します。

  3. ファイルを保存して閉じます。

XenApp for Windowsでのクライアントプリンターマッピング

Citrix Receiver for LinuxはCitrix PSユニバーサルプリンタードライバーをサポートします。そのため、通常ネットワークプリンターまたはユーザーデバイスにローカルで接続されているプリンターへの出力をユーザーがローカルで構成する必要はありません。ただし、ユーザーデバイスのプリントソフトウェアがユニバーサルプリンタードライバーをサポートしていない場合などは、XenApp for Windows上でクライアントプリンターを手動でマップすることがあります。

サーバーにローカルプリンターをマップするには

  1. Citrix Receiverでサーバーへのセッションを開始して起動し、XenAppサーバーにログオンします。

  2. [スタート]ボタンをクリックし、[設定]>[プリンター] の順に選択します。

  3. [ファイル]メニューから [プリンターの追加] を選択します。

    プリンターの追加ウィザードが開きます。

  4. ウィザードを使って、クライアントネットワークやクライアントドメインからネットワークプリンターを追加します。通常、これが標準のプリンター名です。標準のプリンター名とは、ネイティブのリモートデスクトップサービスで使用される「セッション3の(クライアント名からの)HP LaserJet 4」などです。

    プリンターの追加について詳しくは、Windowsオペレーティングシステムのドキュメントを参照してください。

XenApp for UNIXでのクライアントプリンターマッピング

UNIX環境では、Citrix Receiverにより定義されたプリンタードライバーは無視されます。ユーザーデバイスのプリントシステムは、アプリケーションにより生成された出力形式を制御できる必要があります。

ユーザーがCitrix XenApp for UNIX(日本語版はリリースされていません)からクライアントプリンターに出力できるようにするには、事前に管理者が印刷機能を有効にしておく必要があります。詳しくは、XenAppおよびXenDesktopの「XenApp for UNIX」を参照してください。

クライアントオーディオマッピング

クライアントオーディオマッピングにより、XenAppサーバー上で実行しているアプリケーションのサウンドを、ユーザーデバイスにインストールされているサウンドデバイスで再生できます。管理者はサーバーで接続ごとに音質レベルを設定できますが、ユーザーもユーザーデバイスで音質レベルを設定できます。ユーザーデバイスとサーバーの音質レベルの設定が異なる場合は、低い方の音質レベルが使用されます。

クライアントオーディオマッピングを使用すると、サーバーとネットワークに大きな負荷がかかります。音質を高くすると、オーディオデータの伝送により多くの帯域幅が必要になります。また高音質にするとサーバーのCPUもより多く使用します。

クライアントオーディオマッピングは、ポリシーを使用して構成します。詳しくは、XenAppおよびXenDesktopのドキュメントを参照してください。

注:クライアントオーディオマッピングは、Citrix XenApp for UNIX(日本語版未発表)に接続する場合はサポートされません。

非デフォルトのオーディオデバイスを設定するには

デフォルトのオーディオデバイスは、一般的にはシステムに対して構成されているデフォルトのALSAデバイスです。次の方法を使って、別のデバイスを指定します。

  1. 変更を適用するユーザーの構成ファイルを選択して開きます。ほかのユーザーに適用される特定の設定ファイルを更新する方法については、「構成ファイルを使ったReceiverのカスタマイズ」を参照してください。
  2. 次のオプションを追加して、必要に応じてセクションを作成します:

[ClientAudio]

AudioDevice = <device>

ここで、デバイス情報は、オペレーティングシステム上のALSA構成ファイルにあります。

注:この情報の場所は、すべてのLinuxオペレーティングシステムでの標準ではありません。この情報の場所について詳しくは、オペレーティングシステムドキュメントを参照してください。

USBサポートの構成

USBサポート機能により、ユーザーが仮想デスクトップ上で作業しているときにさまざまな種類のUSBデバイスを使用できるようになります。ユーザーがコンピューターにUSBデバイスを接続すると、仮想デスクトップ内でそのデバイスを操作できるようになります。この機能では、フラッシュドライブ、スマートフォン、PDA、プリンター、スキャナー、MP3プレーヤー、セキュリティデバイス、およびタブレットなどのUSBデバイスがサポートされます。

USBリダイレクトは、XenApp 7.6(以降)またはXenDesktopを必要とします。XenAppは、大容量記憶装置デバイスのUSBリダイレクトをサポートせず、オーディオデバイスをサポートするには特殊な構成が必要です。詳しくは、XenApp 7.6のドキュメントを参照してください。

Webカメラ、マイク、スピーカー、およびヘッドセットなどのUSBデバイスのアイソクロナス機能は、一般的な高速LAN環境でサポートされます。ただし通常は、標準のオーディオやWebカメラのリダイレクトの方が適しています。

XenDesktopセッションでは次の種類のデバイスは直接サポートされるため、USBサポート機能は使用されません。

  • キーボード
  • マウス
  • スマートカード
  • ヘッドセット
  • Webカメラ

注: 特殊用途のUSBデバイス(Bloombergキーボードや3Dマウスなど)では、USBサポート機能が使用されるように構成できます。そのほかの特殊用途のUSBデバイスのポリシー規則の設定について詳しくは、「 CTX 119722」を参照してください。

デフォルトでは、特定の種類のUSBデバイスがXenDesktopセッションで動作しないように設定されています。たとえば、内部USBでシステムボードに装着されたNICは、リモートで動作する仮想デスクトップでの使用には適しません。次の種類のUSBデバイスは、XenDesktopセッションでの使用をデフォルトでサポートしていません。

  • Bluetoothドングル
  • 統合されたNIC
  • USBハブ

リモート操作可能なUSBデバイスのデフォルトの一覧を更新するには、$ICAROOT/にあるusb.confファイルを変更します。詳しくは、「リモートで実行できるUSBデバイスの一覧の更新」を参照してください。

エンドポイント側のUSBデバイスを仮想デスクトップ内で使用できるようにするには、USBポリシー規則を有効にする必要があります。詳しくは、XenAppおよびXenDesktopのドキュメントを参照してください。

USBサポートのしくみ

ユーザーがエンドポイントにUSBデバイスを接続すると、USBポリシーが照合され、許可されているデバイスであることが認識されると、仮想デスクトップ上で使用可能になります。USBポリシーで拒否されるデバイスは、ローカルのデスクトップ上でのみ使用可能になります。

デスクトップアプライアンスモードを介してアクセスするデスクトップでは、ユーザーがUSBデバイスを接続すると自動的に仮想デスクトップで使用可能になります。USBドライブの制御と表示は、仮想デスクトップにより処理されます。

デスクトップアプライアンスモードが使用中でない限り、ユーザーがリダイレクトを実行するためユーザーデバイスに接続するとき、セッションウィンドウにフォーカスがある必要があります。

大容量記憶装置デバイス

USB大容量記憶装置デバイスがローカルデスクトップに接続されたままユーザーが仮想デスクトップを切断した場合、再接続してもデバイスはその仮想デスクトップに接続されません。大容量記憶装置デバイスが仮想デスクトップに接続されるようにするには、仮想デスクトップへの再接続後にデバイスを一度取り外してから再接続する必要があります。

注: USB大容量記憶装置デバイスのリモートサポートを拒否するように構成されているLinuxワークステーションに大容量記憶装置デバイスを接続すると、Receiverソフトウェアはデバイスを受け入れず、別のLinuxファイルブラウザーが開くことがあります。そのためユーザーデバイス上では、事前にリムーバブルストレージの [メディアが挿入されたら参照する] 設定を無効にしておくことをお勧めします。Debianベースのデバイスでは、Debianメニューバーで [Desktop]>[Preferences]>[Removable Drives and Media] を選択します。[Storage] タブの [Removable Storage][Browse removable media when inserted] のチェックを外します。

注: [クライアントUSBデバイスリダイレクト]サーバーポリシーを有効にすると、クライアントドライブマッピングが有効な場合でも大容量記憶装置デバイスは常にUSBデバイスとして送信されます。

Webカメラ

デフォルトでは、HDX RealTime Webカメラビデオ圧縮機能によりWebカメラのパフォーマンスが最適化されます。ただし一部の環境では、ユーザーがUSBサポート機能を使ってWebカメラを接続しなければならない場合があります。この場合、管理者がHDX RealTime Webカメラビデオ圧縮を無効にする必要があります。詳しくは、「HDX RealTime Webカメラビデオ圧縮を使ったビデオ会議」を参照してください。

デフォルトで許可されるUSBクラス

次のUSBデバイスのクラスは、デフォルトのUSBポリシー規則により許可されます:

  • オーディオ(クラス01)

    マイク、スピーカー、ヘッドセット、およびMIDIコントローラーがあります。

  • 物理的インターフェイス(クラス05)

    このデバイスはHIDに似ていますが、一般的にはリアルタイムの入力またはフィードバックを提供し、フォースフィードバックジョイスティック、モーションプラットフォーム、およびフォースフィードバックエクソスケルトンなどがあります。

  • 静止画(クラス06)

    このクラスのデバイスとして、デジタルカメラおよびスキャナーがあります。ほとんどのデジタルカメラは、画像転送プロトコル(PTP)またはメディア転送プロトコル(MTP)を使ってコンピューターやほかの周辺機器にイメージを転送する静止画クラスをサポートします。カメラは大容量記憶装置としても機能する場合があります。また、カメラ自体のメニューを使っていずれかのクラスを使用するように構成できます。

    カメラがマスストレージデバイスとして機能する場合はクライアントドライブマッピングが使用され、USBサポートは必要ありません。

  • プリンター(クラス07)

    一部のプリンターではベンダー固有のプロトコル(クラスff)が使用されますが、一般的にはこのクラスにほとんどのプリンターが含まれます。マルチ機能プリンターの場合は、USBハブが内蔵されていたり、混合デバイスであったりする場合があります。いずれの場合も、印刷機能では一般的にプリンタークラスが使用され、スキャナーやFAX機能では静止画などの別のクラスが使用されます。

    プリンターは通常、USBサポートなしで適切に動作します。

  • マスストレージデバイス(クラス08)

    最も一般的なマスストレージデバイス(大容量記憶装置)として、USBフラッシュドライブがあります。そのほかには、USB接続のハードドライブ、CD/DVDドライブ、およびSD/MMCカードリーダーがあります。また、メディアプレーヤー、デジタルカメラ、スマートフォンなど、内部ストレージを持つさまざまな種類のデバイスが大容量記憶装置インターフェイスを使用します。既知のサブクラスには次のものが含まれます:

  • 01 制限付きフラッシュデバイス
  • 02 一般的なCD/DVDデバイス(ATAPI/MMC-2)
  • 03 一般的なテープデバイス(QIC-157)
  • 04 一般的なフロッピーディスクドライブ(UFI)
  • 05 一般的なフロッピーディスクドライブ(SFF-8070i)
  • 06 ほとんどの大容量記憶装置デバイスはこのSCSIのバリアントを使用します

    マスストレージデバイスには、クライアントドライブマッピングを介して頻繁にアクセスすることができ、USBサポートは必要ありません。

    重要:ウィルスプログラムの中には、あらゆる種類の大容量記憶装置デバイスを媒体にして活発に増殖するものがあります。クライアントドライブマッピングまたはUSBサポートのいずれかを介して大容量記憶装置デバイスの使用を許可する必要があるか、慎重に検討してください。このリスクを減らすため、クライアントドライブマッピングによりファイルが実行されるのを防ぐようにサーバーを構成することができます。

  • コンテンツセキュリティ(クラス0d)

    通常、ライセンスまたはデジタル権利の管理のためのコンテンツ保護を実行します。このクラスのデバイスとして、ドングルがあります。

  • パーソナルヘルスケア(クラス0f)

    このデバイスには、血圧センサー、心拍数モニター、万歩計、薬剤モニター、肺活量計などの個人用健康器具があります。

  • アプリケーションおよびベンダー固有(クラスfeおよびff)

    多くのデバイスがベンダー独自のプロトコルまたはUSBコンソーシアムで標準化されていないプロトコルを使用しており、これらは通常はベンダー固有(クラスff)として分類されます。

デフォルトで拒否されるUSBデバイスのクラス

次のUSBデバイスのクラスは、デフォルトのUSBポリシー規則により拒否されます。

  • 通信およびCDCコントロール(クラス02および0a)

    モデム、ISDNアダプター、ネットワークアダプター、一部の電話およびFAX機器があります。

    仮想デスクトップ自体への接続にこれらのデバイスのいずれかが使用される場合があるため、デフォルトのUSBポリシーではこれらのデバイスのリモートでの実行は許可されていません。

  • ヒューマンインターフェイスデバイス(クラス03)

    さまざまな種類の入出力デバイスを含みます。一般的なヒューマンインターフェイスデバイス(HID)として、キーボード、マウス、ポインティングデバイス、グラフィックタブレット、センサー、およびゲームのコントローラー、ボタン、およびコントロール機能などがあります。

    Subclass 01は起動インターフェイスクラスと呼ばれ、キーボードおよびマウスで使用されます。

    デフォルトのUSBポリシーはUSBキーボード(クラス03、サブクラス01、プロトコル1)またはUSBマウス(クラス03、サブクラス01、プロトコル2)を許可しません。これは、ほとんどのキーボードとマウスはUSBのサポートを必要とすることなく適切に処理できるためです。通常、こうしたデバイスは仮想デスクトップ内だけでなくローカルでも使用する必要があります。

  • USBハブ(クラス09)

    USBハブにより、追加のデバイスをローカルコンピューターに接続できます。これらのデバイスにリモートでアクセスする必要はありません。

  • スマートカード(クラス0b)

    スマートカードリーダーには、非接触式および接触式のスマートカードリーダーがあり、また埋め込みスマートカード同等チップがあるUSBトークンもあります。

    スマートカードリーダーは、スマートカードサポート機能によりアクセスできるため、USBサポートは必要ありません。

  • ビデオ(クラス0e)

    このクラスのデバイスとして、ビデオ、Webカメラ、デジタルカムコーダー、アナログビデオ変換機、一部のテレビチューナー、およびビデオストリーミングをサポートする一部のデジタルカメラなど、ビデオ関連の機器があります。

    デフォルトでは、HDX RealTime Webカメラビデオ圧縮機能によりWebカメラのパフォーマンスが最適化されます。

  • ワイヤレスコントローラー(クラスe0)

    このクラスのデバイスとして、ウルトラワイドバンドコントローラーやBluetoothなど、さまざまなワイヤレスコントローラーがあります。

    これらのデバイスの中には、重要なネットワークアクセスを提供していたり、Bluetoothキーボードやマウスなどの基幹周辺装置を接続していたりするものがある場合があります。

    デフォルトのUSBポリシーはこれらのデバイスを許可していません。ただし、USBサポートを使ったアクセスに適したデバイスもあります。

リモート操作で使用できるUSBデバイスの一覧の変更

ユーザーデバイスの$ICAROOT/にあるusb.confファイルに含まれるデフォルト規則の一覧を変更して、デスクトップへリモートで実行できるUSBデバイスの範囲を更新できます。

新しいポリシー規則を追加して一覧を更新し、デフォルト範囲に含まれないUSBデバイスを許可または拒否します。この方法により管理者が作成した規則は、どのデバイスがサーバーに提供されるかを制御します。次にサーバー上で規則が、どのデバイスを許可するかを制御します。

デバイスのリモートでの実行を許可しないためのデフォルトポリシー構成は次のとおりです:

DENY: class=09 # Hubデバイス

DENY: class=03 subclass=01 # HID起動デバイス(キーボードとマウス)

DENY: class=0b # スマートカード

DENY: class=e0 # ワイヤレスコントローラー

DENY: class=02 # 通信およびCDC制御

DENY: class=03 # UVC (Webカメラ)

DENY: class=0a # CDCデータ

ALLOW: # 完全なフォールバック:すべてを許可

USBポリシー規則の作成

ヒント:ポリシー規則を作成する場合、次のUSB WebサイトでUSBクラスコードを参照してください: http://www.usb.org/。ユーザーデバイス上のusb.confファイルで指定するポリシー規則は、「{ALLOW:|DENY:}」に次のタグの値をベースとした式セットが付いた形式にします:

タグ 説明
VID デバイス記述子のベンダーID
REL デバイス記述子のリリースID
PID デバイス記述子の製品ID
クラス デバイス記述子またはインターフェイス記述子のクラス
SubClass デバイス記述子またはインターフェイル記述子のサブクラス
Prot デバイス記述子またはインターフェイス記述子のプロトコル

ポリシー規則を作成する場合、以下の点に注意してください:

  • 大文字と小文字は区別されません。
  • 規則の末尾に、「#」で始まる任意のコメントを追加できます。区切り文字は不要で、コメントは無視されます。
  • 空白行およびコメントのみの行は無視されます。
  • 区切りとして使用されるスペースは無視されますが、番号または識別子の間にスペースを入れることはできません。たとえば、Deny: Class=08 SubClass=05は有効な規則ですが、Deny: Class=0 8 Sub Class=05は無効です。
  • タグには等号(=)を使用する必要があります。たとえば、VID=1230とします。

次の例は、ユーザーデバイス上のusb.confファイルのセクションを示しています。これらの規則を実装するには、サーバー上に同じ規則のセットがある必要があります。

ALLOW: VID=1230 PID=0007 # 別のメーカーの別のフラッシュドライブ

DENY: Class=08 SubClass=05 # 大容量記憶装置デバイス

Class=0D # すべてのセキュリティデバイス

スタートアップモードの構成

デスクトップアプライアンスモードを使って、仮想デスクトップを開始したときに既に接続されているクライアント側のUSBデバイスを有効にしたり無効にしたりできます。これを行うには、各ユーザーデバイスで$ICAROOT/config/module.iniファイルを開き、WfClientセクションのDesktopApplianceMode = Booleanを以下のように設定します。

   
TRUE 開始時に接続されているUSBデバイスが使用可能になります。サーバー(レジストリエントリ)またはユーザーデバイス(ポリシールール構成ファイル)のUSBポリシーでデバイスが禁止されていない場合のみ。
FALSE USBデバイスは使用可能になりません。

Bloombergキーボードのリダイレクト

Bloombergキーボードのリダイレクトは、汎用USBリダイレクトで実行できます。

クライアント側で汎用USBリダイレクトを使用してBloomberg v4キーボードを構成するには:

前提条件として、Domain Delivery Controller(DDC)でポリシーが有効になっている必要があります。

  1. Bloombergキーボードのvidおよびpidを見つけます。たとえば、DebianとUbuntuでは次のコマンドを実行します:

    lsusb

  2. $ICAROOTに移動し、usb.confファイルを編集します。

  3. usb.confファイルで以下のエントリを追加し、BloombergキーボードのUSBリダイレクトを許可してから、ファイルを保存します。

    ALLOW: vid=1188 pid=9545

  4. クライアント上でctxusbdデーモンを再起動します。たとえば、DebianとUbuntuでは次のコマンドを実行します:

    systemctl restart ctxusbd

  5. クライアントセッションを起動します。リダイレクトを実行するためにBloomberg v4キーボードに接続する時、セッションにフォーカスがあることを確認します。

狭帯域幅接続でのパフォーマンスの向上

サーバー上ではXenAppまたはXenDesktop、ユーザーデバイスではReceiverのそれぞれ最新バージョンを使用することを推奨します。

帯域幅の狭い接続を使用する場合は、Receiverの構成や使い方を変えてパフォーマンスを向上させることができます。

  • Receiverの接続構成 - Receiverの接続構成を変更することで、ICAで消費される帯域幅を減らしてパフォーマンスを改善できます。
  • Receiverの使用方法 - Receiverの使用方法を変更することで、高いパフォーマンスが求められる接続での消費帯域幅を抑えることができます。
  • UDPオーディオの有効化 - この機能を有効にすると、ネットワークトラフィック負荷の高いVoIP(Voice over IP)接続での遅延レベルが安定します。
  • 最新バージョンのXenAppおよびReceiver for Linuxの使用 - シトリックス製品では、パフォーマンスを向上して機能を拡張するためのバージョンアップが常に行われています。そのため、パフォーマンス関連機能を使用するには、最新のReceiverおよびサーバーソフトウェアが必要である場合も多くあります。

接続の構成

デバイスのプロセッサの処理能力や接続に使用する帯域幅が限られている場合は、使用する機能とパフォーマンスのバランスを考慮する必要があります。ユーザーおよび管理者は、パフォーマンスを低下させずに多くの機能を利用できるように、構成を変更することができます。サーバーまたはユーザーデバイスで次の変更を行うと、接続に必要な帯域幅を減らしてパフォーマンスを向上させることができます。

  • SpeedScreenの有効化 - SpeedScreenを有効にすると、遅延時間の長いネットワーク接続でも、ユーザーの入力やマウスのクリックに対する反応時間が短くなります。この構成は、サーバー上でSpeedScreen管理ツールを使用して行います。Receiverにおいてデフォルトでは、これはキーボード操作に対しては無効になっており、遅延時間の長いネットワーク接続のおけるマウス操作に対してのみ有効です。詳しくは、『Citrix Receiver for Linux OEM’s Reference Guide』を参照してください。
  • データ圧縮の有効化 - データを圧縮すると、接続を介して転送されるデータ量が減少します。これにはデータの圧縮と展開を行うためのプロセッサリソースがさらに必要になりますが、低帯域幅接続でのパフォーマンスを向上させることができます。この機能を有効にするには、Citrixポリシーの[音質]および[イメージ圧縮]設定を使用します。
  • ウィンドウサイズの縮小 - ウィンドウサイズを必要最小限に抑えます。XenApp Servicesサイトで、[セッションオプション]を設定します。
  • 表示色数の変更 - 表示色数を256色に変更します。XenAppおよびXenDesktopサイトで、[セッションオプション]を設定します。
  • 音質の変更 - サウンドのサポート機能を使用する場合は、Citrixポリシーの[音質]設定で音質を下げます。

UDPオーディオの有効化

UDPオーディオ機能を有効にすると、インターネット接続を介した通話品質が向上します。この機能では、TCP(Transmission Control Protocol)の代わりにUDP(User Datagram Protocol)が使用されます。

以下の点に注意してください:

  • 暗号化されたセッション(TLSまたはSecureICAを使用するセッション)では、UDPオーディオを使用できません。このようなセッションでは、TCP上でオーディオデータが転送されます。
  • ICAチャネルの優先度により、UDPオーディオの動作が異なります。
  1. module.iniファイルのClientAudioセクションで、以下のオプションを設定します:
    • EnableUDPAudioに「True」を指定します。デフォルトでは「False」が設定されており、UDPオーディオが無効になります。
    • UDPAudioPortLowおよびUDPAudioPortHighに、UDPオーディオで使用されるポート番号の最小値および最大値を指定します。デフォルトでは、ポート16500~16509が使用されます。
  2. 中レベルの音質が適用されるように、クライアント側およびサーバー側のオーディオ設定を以下のように構成します。
    クライアント側の音質レベル クライアント側の音質レベル クライアント側の音質レベル
   
サーバー側の音質レベル
サーバー側の音質レベル
サーバー側の音質レベル

Receiverの使用方法の変更

ICA技術は高度に最適化されているため、通常、処理能力の高いCPUを搭載したクライアントデバイスや広い帯域幅を必要としません。ただし、接続の帯域幅が非常に狭い接続では、適切なパフォーマンスを得るために、次のことを考慮してください:

  • クライアント側ドライブ上のサイズの大きいファイルにはアクセスしない。クライアントドライブマッピングを使ってファイルにアクセスすると、サーバーとの接続でそのファイルのデータが転送されることになります。遅い接続では、大きなファイルを転送するのに時間がかかることがあります。
  • クライアント側のローカルプリンターで大きな文書を印刷しない。クライアント側のローカルプリンターで文書を印刷すると、サーバーとの接続でそのファイルのデータが転送されることになります。遅い接続では、大きなファイルを転送するのに時間がかかることがあります。
  • マルチメディアコンテンツを再生しない。マルチメディアファイルを再生するには、広い帯域幅が必要です。そのため、パフォーマンスが低下する可能性があります。

マルチメディアパフォーマンスの向上

Receiverには、メディアリッチな今日のユーザー環境に高品位なユーザーエクスペリエンスを提供する幅広い技術セットが含まれています。以下の機能により、ホストされるアプリケーションやデスクトップでのユーザーエクスペリエンスが向上します:

  • HDX MediaStream Windows Mediaリダイレクト
  • HDX MediaStream Flashリダイレクト
  • HDX RealTime Webカメラビデオ圧縮
  • H.264サポート

HDX MediaStream Windows Mediaリダイレクトの構成

HDX MediaStream Windows Mediaリダイレクトを実行すると、Linuxユーザーデバイスでアクセスする仮想Windowsデスクトップでマルチメディア再生時の帯域幅が軽減されます。HDX MediaStream Windows Mediaリダイレクトは、サーバーではなくユーザーデバイスでメディアランタイムファイルを再生し、マルチメディアファイルの再生に必要な帯域幅を減少させるメカニズムです。

HDX MediaStream Windows Mediaリダイレクトは、仮想Windowsデスクトップで実行中のWindows Media Playerおよび互換プレーヤーのパフォーマンスを向上させます。次の形式を含む、さまざまなファイル形式をサポートしています:

  • Advanced Systems Format(ASF)
  • Motion Picture Experts Group(MPEG)
  • Audio-Video Interleaved(AVI)
  • MPEG Audio Layer-3(MP3)
  • WAVサウンドファイル

Citrix Receiverには、Windows用のメディア形式であるGUIDをGStreamer用のMIMEタイプに変換するためのテキストベースの変換テーブルであるMediaStreamingConfig.tblが含まれています。この変換テーブルは、以下の目的で編集できます:

  • 不明またはサポートされないメディアフィルター/ファイル形式を変換テーブルに追加する。
  • 問題が生じるGUIDをブラックリストに追加して、強制的にサーバー側でレンダリングされるようにする。
  • GStreamerパラメーターの変更により問題のある形式をトラブルシューティングできるようにするため、パラメーターを既存のMIME文字列に追加する。
  • ユーザーデバイス上のGStreamerによりサポートされているメディアファイルの種類に応じて、カスタムの構成を管理および展開する。

クライアント側でのコンテンツ取得機能を使用すると、http://、<mms://>、および<rtsp://>形式のURLからのストリーム配信メディアを、Citrixサーバーを介さずにユーザーデバイスで直接取得できます。サーバーは、ユーザーデバイスをメディアに接続して、再生、一時停止、停止、音量、シークなどの制御コマンドを送信します。メディアデータの処理は行いません。この機能を使用するには、ユーザーデバイス上に高度なマルチメディアGStreamerライブラリをインストールする必要があります。

HDX MediaStream Windowsメディアリダイレクトを実装するには

  1. オープンソースのマルチメディアフレームワークであるGStreamer 0.10を各ユーザーデバイス上にインストールします。通常、Citrix Receiverをインストールする前にGStreamerをインストールして、Citrix ReceiverがインストールプロセスでGStreamerの使用を構成できるようにします。

    ほとんどのLinuxディストリビューションにはGStreamerが含まれています。または、http://gstreamer.freedesktop.orgからGStreamerをダウンロードできます。

  2. クライアント側でのコンテンツ取得機能を有効にするには、再生するメディアのファイルタイプに対応するGStreamerのプロトコルソースプラグインをインストールします。このプラグインのインストールおよび動作を確認するには、gst-launchユーティリティを使用します。このプラグインが正しくインストールされている場合、gst-launchでURLのマルチメディアを再生できます。たとえば、ビデオが再生されるかどうかを確認するには、gst-launch-0.10 playbin2 uri=http://example-source/file.wmvを実行します。

  3. デバイス上でCitrix Receiverをインストールするときに、Tarballスクリプトを使用している場合、GStreamerオプションを選択します(.debおよび.rpmパッケージでは自動で実行されます)。

クライアント側でのコンテンツ取得機能を使用する場合は、次のことに注意してください:

  • この機能は、デフォルトで有効になります。無効にするには、All-Regions.iniファイルのMultimediaセクションにあるSpeedScreenMMACSFEnabledオプションを使用します。ここで「False」を指定すると、Windows Mediaリダイレクト機能が使用されます。
  • デフォルトでは、すべてのMediaStream機能でGStreamerのplaybin2プロトコルが使用されます。従来のplaybinプロトコルが使用されるようにするには、All-Regions.iniファイルのMultimediaセクションにあるSpeedScreenMMAEnablePlaybin2オプションを使用します。ただし、クライアント側でのコンテンツ取得機能では常にplaybin2プロトコルが使用されます。
  • Receiverでは、.asxや.nscなどのストリーム構成情報ファイルや再生リストファイルを認識できません。可能な場合は、これらのファイルを参照しない標準的なURLをユーザーが指定する必要があります。URLが有効かどうかは、gst-launchを使用して確認できます。

GStreamer 1.0については、以下のことに注意してください:

  • GStreamer 0.10は、デフォルトでHDX MediaStream Windowsメディアリダイレクトに使用されます。GStreamer 0.10が使用できない場合のみ、GStreamer 1.0が使用されます。
  • GStreamer 1.0を使用する場合、次の手順に従います:
  1. GStreamerプラグインのインストール先ディレクトリを検出します。プラグインのインストール先は、ディストリビューション、OSアーキテクチャ、GStreamerのインストール方法によって異なります。一般的なインストールパスは、/usr/lib/x86_64-linux-gnu/gstreamer-1.0または$HOME/ .local/share/gstreamer-1.0です。
  2. Citrix Receiver for Linuxのインストールディレクトリを検出します。スーパーユーザー(root)のデフォルトのインストールディレクトリは、/opt/Citrix/ICAClientです。非スーパーユーザーのデフォルトのインストールディレクトリは、$HOME/ICAClient/platform(プラットフォームはlinuxx64など)です。詳しくは、「インストールとセットアップ」を参照してください。
  3. GStreamerプラグインディレクトリでシンボリックリンクを作成することで、libgstflatstm1.0.soをインストールします:-sf $ICACLIENT_DIR/util/libgstflatstm1.0.so $GST_PLUGINS_PATH/libgstflatstm1.0.so. この手順には、権限の昇格(sudo権限など)が必要な場合があります。
  4. gst_play1.0をプレーヤーとして使用する:-sf $ICACLIENT_DIR/util/gst_play1.0 $ICACLIENT_DIR/util/gst_play この手順には、権限の昇格(sudo権限など)が必要な場合があります。
  • HDX RealTime Webカメラビデオ圧縮でGStreamer 1.0を使用する場合、gst_read1.0をリーダーとして使用します。sf $ICACLIENT_DIR/util/gst_read1.0 $ICACLIENT_DIR/util/gst_read

HDX MediaStream Flashリダイレクトの構成

HDX MediaStream Flashリダイレクトにより、Adobe Flashコンテンツがユーザーデバイス上でローカルに再生され、帯域幅要件を増やすことなく高品位な音声やビデオの再生機能が提供されます。

  1. この機能に必要な要件をユーザーデバイスが満たしていることを確認します。詳しくは、「システム要件」を参照してください。

  2. wfclient.iniの[WFClient]セクション(特定ユーザーのすべてのコネクションに適用する場合)またはAll_Regions.iniの[Client Engine\Application Launching]セクション(環境内のすべてのユーザーに適用する場合)に、以下のパラメーターを追加します:
    • HDXFlashUseFlashRemoting=Ask|Never|Always

      ユーザーデバイス上でHDX MediaStream for Flashを有効にします。デフォルトでは、Neverに設定されています。これにより、FlashコンテンツのWebページに接続したときに、そのコンテンツを最適化するかどうかを確認するダイアログボックスが開きます。

    • HDXFlashEnableServerSideContentFetching=Disabled|Enabled

      サーバー側でのコンテンツ取得機能を有効または無効にします。デフォルトでは、Disabledに設定されています。

    • HDXFlashUseServerHttpCookie=Disabled|Enabled

      HTTP Cookieのリダイレクトを有効または無効にします。デフォルトでは、Disabledに設定されています。

    • HDXFlashEnableClientSideCaching=Disabled|Enabled

      Receiverにより取得されたWebコンテンツのクライアント側キャッシュを有効または無効にします。デフォルトでは、Enabledに設定されています。

    • HDXFlashClientCacheSize= [25-250]

      クライアント側でのキャッシュのサイズを、MB単位で定義します。この値は、25MB~250MBの間で定義できます。サイズが制限値に到達すると、キャッシュ内の既存のコンテンツが削除され、新しいコンテンツが保存されます。デフォルトでは、100に設定されています。

    • HDXFlashServerSideContentCacheType=Persistent|Temporary|NoCaching

      サーバー側でのコンテンツ取得機能により取得されたコンテンツのキャッシュの種類を定義します。デフォルトでは、 Persistentに設定されています。

      注:このパラメーターは、 HDXFlashEnableServerSideContentFetchingEnabledに設定した場合にのみ必要です。

  3. Flashリダイレクトはデフォルトで無効になっています。/config/module.iniファイルで、FlashV2=OffをFlashV2=Onに変更して、この機能を有効にします。

HDX RealTime Webカメラビデオ圧縮の構成

HDX RealTime機能のWebカメラビデオ圧縮オプションを使用すると、ビデオ会議で消費される帯域幅を効率化できます。これにより、GoToMeeting HD Faces、Skype for Businessなどのアプリケーションを使用するときに最適なパフォーマンスが提供されます。

  1. この機能に必要な要件をユーザーデバイスが満たしていることを確認します。
  2. マルチメディア仮想チャネルを有効にする必要があります。これを実行するには、$ICAROOT/configディレクトリにあるmodule.ini構成ファイルを開き、[ICA3.0]セクションのMultiMediaを「On」に設定します。
  3. オーディオ入力を有効にするには、[環境設定]ダイアログボックスの[マイクとWebカメラ]ページで、[マイクとWebカメラを使用する]をクリックします。

HDX RealTime Webカメラビデオ圧縮の無効化

デフォルトでは、HDX RealTime Webカメラビデオ圧縮機能によりWebカメラのパフォーマンスが最適化されます。ただし一部の環境では、ユーザーがUSBサポート機能を使ってWebカメラを接続しなければならない場合があります。これを実行するには、次の手順を実行する必要があります:

  • HDX RealTime Webカメラビデオ圧縮を無効にする
  • WebカメラのUSBサポートを有効にする
  1. 次のパラメーターを適切なINIファイルの[WFClient]セクションに追加する:

    HDXWebCamEnabled=Off

    詳しくは、「構成ファイルを使ったReceiverのカスタマイズ」を参照してください。

  2. usb.confファイルを開きます。通常このファイルは、$ICAROOT/usb.confにあります。

  3. 次の行を削除するか、コメントアウトします:

    DENY: class=0e # UVC (default via HDX RealTime Webcam Video Compression)

  4. ファイルを保存して閉じます。

H.264サポートの構成

Receiverでは、XenDesktop 7で配信されるHDX 3D Proグラフィックを含むH.264グラフィックがサポートされます。この機能では、デフォルトで有効になっている深圧縮コーデックが使用されます。これにより、専門的なグラフィック処理アプリケーションをWANネットワークを介して使用する場合でも、既存のJPEGフォーマットよりも高いパフォーマンスが提供されます。

この機能を無効にする(つまりグラフィックをJPEGコーデックで処理する)には、このトピックの手順に従ってください。深圧縮コーデックを有効にしたまま、テキストトラッキングを無効にすることもできます。グラフィックに含まれるテキストが多くないまたは重要でない場合は、テキストトラッキングを無効にすることにより、複雑なグラフィック処理時のCPU負荷を軽減できます。

重要:この機能を構成する場合は、XenDesktopのポリシーの[表示品質]設定で無損失品質を指定しないでください。 無損失品質を指定するとサーバー側のH.264エンコーディングが無効になり、Receiverでこの機能が動作しなくなります。

深圧縮コーデックのサポートを無効にするには:

wfclient.iniで、H264Enabledに「False」を設定します。これにより、テキストトラッキングも無効になります。

テキストトラッキングのみを無効にするには

深圧縮コーデックのサポートを有効にしたまま、wfclient.iniでTextTrackingEnabledに「False」を設定します。

画面タイルのパフォーマンスの最適化

Direct-to-Screenビットマップデコード、バッチタイルデコード、およびXSyncの待機機能を使用すると、JPEGエンコードの画面タイルの処理パフォーマンスを最適化できます。

  1. JPEGライブラリがこれらの機能をサポートすることを確認します。

  2. wfclient.iniの[Thinwire3.0]セクションで、DirectDecodeおよびBatchDecodeに「True」を指定します。

    注:バッチタイルデコード機能を有効にすると、XSyncの待機機能が自動的に有効になります。

ログの有効化

Citrix Receiver for Linuxのログ記録を有効にするには:

  1. Citrix Receiver for LinuxをダウンロードしてLinuxマシンにインストールし、ICAROOT環境変数をインストール場所に設定します。
  2. Citrix Receiver for Linuxでは、debug.iniファイルはICAROOTの構成フォルダーにあります。コマンドラインで「> ln -s config/debug.ini debug.ini」を入力し、このファイルのシンボリックリンクを$ICAROOTパスに作成します。
  3. $ICAROOTのdebug.iniファイルを編集し、必要なトレースパラメーターを[wfica]セクション下に追加します。
  4. $ICAROOT/config/module.iniファイルを編集して、[WFClient]セクションの最後にSyslogThreshold=7を追加します。これで、すべてのレベルのログが生成されます。エラーのみを記録するには、SyslogThresholdを「3」に設定します。
  5. syslogトレースを取得するには、syslog構成ファイルを編集します。/etc/rsyslog.confファイル(またはLinuxディストリビューションによってはsyslog.conf)に移動し、次の変更を加えます:

    すべてのファシリティからローカルログ記録を有効にするには、ファイルの最初の $ModLoad imuxsock.so 行がコメント解除されていることを確認します。

    リモートログ記録では、構成ファイルで次の2つの変更が必要ですが、syslogへのローカルログ記録では必要ありません

    サーバー側の構成:syslogサーバーのrsyslog.confファイルで次の行をコメント解除します:

    $ModLoad imtcp

    $InputTCPServerRun 10514

    クライアント側の構成:localhostをリモートサーバーのIPアドレスに置換することで、次の行を追加します: *.* @@localhost:10514

  6. 変更を保存し、コマンドラインで「>sudo service rsyslogrestart」を入力してsyslogサービスを再起動します。
  7. すべてのsyslogログは/var/logに保存されます。このフォルダー内のログを表示または編集するには、sudoアクセス権が必要です。ログはuser-all-drivers_proxy22.logファイルに送られます。rsyslog.confファイルのRULESセクションで以下の行を編集し、ログファイルのパスと名前を構成できます。

    user.*      -/var/log/logfile_name.log

    syslog構成ファイルでRULESセクションを編集できます。RULESセクションがsyslog構成ファイルに存在しない場合は、サンプルのrsyslog.confファイルからシステムのsyslog構成ファイルにRULESセクションを追加できます。

    注: rsyslog.confファイルを編集するたびに、syslogサービスを再起動する必要があります。

  8. Receiverプロセス($ICAROOTの./selfservice)を起動します。セッション終了後、ログファイルは/var/logに格納されます。 デフォルトでは、起動するたびに、ログがログファイルに追加されます。起動ごとにトレースを追跡するには、起動するたびに構成ファイルを編集してログファイルを変更し、rsyslogサービスを再起動します。

トレースを有効にするには、$ICAROOT/debug.iniファイルで次のパラメーターを変更します:

  • コネクションセンターログ:[conncenter]セクションで「traceClasses」を「+TC_NCS」に変更します
  • グラフィック(Thinwire)ログ:[wfica]セクションで「traceClasses」を「+TC_TW」に変更します。
  • EUEMログ:[wfica]セクションで、「traceClasses」を「+TC_CLIB」に変更します

トレースを無効にするには、「traceClasses」エントリをnullに変更します。

たとえば、次のように設定します:

[wfica]

traceFlags =

traceClasses =

traceFeatures =

traceFile = clb.log.$$

traceBufferSize = 65536

マルチモニターレイアウト永続性の構成

この機能は、エンドポイント間でセッションモニターのレイアウト情報を保持します。セッションは、構成されているモニターに表示されます。

前提要件

この機能には、以下が必要です:

  • StoreFront v3.15以降。
  • .ICAClientが既に現在のユーザーのホームフォルダーに存在する場合:

    All_Regions.iniファイルを削除します

    または

    AllRegions.iniファイルを保持するには、[Client Engine\Application Launching] セクションの最後に次の行を追加します:

    SubscriptionUrl=

    PreferredWindowsBounds=

    PreferredMonitors=

    PreferredWindowState=

    SaveMultiMonitorPref=

.ICAClientフォルダーが存在しない場合は、Citrix Receiverの新規インストールです。この場合、機能のデフォルト設定は保持されます。

ユースケースの例

  • 任意のモニターをウィンドウモードで起動し、設定を保存します。 セッションを再起動すると、同じモードで、同じモニター上の同じ位置に表示されます。
  • 任意のモニターを全画面モードで起動し、設定を保存します。 セッションを再起動すると、同じモニター上に全画面モードで表示されます。
  • 複数のモニターにまたがってウィンドウモードでセッションを表示させた後、全画面モードに切り替えると、セッションは、すべてのモニターで全画面表示を続けます。セッションを再起動すると、すべてのモニターにまたがって全画面モードで表示されます。

レイアウトはすべての保存で上書きされ、レイアウトはアクティブなStoreFrontにのみ保存されます。

別のモニターで同じStoreFrontから複数のデスクトップセッションを起動する場合、1つのセッションにレイアウトを保存すると、すべてのセッションのレイアウト情報が保存されます。

レイアウト保存機能の構成

この機能を有効にするには、以下の手順に従います:

  1. StoreFront 3.15以降のバージョン(v3.15.0.12以上)を互換性のあるDelivery Controller(DDC)にインストールします。
  2. ダウンロードページからCitrix Receiver for Linux 13.10のビルドをダウンロードし、Linuxマシンにインストールします。
  3. ICAROOT環境変数をインストール場所に設定します。
  4. All_Regions.iniファイルが .ICAClientフォルダーに存在するかを確認します。存在する場合は削除してください。
  5. $ICAROOT/config/All_Regions.iniファイルで、SaveMultiMonitorPrefフィールドを見つけます。デフォルトでは、このフィールドの値は「true」です(この機能がオンになっていることを意味します)。オフに切り替えるには、このフィールドを「false」に設定します。 SaveMultiMonitorPrefの値を変更する場合は、.ICAClientフォルダーにあるAll_Regions.iniファイルを削除して、値の不一致とプロファイルのロックダウンを防止する必要があります。セッションを開始する前にSaveMultiMonitorPrefフラグを設定または解除します。
  6. 新しいデスクトップセッションを開始します。
  7. デスクトップビューアーツールバーの [レイアウトを保存] をクリックして現在のセッションレイアウトを保存します。画面の右下に成功を示す通知が表示されます。 [レイアウトを保存]をクリックすると、アイコンが灰色表示になります。これは、保存が進行中であることを示します。レイアウトが保存されると、アイコンは正常な状態に戻ります。 ただし、アイコンが長時間灰色表示になっている場合は、Knowledge CenterのCTX235895でトラブルシューティング情報を参照してください。
  8. セッションを切断またはログオフします。 セッションを再起動すると、同じモードで、同じモニター上の同じ位置に表示されます。

制限事項とサポートされていないシナリオ

  • Linux Display Managerの制限によって、ウィンドウモードセッションのレイアウトを複数のモニターに保存することはできません。
  • このリリースでは、さまざまな解像度でセッション情報をモニターに保存することはサポートされていないため、予期しない動作が発生する可能性があります。
  • 複数のStoreFrontを持つ顧客の展開環境

Citrix Virtual Desktopsをデュアルモニターで使用する

  1. Desktop Viewerを選択し、下向き矢印をクリックします。
  2. [ウィンドウ] を選択します。
  3. Citrix Virtual Desktopsの画面を2つのモニターの間にドラッグします。各モニターに画面の約半分が表示されていることを確認してください。
  4. Citrix Virtual Desktopsのツールバーで、[フルスクリーン] を選択します。

    画面が両方のモニターに拡張されます。