Product Documentation

Red Hat Linux Virtual Delivery Agent(VDA)のインストール

Apr 15, 2016

Red HatディストリビューションをベースとしたLinux仮想デスクトップを作成できます。 Linux仮想マシンを準備して新しいLinux VDAソフトウェアをインストールし、 Delivery Controllerを構成したらStudioを使ってユーザーがデスクトップを使用できるようにします。 

詳しくは、以下のドキュメントを参照してください。

pdf

Linux仮想デスクトップインストールガイド(Red Hat Enterprise Linux)

Red Hat Linux VDA Version 1.2のインストールおよびセットアップ手順のPDF

注意

このドキュメントで使用するLinuxシェルコマンドは、GNU Bashシェルで動作することが確認されています。

システム要件

Linuxディストリビューション

Linux Virtual Desktop製品では、次のLinuxディストリビューションがサポートされます。

  • SUSE Linux Enterprise
    • Desktop 11 Service Pack 4
    • Desktop 12 Service Pack 1
    • Server 11 Service Pack 4
    • Server 12 Service Pack 1
  • Red Hat Enterprise Linux
    • Workstation 6.7
    • Workstation 7.2
    • Server 6.7
    • Server 7.2

注意

すべての場合で、サポートされるプロセッサーアーキテクチャはx86-64です。

XenDesktop

Linux VDAでは、次のバージョンのXenDesktopがサポートされます。

  • XenDesktop 7.1
  • XenDesktop 7.5
  • XenDesktop 7.6
  • XenDesktop 7.7
  • XenDesktop 7.8

Linux VDAの構成手順はWindows VDAの場合と多少異なります。 ただし、Delivery ControllerファームはWindowsデスクトップとLinuxデスクトップを両方とも仲介できます。

注意

Linux VDAは、XenDesktop Version 7.0以前には対応していません。

Citrix Receiver

次のバージョンのCitrix Receiverがサポートされます。

  • Citrix Receiver for Windows Version 4.4以降(wfica32.exeのv14.4と同じ)
  • Citrix Receiver for Linux Version 13.3以降
  • Citrix Receiver for Mac OSX Version 12.1以降
  • Citrix Receiver for Android Version 3.8以降
  • Citrix Receiver for iOS Version 6.1.4以降
  • Citrix Receiver for Chrome/HTML5 Version 1.9(Access Gateway経由でのみサポート)

ハイパーバイザー

Linux VDAゲスト仮想マシンをホストする次のハイパーバイザーがサポートされます。

  • XenServer
  • VMware ESXおよびESXi
  • Microsoft Hyper-V

ベアメタルホスティングもサポートされます。

ヒント

サポートされるプラットフォームの一覧については、ハイパーバイザーのベンダーのドキュメントを参照してください。

Active Directory統合パッケージ

Linux VDAでは、次のActive Directory統合パッケージまたは製品がサポートされます。

  • Samba Winbind
  • Quest Authentication Services v4.1以降
  • Centrify DirectControl

ヒント

サポートされるプラットフォームの一覧については、Active Directory統合パッケージのベンダーのドキュメントを参照してください。

HDX 3D Pro

HDX 3D Proをサポートするには、以下のハイパーバイザー、Linuxディストリビューション、およびNVIDIA GRID™ GPUが必要です。

ハイパーバイザー

以下のハイパーバイザーがサポートされます。

  • XenServer
  • VMware ESXおよびESXi

Linuxディストリビューション

HDX 3D Proでは、以下のLinuxディストリビューションがサポートされます。

  • Red Hat Enterprise Linux - Workstation 7.2

GPU

以下のGPUがサポートされます。

  • NVIDIA GRID™ 3.0 - Tesla M60
  • NVIDIA GRID™ - K2

Delivery Controllerの構成

XenDesktop 7.7以降には、Linux Virtual Desktopをサポートするための必要な変更が含まれていますが、以前のバージョンの場合は、Hotfixまたは更新スクリプトが必要です。 これらのインストールと確認について、このセクションで説明しています。 

Delivery Controller構成の更新

XenDesktop 7.6 SP2の場合、Hotfix Update 2を適用して、Linux Virtual Desktop用のブローカーを更新します。 Hotfixes Update 2は、以下から入手できます。

  • CTX142438:Hotfixes Update 2 - Delivery Controller 7.6(32ビット)用 – 英語
  • CTX142439:Hotfixes Update 2 - Delivery Controller 7.6(64ビット)用 – 英語

XenDesktopの以前のバージョンに対しては、ブローカーサービスの構成を更新するUpdate-BrokerServiceConfig.ps1という名前のPowerShellスクリプトが提供されています。 これは次のパッケージから入手できます。

  • citrix-linuxvda-scripts-1.2.0.zip

次の手順をサーバーファーム内のDelivery Controllerで繰り返します。

  1. Update-BrokerServiceConfig.ps1スクリプトをDelivery Controllerマシンにコピーします。
  2. ローカル管理者のコンテキストでWindows PowerShellコンソールを開きます。
  3. スクリプトを含むフォルダーを参照します。
  4. 次のスクリプトを実行します。

.\Update-BrokerServiceConfig.ps1

注意

デフォルトでは、PowerShellはPowerShellスクリプトを実行できないように構成されています。 スクリプトの実行に失敗する場合は、再試行する前にPowerShell実行ポリシーの変更が必要な場合があります。

Set-ExecutionPolicy Unrestricted

Update-BrokerServiceConfig.ps1スクリプトを実行すると、Linux VDAに必要とされる新しいWCFエンドポイントでブローカーサービス構成ファイルが更新され、ブローカーサービスが再起動します。  このスクリプトでは、自動的にブローカーサービス構成ファイルの場所が特定されます。 元の構成ファイルのバックアップが、.prelinuxという拡張子で同じディレクトリに作成されます。

これらの変更は、同じDelivery Controllerファームを使用するように構成されたWindows VDAの仲介には影響しません。 このことにより、単一のControllerファームがWindows VDAおよびLinux VDAの両方とのセッションをシームレスに管理し、仲介できます。

Delivery Controller構成の確認

必要な構成変更がDelivery Controllerに適用されているかどうかを確認するには、次のファイル中に文字列EndpointLinuxが5回出現していることを確認します。

       %PROGRAMFILES%\Citrix\Broker\Service\BrokerService.exe.config

Windowsコマンドプロンプトで、ローカル管理者としてログオンし、次の操作を行います。

     cd "%PROGRAMFILES%"\Citrix\Broker\Service\

     findstr EndpointLinux BrokerService.exe.config

VDAをインストールするLinuxマシンの準備

ネットワーク構成の確認

Citrixは、続行前にネットワークを接続し、適切に構成することをお勧めします。

RHEL 6のみ:ホスト名の設定

マシンのホスト名が確実に正しく報告されるようにするには、/etc/sysconfig/networkファイルを変更してマシンのホスト名のみを記述します。

HOSTNAME=hostname

RHEL 7のみ:ホスト名の設定

マシンのホスト名が確実に正しく報告されるようにするには、/etc/hostnameファイルを変更してマシンのホスト名のみを記述します。

ホスト名へのループバックアドレスの割り当て

マシンのDNSドメイン名と完全修飾ドメイン名が確実に正しく報告されるようにするには、/etc/hostsファイルの以下の行を変更し、最初の2つのエントリとして完全修飾ドメイン名とホスト名を記述します。

127.0.0.1  hostname-fqdn hostname localhost localhost.localdomain localhost4 localhost4.localdomain4

次に例を示します。

127.0.0.1  vda01.example.com vda01 localhost localhost.localdomain localhost4 localhost4.localdomain4

ファイルのほかのエントリから、hostname-fqdnまたはhostnameに対するその他の参照を削除します。

注意

Linux VDAでは、現在、NetBIOS名の切り捨てをサポートしていません。したがって、ホスト名は15文字以下にしてください。

ホスト名の確認

次のコマンドで、ホスト名が正しく設定されていることを確認します。

hostname

これにより、そのマシンの完全修飾ドメイン名(FQDN)ではなく、そのホスト名のみが返されます。

次のコマンドで、完全修飾ドメイン名が正しく設定されていることを確認します。

hostname -f

これにより、そのマシンの完全修飾ドメイン名が返されます。

名前解決とサービス到達可能性の確認

次のコマンドで、完全修飾ドメイン名が解決できることと、ドメインコントローラーとXenDesktop Delivery Controllerからpingに応答があることを確認します。

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn

完全修飾ドメイン名を解決できない、またはこれらのマシンのいずれかからpingに応答がない場合は、手順を確認してから次に進んでください。

時刻同期の構成(NTP)

VDA、XenDesktopのコントローラー、およびドメインコントローラーの間で正確な時刻同期を維持することは重要です。 仮想マシンとしてLinux VDAをホストすると、時刻が不正確になる問題が発生する可能性があります。 したがって、リモートのタイムサービスを使用して時刻を維持することをお勧めします。

RHEL 6.x以前では、時刻同期にNTPデーモン(ntpd)を使用しています。一方、デフォルトのRHEL 7.x環境では、新しいChronyデーモン(chronyd)を代わりに使用しています。 この2つのサービスの構成と操作手順は類似しています。

RHEL 6のみ:NTPサービスの構成

rootとして/etc/ntp.confを編集し、次のように各リモートタイムサーバーに対応するサーバーエントリを追加します。

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst

一般的な環境では、時間はローカルドメインコントローラーから同期する必要があり、公開NTPプールサーバーから直接は同期しません。 ドメインの各Active Directoryドメインコントローラーに対応するサーバーエントリを追加します。

ループバックIPアドレス、localhost、パブリックサーバーの*.pool.ntp.orgエントリなど、一覧にあるその他のserverエントリを削除します。

変更を保存してから、次のコマンドでNTPデーモンを再起動します。

sudo /sbin/service ntpd restart

RHEL 7のみ:Chronyサービス

rootとして/etc/chrony.confを編集し、次のように各リモートタイムサーバーに対応するサーバーエントリを追加します。

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst

一般的な環境では、時間はローカルドメインコントローラーから同期する必要があり、公開NTPプールサーバーから直接は同期しません。 ドメインの各Active Directoryドメインコントローラーに対応するサーバーエントリを追加します。

ループバックIPアドレス、localhost、パブリックサーバーの*.pool.ntp.orgエントリなど、一覧にあるその他のserverエントリを削除します。

変更を保存してから、次のコマンドでChronyデーモンを再起動します。

sudo /sbin/service chronyd restart

ネットワークプロキシ認証ポップアップを無効にする

RHEL 6の特定の問題が原因となって、ログオン後、ユーザーにルートパスワードの入力を求めるポップアップが表示されます。

この問題を解決するには、rootとしてテキストエディターで/etc/polkit-1/localauthority/30-site.d/20-no-show-proxy-dialog.pklaファイルを作成し、次の内容を追加します。

[No Show Proxy Dialog]

Identity=unix-user:*

Action=org.freedesktop.packagekit.system-network-proxy-configure

ResultAny=no

ResultInactive=no

ResultActive=no

注意

この問題について詳しくは、こちらにあるRedHatソリューションのページを参照してください。 コメントセクションに適切な回避策が説明されています。

OpenJDKのインストール

Linux VDAはOpenJDKに依存しています。 Runtime Environmentは、オペレーティングシステムのインストールの一部としてインストールされています。

RHEL 6のみ:OpenJDK 1.7

次のコマンドで正しいバージョンを確認します。

sudo yum info java-1.7.0-openjdk

事前にパッケージされたOpenJDKは、以前のバージョンである可能性があります。 必要に応じて、次のコマンドで最新バージョンに更新します。

sudo yum -y update java-1.7.0-openjdk

次の行を~/.bashrcファイルに追加して、JAVA_HOME環境変数を設定します。

export JAVA_HOME=/usr/lib/jvm/java

新しいシェルを開き、次のコマンドでJavaのバージョンを確認します。

java –version

RHEL 7.0のみ:OpenJDK 1.8

次のコマンドで正しいバージョンを確認します。

sudo yum info java-1.8.0-openjdk

事前にパッケージされたOpenJDKは、以前のバージョンである可能性があります。 必要に応じて、次のコマンドで最新バージョンに更新します。

sudo yum -y update java-1.8.0-openjdk

次の行を~/.bashrcファイルに追加して、JAVA_HOME環境変数を設定します。

export JAVA_HOME=/usr/lib/jvm/java

新しいシェルを開き、次のコマンドでJavaのバージョンを確認します。

java –version

ヒント

問題を回避するには、必ずOpenJDK Version 1.7.0または1.8.0のいずれかのみをインストールしておきます。 その他のバージョンのJavaは、システムからすべて削除します。

PostgreSQLのインストール

Linux VDAには、PostgreSQL 8.4以降(RHEL 6の場合)またはPostgreSQL 9.2以降(RHEL 7の場合)のいずれかが必要です。

次のパッケージをインストールします。

sudo yum -y install postgresql-server

sudo yum -y install postgresql-jdbc

データベースを初期化し、起動時にサービスが確実に開始されるようにするには、次に示すインストール後の手順が必要です。 これにより、/var/lib/pgsql/dataにデータベースファイルが作成されます。 このコマンドは、PostgreSQL 8と9では異なります。

RHEL 6のみ:PostgreSQL 8

sudo /sbin/service postgresql initdb

RHEL 7のみ:PostgreSQL 9

sudo postgresql-setup initdb

PostgreSQLの起動

いずれのバージョンのPostgreSQLでも、次のコマンドで、起動時にサービスを開始する構成と、直ちにサービスを開始する構成を行います。

sudo /sbin/chkconfig postgresql on

sudo /sbin/service postgresql start

次のコマンドを使用して、PostgreSQLのバージョンを確認します。

psql --version

次のようにpsqlコマンドラインユーティリティを使用して、データディレクトリが設定されていることを確認します。

sudo -u postgres psql -c 'show data_directory'

Motifのインストール

Linux VDAには、ディストリビューションに応じて、motifパッケージまたはopenmotifパッケージが必要です。

RHEL 6のみ:Open Motif

sudo yum -y install openmotif

RHEL 7のみ:Motif

sudo yum -y install motif

印刷サポートのインストール

Linux VDAには、CUPSフィルターとFoomaticフィルターの両方が必要です。

RHEL 6のみ:印刷サポート

sudo yum –y install cups

sudo yum -y install foomatic

RHEL 7のみ:印刷サポート

sudo yum –y install cups

sudo yum -y install foomatic-filters

ほかのパッケージのインストール

次のコマンドで、ほかの必要なパッケージをインストールします。

sudo yum -y install redhat-lsb-core

sudo yum -y install ImageMagick

ハイパーバイザー用Linux仮想マシンの準備

サポートされるハイパーバイザー上で仮想マシンとしてLinux VDAを実行する場合、いくつかの変更が必要です。 使用するハイパーバイザーのプラットフォームに合わせて、次の変更を行います。 ベアメタルハードウェアでLinuxマシンを実行する場合、変更は必要ありません。

Citrix XenServerでの時間同期の修正

XenServerの時間同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとXenServerの両方がシステムの時刻を管理しようとすることが原因となり問題が発生します。 システムの時刻とほかのサーバーの時刻との同期が失われるのを防ぐには、各Linuxゲストのシステムの時刻がNTPと同期する必要があります。 この状態にするには、ホストの時間同期を無効にする必要があります。 HVMモードでは、変更は必要ありません。

一部のLinuxディストリビューションでは、XenServer Toolsをインストールした状態で準仮想化Linuxカーネルを実行すると、XenServerの時間同期機能が存在し有効になっているかどうかをLinux仮想マシンから次のようにして確認できます。

su -

cat /proc/sys/xen/independent_wallclock

これにより、次のいずれかが返されます。

  • 0 - 時間同期機能が有効となっていて、無効にする必要があります。
  • 1 - 時間同期機能が無効となっていて、これ以上の操作は必要ありません。

/proc/sys/xen/indepent_wallclockファイルが存在しない場合、以降の手順は不要です。

時間同期機能が有効な場合は、次のようにしてファイルに1を書き込んで無効にします。

sudo echo 1 > /proc/sys/xen/independent_wallclock

この変更を永続化し、再起動後も保持するには、/etc/sysctl.confファイルを編集して、次の行を追加します。

xen.independent_wallclock = 1

これらの変更を確認するため、次のようにしてシステムを再起動します。

reboot

再起動後、次のようにしてこの変更が正しく設定されているかどうか確認します。

su -

cat /proc/sys/xen/independent_wallclock

これにより、値1が返されます。

Microsoft Hyper-Vでの時間同期の修正

Hyper-V Linux統合サービスがインストールされたLinux仮想ホストでは、Hyper-Vの時間同期機能を活用してホストオペレーティングシステムの時間を利用できます。 システムの時刻を正確な状態で維持するには、NTPサービスと共にこの機能を有効にする必要があります。

管理オペレーティングシステムで、次の操作を行います。

  1. Hyper-Vマネージャーコンソールを開きます。 
  2. Linux仮想マシンの設定で、[統合サービス]を選択します。 
  3. [時刻の同期]が選択されていることを確認します。 

注意

この方法はVMwareおよびXenServerの場合とは異なります。VMwareおよびXenServerでは、NTPとの競合を避けるためにホストの時間同期を無効にします。 Hyper-Vの時間同期は、NTPと共存し、NTPの時間同期を補完することができます。

ESXおよびESXiでの時間同期の修正

VMwareの時間同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとハイパーバイザーの両方がシステムの時刻を同期しようとすることが原因となり問題が発生します。 システムの時刻とほかのサーバーの時刻との同期が失われるのを防ぐには、各Linuxゲストのシステムの時刻がNTPと同期する必要があります。 この状態にするには、ホストの時間同期を無効にする必要があります。

VMware Toolsをインストールした状態で準仮想化Linuxカーネルを実行している場合は、次の操作を行います。

  1. vSphere Clientを開きます。
  2. Linux仮想マシンの設定を編集します。
  3. [仮想マシンのプロパティ]ダイアログボックスで、[オプション]タブをクリックします。
  4. [VMware Tools]を選択します。
  5. [詳細]ボックスで、[ホストとゲスト時間を同期]チェックボックスをオフにします。

WindowsドメインへのLinuxマシンの追加

Linux用のXenDesktopでサポートされるLinuxマシンをActive Directoryドメインに追加する方法は、以下のように複数あります。

  • Samba Winbind
  • Quest Authentication Services
  • Centrify DirectControl

選択した方法に応じて、以下の手順に従います。

Samba Winbind

必要なパッケージのインストールまたは更新

次のようにして、必要なパッケージをインストールまたは更新します。

sudo yum -y install samba-winbind \

samba-winbind-clients \

krb5-workstation \

authconfig \

oddjob-mkhomedir

起動時にWinbindデーモンが開始するようにする

次のコマンドで、起動時にWinbindデーモンが開始するように構成する必要があります。

sudo /sbin/chkconfig winbind on

Winbind認証の構成

次のようにして、Winbindを使用したKerberos認証用にマシンを構成します。

sudo authconfig \

--disablecache \

--disablesssd \

--disablesssdauth \

--enablewinbind \

--enablewinbindauth \

--disablewinbindoffline \

--smbsecurity=ads \

--smbworkgroup=domain \

--smbrealm=REALM \

--krb5realm=REALM \

--krb5kdc=fqdn-of-domain-controller \

--winbindtemplateshell=/bin/bash \

--enablemkhomedir --updateall

ここで、REALMは大文字のKerberosレルム名で、domainはActive Directoryドメインの短いNetBIOS名です。

KDCサーバーおよびレルム名をDNSベースで参照する必要がある場合は、次の2つのオプションを上記のコマンドに追加します。

--enablekrb5kdcdns --enablekrb5realmdns

authconfigコマンドから返される、開始に失敗したwinbindサービスに関するエラーは無視します。 これらのエラーは、マシンがドメインにまだ参加していない状態でauthconfigがwinbindサービスを開始しようとすることが原因で発生します。

/etc/samba/smb.confを開いて、[Global]セクションに次のエントリを追加します。ただし、追加するのは、authconfigツールによって生成されたセクションの後です。

kerberos method = secrets and keytab

winbind refresh tickets = true

Delivery Controllerに対する認証と登録には、Linux VDAにシステムのkeytabファイル/etc/krb5.keytabが必要です。 上記のkerberos methodの設定により、マシンが初めてドメインに参加するときに、Winbindによってシステムのkeytabファイルが強制的に作成されます。 

Windowsドメインへの参加

これには、ドメインコントローラーに到達できることと、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。

sudo net ads join REALM -U user

ここで、REALMは大文字のKerberosレルム名で、userはコンピューターをドメインに追加する権限を持つドメインユーザーです。

Winbind用のPAMの構成

デフォルトでは、Winbind PAMモジュール(pam_winbind)の構成で、Kerberosチケットキャッシュとホームディレクトリの作成が有効になっていません。 /etc/security/pam_winbind.confを開いて、[Global]セクションで次のとおりにエントリを追加または変更します。

krb5_auth = yes

krb5_ccache_type = FILE

mkhomedir = yes

各設定の先頭のセミコロンは必ず削除します。 これらを変更するには、次のようにしてWinbindデーモンを再起動する必要があります。

sudo /sbin/service winbind restart

ヒント

マシンがドメインに参加済みの場合にのみ、winbindデーモンは実行を続けます。

/etc/krb5.confを開いて、[libdefaults]セクションで次の設定をKEYRINGからFILEタイプに変更します。

default_ccache_name = FILE:/tmp/krb5cc_%{uid}

ドメインメンバーシップの確認

XenDesktopのコントローラーを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。

次のように、Sambaのnet adsコマンドを使用して、マシンがドメインに参加していることを確認します。

sudo net ads testjoin

次のコマンドで、追加のドメインおよびコンピューターオブジェクトの情報を確認できます。

sudo net ads info

Kerberos構成の確認

Linux VDAで使用できるようにKerberosが正しく構成されていることを確認するには、次のコマンドによって、システムのkeytabファイルが作成済みでkeytabファイルに有効なキーが含まれていることを確認します。

sudo klist -ke

これにより、プリンシパル名と暗号スイートのさまざまな組み合わせに対して使用できるキーの一覧が表示されます。 Kerberosのkinitコマンドを実行し、これらのキーを使用して、マシンをドメインコントローラーに対して認証します。

sudo kinit -k MACHINE\$@REALM

マシン名とレルム名は大文字で指定し、ドル記号($)はシェルによる置き換えを防ぐためにバックスラッシュ(\)でエスケープする必要があります。 環境によっては、DNSドメイン名がKerberosレルム名と異なります。したがって、必ずレルム名を使用します。 このコマンドが成功すると、出力は表示されません。

次のコマンドを使用して、マシンアカウントのTGTチケットがキャッシュされたことを確認します。

sudo klist

次のコマンドを使用して、マシンのアカウントの詳細を調査します。

sudo net ads status

ユーザー認証の確認

次のように、wbinfoツールを使用して、ドメインユーザーがドメインに対して認証できることを確認します。

wbinfo --krb5auth=domain\\username%password

ここで指定するドメインはADドメイン名で、Kerberosレルム名ではありません。 bashシェルの場合、バックスラッシュ文字(\)は、もう1つバックスラッシュ文字を指定してエスケープする必要があります。 このコマンドにより、成功または失敗を示すメッセージが返されます。

Winbind PAMモジュールが正しく構成されていることを確認するには、次のように、以前にマシンにログオンしたことがないドメインユーザーアカウントを使用してローカルでログオンします。

ssh localhost -l domain\\username

id -u

次のコマンドで、id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。

ls /tmp/krb5cc_uid

次のコマンドで、ユーザーのKerberos資格情報キャッシュのチケットが有効で、期限切れではないことを確認します。

klist

次のコマンドで、セッションを終了します。

diskpart.exeを終了します

GnomeコンソールまたはKDEコンソールに直接ログオンすると、同様のテストを実行できます。

Quest Authentication Services

ドメインコントローラーでのQuestの構成

次の操作は、QuestソフトウェアをActive Directoryドメインコントローラーにインストールし、構成していることと、管理者特権が付与され、Active Directoryにコンピューターオブジェクトを作成できることを前提としています。

Linux VDAマシンにドメインユーザーがログオンできるようにする

Linux VDAマシンでHDXセッションを確立する必要がある各ドメインユーザーに対して、次の操作を行います。

  1. [Active Directoryユーザーとコンピューター]管理コンソールで、目的のユーザーアカウントのActive Directoryユーザーのプロパティを開きます。
  2. [Unix Account]タブを選択します。
  3. [Unix-enabled]チェックボックスをオンにします。
  4. [Primary GID Number]のプライマリGID番号を、実際のドメインユーザーグループのグループIDに設定します。

注意

この手順は、ドメインユーザーがコンソール、RDP、SSH、またはその他のリモート処理プロトコルを使用してログオンできるように設定する場合も同じです。

Linux VDAでのQuestの構成 

SELinuxポリシー適用の回避策

デフォルトのRHEL環境では、SELinuxが完全に適用されています。 これは、Questが使用するUnixドメインソケットのIPCのメカニズムに干渉し、ドメインユーザーのログオンを妨げます。

回避策はいくつかあり、その概要はこちらで説明されています。

最も簡単な方法は、SELinuxを無効にすることです。 rootとして、/etc/selinux/configを編集し、SELinux設定を次のとおりに変更します。

SELINUX=disabled

この変更を行うには、次のコマンドで再起動する必要があります。

reboot

Important

この設定は注意して使用してください。 SELinuxポリシーの適用を無効にした後に再度有効にすると、ルートユーザーやその他のローカルユーザーであっても、完全にロックアウトされてしまう可能性があります。 

VASデーモンの構成

次のようにKerberosチケットの自動更新を有効にして、切断する必要があります。また、認証(オフラインログオン)は無効にする必要があります。

sudo /opt/quest/bin/vastool configure vas vasd \

auto-ticket-renew-interval 32400

sudo /opt/quest/bin/vastool configure vas vas_auth \

allow-disconnected-auth false

これにより、更新間隔が9時間(32400秒)に設定されます。すなわち、チケットのデフォルトの有効期間である10時間よりも1時間短くなります。 チケットの有効期間がさらに短いシステムでは、より小さい値をこのパラメーターに設定します。

PAMおよびNSSの構成

Questでは、HDXや、su、ssh、RDPなどのその他のサービスを介したドメインユーザーのログインを可能にするには、PAMとNSSを手動で構成する必要があります。 PAMおよびNSSを構成するには、次のコマンドを実行します。

sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss

Windowsドメインへの参加

次のように、Questのvastoolコマンドを使用して、LinuxマシンをActive Directoryドメインに追加します。

sudo /opt/quest/bin/vastool -u user join domain-name

userは、コンピューターをActive Directoryドメインに追加する権限を持つ任意のドメインユーザーです。 domain-nameは、ドメインのDNS名(example.comなど)です。

ドメインメンバーシップの確認

XenDesktopのコントローラーを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。 Questによって追加されたLinuxマシンがドメインに存在することを確認するには、次のコマンドを実行します。

sudo /opt/quest/bin/vastool info domain

マシンがドメインに参加している場合は、ドメイン名が返されます。 参加していない場合は、次のエラーが表示されます。

ERROR: No domain could be found.

ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm

default_realm not configured in vas.conf. Computer may not be joined to domain

ユーザー認証の確認

QuestがPAMを使用してドメインユーザーを認証できることを確認するには、次のように、以前にマシンにログオンしたことがないドメインユーザーアカウントを使用してログオンします。

ssh localhost -l domain\\username

id -u

次のコマンドで、id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。

ls /tmp/krb5cc_uid

次のコマンドで、ユーザーのKerberos資格情報キャッシュのチケットが有効で、期限切れではないことを確認します。

/opt/quest/bin/vastool klist

次のコマンドで、セッションを終了します。

diskpart.exeを終了します

GnomeコンソールまたはKDEコンソールに直接ログオンすると、同様のテストを実行できます。

Centrify DirectControl

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている場合、次のようにCentrifyのadjoinコマンドを使用して、LinuxマシンをActive Directoryドメインに追加します。

su – 

adjoin -w -V -u user domain-name

userパラメーターは、コンピューターをActive Directoryドメインに追加する権限を持つ任意のActive Directoryドメインユーザーです。 domain-nameパラメーターは、Linuxマシンを追加するドメインの名前です。

ドメインメンバーシップの確認

XenDesktopのコントローラーを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。 Centrifyにより追加されたLinuxマシンがドメインに存在することを確認するには、次のコマンドを実行します。

su –

adinfo

Joined to domain値が有効であることと、CentrifyDC modeconnectedが返されることを確認します。 CentrifyDC modeがstartingのまま変化しない場合は、Centrifyクライアントにサーバーとの接続の問題、または認証の問題が発生しています。

次を使用すると、より包括的なシステム情報と診断情報を取得できます。

adinfo --sysinfo all

adinfo –diag

さまざまなActive DirectoryおよびKerberosサービスとの接続をテストするには、次のコマンドを実行します。

adinfo --test

NVIDIA GRIDドライバーのインストール 

HDX 3D Proを有効にするには、ハイパーバイザーおよびVDAマシンに必要なグラフィックドライバーをインストールするために、追加のインストール手順が必要です。

次のオプションを構成します。

  1. Citrix XenServer 
  2. VMware ESX

選択したハイパーバイザーに対応する手順に従います。

Citrix XenServer 

この詳しいセクションでは、Citrix XenServer上でのNVIDIA GRIDドライバーのインストールおよび構成の概略について説明します。 

VMware ESX 

このガイドに掲載されている情報に従って、VMware ESX用のNVIDIA GRIDドライバーをインストールし、構成します。

VDAマシン 

以下の手順に従って、Linux仮想マシンゲストのそれぞれに対してドライバーをインストールし、構成します。

  1. 開始する前に、Linux仮想マシンがシャットダウンされていることを確認します。
  2. XenCenterで、GPUパススルーモードのGPUを仮想マシンに追加します。
  3. RHEL仮想マシンを起動します。

NVIDIA GRIDドライバー用にマシンを準備するには、次の手順が必要です。

# yum install gcc

# yum install "kernel-devel-uname-r == $(uname -r)"

# systemctl set-default multi-user.target

完了したら、Red Hat Enterprise Linuxのドキュメントの手順に従って、NVIDIA GRIDドライバーをインストールします。

注意

GPUドライバーのインストール時は、すべての質問でデフォルト(「いいえ」)を選択してください。 

Important

GPUパススルーが有効になると、XenCenterを介してLinux VMにアクセスできなくなります。したがって、接続するにはSSHを使用する必要があります。

NVIDIA GRID™グラフィックドライバーが正しくインストールされているかどうかを確認するには、「nvidia-smi」を実行します。次の内容に似た結果が出力されます。

localized image

次のコマンドで、カードに適切な構成を設定します。

etc/X11/ctx-nvidia.sh

高い解像度やマルチモニター機能を利用するには、有効なNVIDIAライセンスが必要です。 このライセンスを適用するには、『GRID Licensing Guide.pdf - DU-07757-001 September 2015』の製品ドキュメントに従ってください。

Linuxマシンカタログおよびデリバリーグループの構成

マシンカタログへのLinuxマシンの追加

マシンカタログを作成し、Linux VDAマシンを追加する手順は、従来のWindows VDAでの方法とほとんど同じです。 このタスクを完了する方法のより総合的な説明については、オンラインのCitrix製品ドキュメントを参照してください。

次のように、Linux VDAマシンを含むマシンカタログの作成にはいくつかの制約があるため、Windows VDAマシンのマシンカタログの作成手順と異なる点があります。

  • オペレーティングシステムには、次を選択します。
    • ホストされる共有デスクトップ配信モデルの場合、[WindowsサーバーOS]オプションまたは[サーバーOS]オプション 
    • VDI専用デスクトップ配信モデルの場合、[WindowデスクトップOS]オプションまたは[デスクトップOS]オプション
  • マシンが電源管理を行わない設定になっていることを確認します。
  • PVSとMCSはLinux VDAではサポートされないため、ほかのサービスまたはテクノロジ(既存のイメージ)の展開方法を選択してください。
  • 同じマシンカタログで、Linux VDAマシンとWindows VDAマシンを混在させないでください。

注意

以前のバージョンのCitrix Studioでは、「Linux OS」という概念に対応していませんでした。ただし、[WindowsサーバーOS]オプションまたは[サーバーOS]オプションを選択すると、同等のホストされる共有デスクトップ配信モデルが暗黙的に選択されます。 [WindowsデスクトップOS]オプションまたは[デスクトップOS]オプションを選択すると、XenDesktopのマシンごとに単一ユーザーの配信モデルが暗黙的に選択されます。

マシンカタログを作成するためのCitrixドキュメントは、以下を参照してください。

上記より前のバージョンのXenDesktopはサポートされません。

ヒント

マシンがActive Directoryドメインから削除された後に再度追加された場合は、そのマシンをマシンカタログから削除してから再度追加する必要があります。

デリバリーグループの追加

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加する手順は、Windows VDAマシンの場合とほとんど同じです。 このタスクを完了する方法のより総合的な説明については、オンラインのCitrix製品ドキュメントを参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合は、次の制約があります。

  • 配信の種類には、デスクトップを選択します。 Linux VDAマシンでは、アプリケーション配信はサポートされていません。
  • 必ず、選択するADユーザーおよびグループを、Linux VDAマシンにログオンするように適切に構成しておきます。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • Windowsマシンを含むマシンカタログをデリバリーグループで混在させないでください。

デリバリーグループを作成するためのCitrixドキュメントは、以下を参照してください。

上記より前のバージョンのXenDesktopはサポートされません。

Linux VDAソフトウェアのインストール

古いバージョンのアンインストール

Version 1.0よりも古いバージョンのLinux VDAがインストールされている場合は、それをアンインストールしてから新しいバージョンをインストールします。

次のコマンドで、Linux VDAサービスを停止します。

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop

次のコマンドで、パッケージをアンインストールします。

sudo rpm -e XenDesktopVDA

Important

テクニカルプレビューリリースからVersion1.0、1.1、または1.2へのアップグレードはサポートされません。

Linux VDAのインストール

次のように、RPM Package Managerを使用して、Linux VDAソフトウェアをインストールします。

RHEL 6の場合

sudo rpm -i XenDesktopVDA-1.2.0.282-1.el6.x86_64.rpm

RHEL 7.2の場合

sudo rpm -i XenDesktopVDA-1.2.0.282-1.el7.x86_64.rpm

Important

Citrixは、セキュリティを強化するために、Linux VDAのインストール後に次のコマンドを実行することをお勧めします。

sudo sed -i '/ip addr | awk /a xhost "-LOCAL:"' /usr/local/bin/ctxsession.sh

Linux VDAのアップグレード

Linux VDA Version 1.1をインストールしている場合は、RPM Package Managerを使用して、Linux VDAソフトウェアをアップグレードします。

RHEL 6の場合

sudo rpm -U XenDesktopVDA-1.2.0.282-1.el6.x86_64.rpm

RHEL 7.2の場合

sudo rpm -U XenDesktopVDA-1.2.0.282-1.el7.x86_64.rpm

Important

Citrixは、セキュリティを強化するために、Linux VDAのアップグレード後に次のコマンドを実行することをお勧めします。

sudo sed -i '/ip addr | awk /a xhost "-LOCAL:"' /usr/local/bin/ctxsession.sh

Linux VDAの構成

パッケージのインストール後、ctxsetup.shスクリプトを実行して、Linux VDAを構成する必要があります。 パッケージをアップグレードした場合、ctxsetup.shスクリプトを実行してアップグレードを完了する必要があります。 変更を行う前に、このスクリプトでは、環境を確認し、すべての依存コンポーネントがインストールされていることが確認されます。 必要に応じて、いつでもこのスクリプトを再実行して設定を変更できます。

このスクリプトは、手動で質問に回答しながら、または事前に構成した回答を使用して自動で実行できます。 続行する前に、次のコマンドを使用してこのスクリプトのヘルプを確認します。

sudo /usr/local/sbin/ctxsetup.sh –help

質問に回答する構成

次のようにして、質問に回答する手動構成を実行します。

sudo /usr/local/sbin/ctxsetup.sh

自動化された構成

インストールを自動化するために、環境変数を使用して、セットアップスクリプトで必要となるオプションを指定できます。 必要な変数がすべて指定されていると、スクリプトによってユーザーに情報の入力を求めるメッセージが表示されることがなくなり、インストール処理をスクリプト化することができます。

サポートされる環境変数には次のようなものがあります。

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N - Virtual Delivery Agentでは、DNS CNAMEレコードを使用して、Delivery Controller名を指定することができます。 通常は、Nに設定します。
  • CTX_XDL_DDC_LIST = list-ddc-fqdns – Virtual Delivery Agentには、配信の登録に使用するDelivery Controllerの完全修飾ドメイン名
  • (FQDN)のスペース区切りの一覧が必要です。 1つ以上の完全修飾ドメイン名またはCNAMEエイリアスを指定する必要があります。
  • CTX_XDL_VDA_PORT = port-number – Virtual Delivery Agentは、TCP/IPポートを使用してDelivery Controllerと通信します。 通常は、ポート80です。
  • CTX_XDL_REGISTER_SERVICE = Y | N - Linux Virtual Desktopサービスは、起動時の開始をサポートします。 通常は、Yに設定します。
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N – Linux Virtual Desktopサービスでは、ネットワーク受信接続がシステムのファイアウォールの通過を許可されている必要があります。 Linux Virtual Desktop用に、システムのファイアウォールの必要なポート(デフォルトではポート80およびポート1494)を自動で開放できます。 通常は、Yに設定します。
  • CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 – Virtual Delivery Agentには、Delivery Controllerに対して認証するためにKerberos構成設定が必要です。 Kerberos構成は、システムにインストールおよび構成済みのActive Directory統合ツールから指定します。 次に示す、サポートされているActive Directory統合方法のうち、使用するものを指定します。
    • 1 - Samba Winbind
    • 2 - Quest Authentication Services
    • 3 – Centrify DirectControl
  • CTX_XDL_HDX_3D_PRO= Y | N – Linux Virtual Desktopでは、HDX 3D Proがサポートされます。これは、強力なグラフィックアプリケーションの仮想化を最適にするための一連のグラフィックアクセラレーションテクノロジです。 HDX 3D Proをサポートするには、対応するNVIDIA GRIDグラフィックカードをインストールする必要があります。 HDX 3D Proを選択した場合、Virtual Delivery AgentはVDIデスクトップ(単一セッション)モード用に構成されます(すなわち、CTX_XDL_VDI_MODE=Yとなります)。 これは、SUSEではサポートされていません。 必ずこの値をNに設定してください。
  • CTX_XDL_VDI_MODE= Y | N - 専用デスクトップ配信モデル(VDI)またはホストされる共有デスクトップ配信モデルのどちらとしてマシンを構成するかを決定します。 HDX 3D Pro環境の場合は、Yに設定する必要があります。 通常は、Nに設定します。
  • CTX_XDL_SITE_NAME= dns-name – Virtual Delivery Agentは、DNSを使用してLDAPサーバーを検出し、LDAPサービスレコードを照会します。 DNSの検索結果をローカルサイトに制限するには、DNSサイト名を指定します。 通常は、空(none)です。
  • CTX_XDL_LDAP_LIST= list-ldap-servers – Virtual Delivery Agentは、デフォルトではDNSを照会してLDAPサーバーを検出します。ただし、DNSがLDAPサービスレコードを提供できない場合は、LDAPの完全修飾ドメイン名(FQDN)およびLDAPポートのスペース区切りの一覧(例:ad1.mycompany.com:389)を指定することができます。 通常は、空(none)です。
  • CTX_XDL_SEARCH_BASE= search-base – Virtual Delivery Agentは、デフォルトではActive Directoryドメインのルート(例:DC=mycompany,DC=com)に設定された検索ベースを使用してLDAPを照会します。ただし、検索のパフォーマンスを改善するために検索ベースを指定できます(例:OU=VDI,DC=mycompany,DC=com)。 通常は、空(none)です。
  • CTX_XDL_START_SERVICE = Y | N - Linux VDA構成の完了時にLinux VDAサービスが開始されるようにするかどうかを指定します。 通常は、Yに設定します。

次のようにして、環境変数を設定し、構成スクリプトを実行します。

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N

export CTX_XDL_DDC_LIST=list-ddc-fqdns

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y|N

export CTX_XDL_ADD_FIREWALL_RULES=Y|N

export CTX_XDL_AD_INTEGRATION=1|2|3

export CTX_XDL_HDX_3D_PRO=Y|N

export CTX_XDL_VDI_MODE=Y|N

export CTX_XDL_SITE_NAME=dns-name

export CTX_XDL_LDAP_LIST=list-ldap-servers

export CTX_XDL_SEARCH_BASE=search-base

export CTX_XDL_START_SERVICE=Y|N

sudo -E /usr/local/sbin/ctxsetup.sh

sudoに-Eオプションを指定し、作成する新しいシェルに既存の環境変数を渡す必要があります。 Citrixは、最初の行に#!/bin/bashを記述し、上記のコマンドからなるシェルスクリプトファイルを作成することをお勧めします。

または、次のようにして、1つのコマンドですべてのパラメーターを指定することができます。

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST=list-ddc-fqdns \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST=list-ldap-servers \

CTX_XDL_SEARCH_BASE=search-base \

CTX_XDL_START_SERVICE=Y|N \

/usr/local/sbin/ctxsetup.sh

構成変更の削除

シナリオによっては、Linux VDAパッケージをアンインストールしないで、ctxsetup.shスクリプトによって行われた構成変更を削除することが必要となる場合があります。

続行する前に、次のコマンドを使用してこのスクリプトのヘルプを確認します。

sudo /usr/local/sbin/ctxcleanup.sh --help

構成変更を削除するには、次のコマンドを実行します。

sudo /usr/local/sbin/ctxcleanup.sh

Important

このスクリプトにより、すべての構成データがデータベースから削除され、Linux VDAを操作できなくなります。

構成ログ

ctxsetup.shおよびctxcleanup.shスクリプトでは、コンソールにエラーが表示され、次の構成ログファイルに追加情報が書き込まれます。

/tmp/xdl.configure.log

Linux VDAサービスを再起動し、変更を反映させます。

VDAソフトウェアの実行

ctxsetup.shスクリプトを使用してLinux VDAを構成したら、次のコマンドを使用してLinux VDAを制御します。

Linux VDAの起動

Linux VDAサービスを起動するには、次のコマンドを実行します。

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start

Linux VDAの停止

Linux VDAサービスを停止するには、次のコマンドを実行します。

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop

Linux VDAの再起動

Linux VDAサービスを再起動するには、次のコマンドを実行します。

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start

Linux VDAの状態の確認

Linux VDAサービスの実行状態を確認するには、次のコマンドを実行します。

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status

Linux VDAソフトウェアのアンインストール

Linux VDAのインストール状態の照会

Linux VDAがインストールされているかどうかを確認したり、インストールされているパッケージのバージョンを表示したりするには、次のコマンドを実行します。

rpm -q XenDesktopVDA

詳細を表示するには、次のコマンドを実行します。

rpm –qi XenDesktopVDA

注意

Linux VDAソフトウェアをアンインストールすると、関連付けられたPostgreSQLおよびその他の構成データが削除されます。 ただし、Linux VDAのインストールより前にセットアップされた、PostgreSQLパッケージおよびその他の依存するパッケージは削除されません。

依存するパッケージの削除

この記事では、PostgreSQLなど、依存するパッケージの削除方法については説明していません。

トラブルシューティング

Linuxマシンが正しく準備されているかどうかの確認

最も一般的な問題は、主にネットワーク、NTPタイムサーバー構成、またはActive Directoryドメインのメンバーシップに関連する、Linuxマシンの誤った構成から直接引き起こされます。 多くの場合、Linuxマシンの構成を修正すると、VDAソフトウェアの問題は解決します。

ログとトレースの構成

Broker AgentとHDXサービスでは、syslogにログを記録します。 Citrixサポートには、サポートへの連絡時に追加のトレースを有効にできるツールのセットがあります。

HDXサービスログ

HDXサービスは、設定することなくsyslogにログを記録するよう構成されているため、追加の構成は不要です。

Broker Agentログ 

Broker Agent(ctxvdaサービスとも呼ばれます)は、ネットワークソケットを介してログデータをsyslogに書き込みます。 この機能は、初期状態では構成されていない場合があります。 syslogへのBroker Agentログの記録を有効にするには、次の構成が必要です。

/etc/rsyslog.confファイルを編集して、次の行を追加します。

$ModLoad imudp

$UDPServerRun 514

rsyslog.confファイルを保存して閉じます。 次のコマンドで、rsyslogサービスを再起動して変更を反映させます。

sudo /sbin/service rsyslog restart

HDXセッションが起動しないときの対応策

次のコマンドで、新しいセッションの起動を妨げている可能性がある、孤立したプロセスがないことを確認します。

sudo pkill -9 ctxhdx

sudo pkill -9 ctxgfx

sudo pkill -9 ctxlogin

sudo pkill -9 ctxvfb

Linux VDAサービスを再起動し、接続を再試行します。

重要なディレクトリおよびファイルの所有者および権限の確認

次のディレクトリおよびファイルのファイル所有者および権限を確認します。

  • /var - 所有者:root、グループ:root、権限:0755
  • /var/xdl - 所有者:ctxsrvr、グループ:ctxadm、権限:0755
  • /var/xdl/.isacagent - 所有者:root、グループ:root、権限:0666
  • /var/xdl/.winsta - 所有者:ctxsrvr、グループ:ctxadm、権限:0777
  • /var/xdl/vda - 所有者:root、グループ:root、権限:0755

HDX 3D Proマルチモニターでの再描画の問題

プライマリモニター以外の画面で再描画の問題が発生している場合は、NVIDIA GRIDライセンスが利用可能であることを確認してください。

オーディオが聞こえない

Citrix ReceiverおよびLinuxデスクトップを実行しているデバイスのボリュームコントロールがミュートまたは低いレベルに設定されていないことを確認します。

Linux VDAでオーディオが有効になっていることを確認します。 次のように、ctxregツールを使用して、構成項目fDisableCamの値を照会します。 

sudo ctxreg read -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam

値が0x1である場合は、オーディオが無効になっています。 有効にするには、次のようにしてfDisableCamを0x0に設定します。  

sudo ctxreg update -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam  -d 0x00000000

それでもオーディオが聞こえない場合は、Citrixオーディオシンクがpulseaudioによってロードされていることを確認します。 このPulseAudioモジュールは、セッションの起動時にpulseaudioデーモンにロードされます。 次のように、pacmdツールを使用して、Citrixオーディオシンクがロードされていることを確認します。

pacmd list-sinks

Citrixオーディオシンクがロードされている場合、出力は次のようになります。

name:

driver:

Citrixオーディオシンクがロードされていない場合は、ctxaudioプロセスを強制終了してから再起動します。

オーディオが録音されない

Linux VDAでオーディオが有効になっていることと、ICAクライアントでオーディオ録音が有効になっていることを確認します。 それでもオーディオが録音されない場合は、Citrixオーディオソースがpulseaudioによってロードされていることを確認します。 ICAクライアントでオーディオ録音が有効になっている場合は、セッションの起動時に、このPulseAudioモジュールがpluseaudioデーモンにロードされます。 次のように、pacmdツールを使用して、Citrixオーディオソースがロードされていることを確認します。

pacmd list-sources

Citrixオーディオソースがロードされている場合、出力は次のようになります。

name:

driver:

Citrixオーディオソースがロードされていない場合は、ctxaudioプロセスを強制終了してから再起動します。

印刷できない

印刷が正しく機能しない場合に確認する項目はいくつかあります。 印刷デーモンはセッションごとのプロセスで、実行されるのはセッションの期間中です。 次のコマンドで、印刷デーモンが実行中であることを確認します。

ps –ef | grep ctxlpmngt

ctxlpmngtプロセスが実行中でない場合は、コマンドラインから手動でctxlpmngtを起動します。

それでも印刷が機能しない場合は、次にCUPSフレームワークを確認します。 ctxcupsサービスはプリンター管理用であり、Linux CUPSフレームワークと通信します。 これはマシンごとの単一プロセスとなっていて、次のコマンドで確認できます。

service ctxcups status

サービスが実行中でない場合は、次のようにして手動で起動します。

service ctxcups start

印刷出力が文字化けする 

出力が文字化けする場合、対応していないプリンタードライバーが原因となっている可能性があります。 ユーザーごとのドライバー構成を使用できるため、~/.CtxlpProfile構成ファイルを編集して構成できます。

[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=

printernameは、現在クライアント側で通常使うプリンターの名前が指定されているフィールドです。 これは読み取り専用の値となっており、編集できません。

Important

ppdpathmodel、およびdrivertypeの各フィールドは、マップされたプリンターに対していずれか1つのフィールドしか有効にならないため、同時には設定できません。 

ユニバーサルプリンタードライバーがクライアントプリンターに対応していない場合、model=オプションを使用してネイティブプリンタードライバーのモデルを構成できます。 プリンターの現在のモデル名は、lpinfoコマンドを使用して表示できます。

lpinfo –m

...

xerox/ph3115.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

xerox/ph3115fr.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

xerox/ph3115pt.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

...

次のようにして、プリンターに一致するようにモデルを設定できます。

Model=xerox/ph3115.ppd.gz

ユニバーサルプリンタードライバーがクライアントプリンターに対応していない場合、ネイティブプリンタードライバーのppdファイルのパスを構成できます。 ppdpathの値は、ネイティブプリンタードライバーファイルの絶対パスです。 

たとえば、ppdドライバーが/home/tester/NATIVE_PRINTER_DRIVER.ppdにある場合は、次のようになります。 

ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd

Citrixが提供するユニバーサルプリンタードライバーは3種類(Postscript、pcl5、およびpcl6)です。 ネイティブプリンタードライバーが使用できない場合は、これらをドライバーの種類として構成できます。 

たとえば、クライアントが通常使うプリンターのドライバーの種類がPCL5である場合は、次のようになります。

drivertype=pcl5

注意

Citrix Receiver for MacおよびCitrix Receiver for Linuxでは、サポートされるのがPostscriptプリンターのみであるため、PCL5およびPCL6ユニバーサルプリンタードライバーは適用できません。 この状況では、ネイティブプリンタードライバーのppdpathまたはモデルをPostscript以外のプリンターに設定する必要があります。

既知の問題

セッションのローミング時、Citrix Receiver for AndroidでCaps Lock状態が反対になる場合がある

Citrix Receiver for Androidへの既存の接続をローミングすると、Caps Lock状態が失われる場合があります。 回避策として、拡張キーボードのShiftキーを使用して大文字と小文字を切り替えます。

Citrix Receiver for Macを使用してLinux VDAに接続している場合、altキーを使用するショートカットキーが常に機能するとは限らない

Citrix Receiver for Macでは、左右どちらのoption/altキーを押しても、デフォルトではAltGrが送信されます。 Citrix Receiverの設定でこれを変更することはできますが、結果はアプリケーションによって変わります。

SuSE Linux Enterprise Desktop 11で新しいXクライアントライブラリがキーボードマッピングの問題を引き起こす可能性がある

SuSE Linux Enterprise Desktop 11のxorg-x11-libX11パッケージの新しいバージョンでは、キーボードマッピングの変更を処理する際に問題が発生する場合があります。これが原因で、HDXセッション内でキーボード機能の問題が生じる可能性があります。 この問題は、インストールしたパッケージのバージョンが7.4-5.11.11.1~7.4-5.11.15.1の範囲である場合に、発生する可能性があります。

回避策として、ストックバージョンのxorg-x11-libX11 SP3パッケージにロールバックすると、キーボードマッピングの変更が正常に機能します。 次に例を示します。

rpm -i --force xorg-x11-libX11-7.4-5.9.1

rpm –i --force xorg-x11-libX11-32bit-7.4-5.9.1

rpm -e xorg-x11-libX11-7.4-5.11.15.1

rpm -e xorg-x11-libX11-32bit-7.4-5.11.15.1

この回避策は、ユーザーがマシンにログオンする前に実施する必要があります。セッションがアクティブなときに行うと、ユーザーが次回ログインするまで上記の設定は有効になりません。

ストックバージョンのSP3からアップグレードすると、上記のxorg-x11-libX11パッケージを現在インストールされているバージョンにロックできるため、アップグレード中に変更されることはありません。 アップグレードする前に以下を実行し、その後は通常どおりのアップグレードを続行します。

zypper al xorg-x11-libX11

zypper al xorg-x11-libX11-32bit

XenDesktop Version 7.1のDelivery Controllerと共にLinux VDAを使用すると、セッションの起動に時間がかかる場合がある

起動が遅くなる原因は、Version 7.1のDelivery Controllerによって生成されたICAファイルにCommon Gateway Protocol設定が存在するためです。 この設定が存在すると、Citrix ReceiverはTCPポート2598で接続を確立しようとします。 SLED 12など一部のLinuxディストリビューションでは、デフォルトのファイアウォール設定でTCP SYNパケットをドロップするため、タイムアウトが発生してセッションの起動に時間がかかります。 回避策として、TCPポート2598でTCP SYNを拒否するように、Linux VDAでファイアウォールを構成します。 この問題は、新しいバージョンのDelivery Controllerでは解決済みです。

Linux VDAをドメインに再度追加するときに、登録に失敗する

特定の状況で、Linux VDAがドメインに再度追加されて、Kerberosキーの新しいセットが生成されると、ブローカーがVDAとのセキュリティコンテキストの確立に失敗します。 多くの場合、この問題は、Kerberosキーの以前のセットに基づいた期限切れのVDAサービスチケットがキャッシュに存在し、それをブローカーが使用することが原因で発生します。 この問題によって、VDAがブローカーへの接続を停止することはありませんが、ブローカーはVDAに返すセキュリティコンテキストを確立できません。 通常見られる現象は、VDA登録の失敗です。

この問題は、VDAサービスチケットが最終的に期限切れとなって更新されると自動的に解決しますが、サービスチケットは通常、長時間有効です。 何時間も有効である可能性があります。

解決策として、ブローカーのチケットキャッシュをクリアします。 ブローカーを再起動するか、管理者としてコマンドプロンプトからブローカーで次のコマンドを実行します。

klist -li 0x3e4 purge

このコマンドにより、Citrix Broker Serviceを実行するNetwork ServiceプリンシパルがLSAキャッシュに保持するサービスチケットはすべて削除されます。 これにより、ほかのVDAのサービスチケットが削除されます。また、その他のサービスのサービスチケットも削除される可能性があります。 ただし、この処理は悪影響を及ぼしません。これらのサービスチケットは、再度必要になったときにKDCから再取得されます。

HDX 3D ProをGNOMEと共に使用すると、ロック画面のアイコンが見つからない

NVIDIA GRIDドライバーが有効なとき、Gnomeデスクトップマネージャー(GDM)は無効となりGDMのロック画面機能は使用できません。

オーディオプラグアンドプレイがサポートされない 

ICAセッションでオーディオの録音を開始する前に、オーディオキャプチャデバイスをクライアントマシンに接続することをお勧めします。 オーディオ録音アプリケーションの開始後にデバイスを接続した場合は、アプリケーションが応答しなくなる可能性があります。 この問題が発生した場合は、アプリケーションを再起動してください。 録音中にキャプチャデバイスが取り外されると、同様の問題が発生する可能性があります。 

オーディオの歪み

Windows 10 Receiverでは、オーディオ録音中にオーディオが歪む場合があります。

CTXPSドライバーが一部のPLCプリンターに対応しない

印刷出力が適切でない場合は、プリンタードライバーを、製造元から提供されたネイティブプリンタードライバーに設定してください。 

サイズの大きな文書の印刷が遅い 

ローカルのクライアントプリンターでサイズの大きな文書を印刷すると、印刷ファイルはサーバーとの接続を介して転送されます。 遅い接続では、大きなファイルを転送するのに時間がかかることがあります。 

別のセッションからプリンター通知と印刷ジョブ通知が表示される

Linuxでのセッションの考え方は、Windowsオペレーティングシステムとは異なります。 したがって、すべてのユーザーがシステム全体の通知を受け取ります。 管理者は、CUPS構成ファイル/etc/cups/cupsd.confを変更して、これらの通知を無効にすることができます。

次のように、構成されている現在のポリシー名がこのファイルに記述されています。

DefaultPolicy default

ポリシー名がdefaultである場合は、次の行をデフォルトポリシーのXMLブロックに追加します。

# Job/subscription privacy...

JobPrivateAccess default

JobPrivateValues default

SubscriptionPrivateAccess default

SubscriptionPrivateValues default

... ...

Require user @OWNER

Order deny,allow

Order deny,allow

用語集

ブローカー - XenDesktop環境で、異なるVDAに対するHDXセッションを仲介するXenDesktopコンポーネントです。 DDCまたはXenDesktopのコントローラーとも呼ばれます。

Broker Agent - 配信するデスクトップを提供する、Linux VDAマシン上のコンポーネントです。 Broker Agentは、ブローカーと通信してセッションを仲介できるようにします。 Broker Agentは、VDAサービスとHDXサービスという2つの主要コンポーネントで構成されます。

Citrix Director - Citrixヘルプデスク/サポートがXenDesktop VDAを監視および制御するために使用するコンソールです。

Citrix Studio - XenDesktopを構成するために使用するCitrix管理コンソールです。

DDC - XenDesktop Desktop Delivery Controllerです。 ブローカーまたはDelivery Controllerとも呼ばれます。

FQDN – 完全修飾ドメイン名です。

HDX - High Definition Experience(高品位なユーザーエクスペリエンス)プロトコルです。 以前はCitrix ICAプロトコルと呼ばれていました。

HDXサービス - HDXプロトコルを介して仮想Linuxデスクトップをリモート処理するLinuxサービス(ctxhdx)です。 VDAサービスと通信してセッションを仲介できるようにします。

RHEL - Red Hat Enterprise Linuxです。 Red Hatが提供する商用のLinuxディストリビューションです。

SLED - SUSE Linux Enterprise Desktopです。 Novellが提供する商用のLinuxディストリビューションです。

SLES - SUSE Linux Enterprise Serverです。 Novellが提供する商用のLinuxディストリビューションです。

VDA - Virtual Delivery Agentです。

VDAサービス - ブローカーと通信してセッションを仲介できるようにするLinuxサービス(ctxvda)です。 HDXサービスとも通信してリモートセッションを配信します。