簡単インストール

簡単インストールは、Linux VDA Version 7.13以降で正式にサポートされています。この機能は、必要なパッケージをインストールして、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップできます。

サポート対象のディストリビューション

  Winbind SSSD Centrify
RHEL 7.5
RHEL 7.4
RHEL 6.9
RHEL 6.8
CentOS 7.5
CentOS 7.4
CentOS 6.9
CentOS 6.8
Ubuntu 16.04
SUSE 12.3 不可

簡単インストールの使用

この機能を使用するには、以下の手順に従ってください。

  1. 構成ファイル情報およびLinuxマシンを準備します。
  2. Linux VDAパッケージをインストールします。
  3. Linux VDAのインストールを完了するにはRuntime Environmentをセットアップします。

手順1: 構成ファイル情報およびLinuxマシンを準備する

簡単インストールに必要な以下の構成情報を収集します。

  • ホスト名 - Linux VDAがインストールされるマシンのホスト名
  • ドメインネームサーバーのIPアドレス
  • NTPサーバーのIPアドレスまたは文字列名
  • ドメイン名 - ドメインのNetBIOS名
  • 領域名 - Kerberos領域名
  • アクティブドメインのFQDN - 完全修飾ドメイン名

重要:

  • Linux VDAをインストールするには、Linuxマシンでリポジトリが正しく追加されていることを確認します。
  • セッションを起動するには、X Windowシステムおよびデスクトップ環境がインストールされていることを確認します。

注意事項

  • ワークグループ名はデフォルトではドメイン名です。ご使用の環境内のワークグループをカスタマイズするには、以下の手順に従ってください。

    a. Linux VDAマシンで、/tmp/ctxinstall.confファイルを作成します。
    b. 「workgroup=<your workgroup>」という行をこのファイルに追加します。

  • CentrifyではピュアIPv6 DNS構成をサポートしていません。ADクライアントでADサービスを適切に検索するためには、IPv4を使用するDNSサーバーが/etc/resolv.confに少なくとも1つ存在している必要があります。

    ログ:

     ADSITE   : Check that this machine's subnet is in a site known by AD   : Failed
              : This machine's subnet is not known by AD.
              : We guess you should be in the site Site1.
    

    この問題は、Centrifyの特定の設定が原因で発生します。この問題を解決するには、次の手順を実行します。

    a. Delivery Controllerの [管理ツール] を開きます。
    b. [Active Directoryのサイトとサービス] を選択します。
    c.[サブネット] の正しいサブネットアドレスを追加します。

  • Linux VDA 7.16では、簡単なインストールは、ピュアIPv6をサポートしています。この拡張機能には、以下の前提条件と制限があります:

    • お使いのマシンがピュアIPv6ネットワークで必要なパッケージをダウンロードできるように、Linuxリポジトリを設定する必要があります。
    • Centrifyは、ピュアIPv6ネットワークではサポートされていません。

    注:

    ご使用のネットワークがピュアIPv6で、すべての入力が適切なIPv6形式である場合、VDAはIPv6を使用してDelivery Controllerに登録します。ご使用のネットワークがIPv4とIPv6のハイブリッドである場合、最初のDNS IPアドレスの種類によって、IPv4またはIPv6のどちらが登録に使用されるかが決まります。

  • ドメインに参加させる方式としてCentrifyを選択する場合、ctxinstall.shスクリプトではCentrifyパッケージが必要です。ctxinstall.shでCentrifyパッケージを取得する方法は2通りあります。

手順2: Linux VDAパッケージのインストール

次のコマンドを実行して、Linux VDAの環境をセットアップします。

RHELおよびCentOSディストリビューション

sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>

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

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f

SUSEディストリビューションの場合:

zypper -i install <PATH>/<Linux VDA RPM>

手順3: Runtime Environmentをセットアップしてインストールを完了する

Linux VDAパッケージのインストール後、ctxinstall.shスクリプトを使用して、実行環境を構成します。このスクリプトは、対話モードまたはサイレントモードで実行できます。

対話モード:

手動構成を実行するには、次のコマンドを実行し、プロンプトごとに関連パラメーターを入力します。

sudo /opt/Citrix/VDA/sbin/ctxinstall.sh

サイレントモード:

サイレントモードで簡単インストールを使用するには、ctxinstall.shを実行する前に以下の環境変数を設定します。

  • CTX_EASYINSTALL_HOSTNAME=host-name - Linux VDAサーバーのホスト名を指定
  • CTX_EASYINSTALL_DNS=ip-address-of-dns - DNSのIPアドレス
  • CTX_EASYINSTALL_NTPS=address-of-ntps - NTPサーバーのIPアドレスまたは文字列名
  • CTX_EASYINSTALL_DOMAIN=domain-name - ドメインのNetBIOS名
  • CTX_EASYINSTALL_REALM=realm-name - Kerberos領域名
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify - Active Directoryの統合方式を指定
  • CTX_EASYINSTALL_USERNAME=domain-user-name - ドメインに参加させるために使用されるドメインユーザーの名前を指定
  • CTX_EASYINSTALL_PASSWORD=password - ドメインに参加させるために使用されるドメインユーザーのパスワードを指定

次の変数は、ctxsetup.shで使用されます。

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

設定されていないパラメーターがあるとインストールは対話モードにロールバックし、ユーザー入力が求められます。ctxinstall.shスクリプトは、すべてのパラメーターが既に環境変数で提供されている場合は、回答の入力を求めません。

サイレントモードでは、次のコマンドを実行して環境変数を設定してからctxinstall.shスクリプトを実行する必要があります。

export CTX_EASYINSTALL_HOSTNAME=host-name

export CTX_EASYINSTALL_DNS=ip-address-of-dns

export CTX_EASYINSTALL_NTPS=address-of-ntps

export CTX_EASYINSTALL_DOMAIN=domain-name

export CTX_EASYINSTALL_REALM=realm-name

export CTX_EASYINSTALL_FQDN=ad-fqdn-name

export CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify

export CTX_EASYINSTALL_USERNAME=domain-user-name

export CTX_EASYINSTALL_PASSWORD=password

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_HDX_3D_PRO=Y | N

export CTX_XDL_VDI_MODE=Y | N

export CTX_XDL_SITE_NAME=dns-site-name | '<none>'

export CTX_XDL_LDAP_LIST=list-ldap-servers | '<none>'

export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'

export CTX_XDL_FAS_LIST = list-fas-servers | '<none>'

export CTX_XDL_START_SERVICE=Y | N

sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh

sudoコマンドに-Eオプションを指定して実行し、作成する新しいシェルに既存の環境変数を渡します。最初の行として #!/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|4 \

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-set \

CTX_XDL_FAS_LIST = list-fas-servers \

CTX_XDL_START_SERVICE=Y|N \

/opt/Citrix/VDA/sbin/ctxsetup.sh

トラブルシューティング

このセクションの情報を参照して、この機能を使用することで発生する可能性のある問題のトラブルシューティングを実行できます。

SSSDを使用してドメインに参加できない

ドメインに参加しようとすると、次のような出力のエラーが発生することがあります(画面印刷のログを確認する):

Step 6: join Domain!Enter ctxadmin's password:Failed to join domain: failed to lookup DC info for domain 'CITRIXLAB.LOCAL' over rpc: The network name cannot be found

/var/log/xdl/vda.log:

2016-11-04 02:11:52.317 [INFO ] - The Citrix Desktop Service successfully obtained the following list of 1 delivery controller(s) with which to register: 'CTXDDC.citrixlab.local (10.158.139.214)'.
2016-11-04 02:11:52.362 [ERROR] - RegistrationManager.AttemptRegistrationWithSingleDdc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar. Error: General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))
2016-11-04 02:11:52.362 [ERROR] - The Citrix Desktop Service cannot connect to the delivery controller 'http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar' (IP Address '10.158.139.214')
Check the following:- The system clock is in sync between this machine and the delivery controller.
-  The Active Directory provider (e.g. winbind daemon) service is running and correctly configured.
-  Kerberos is correctly configured on this machine.
If the problem persists, please refer to Citrix Knowledge Base article CTX117248 for further information.
Error Details:
Exception 'General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))' of type 'class javax.xml.ws.soap.SOAPFaultException'.
2016-11-04 02:11:52.362 [INFO ] - RegistrationManager.AttemptRegistrationWithSingleDdc: The current time for this VDA is Fri Nov 04 02:11:52 EDT 2016.
Ensure that the system clock is in sync between this machine and the delivery controller.
Verify the NTP daemon is running on this machine and is correctly configured.
2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false
2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes.

/var/log/messages:

Nov  4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.Nov  4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database

この問題を解決するには、次の手順に従います。

  1. rm -f /etc/krb5.keytab コマンドを実行します。
  2. net ads leave $REALM -U $domain-administrator コマンドを実行します。
  3. Delivery Controllerでマシンカタログおよびデリバリーグループを削除します。
  4. /opt/Citrix/VDA/sbin/ctxinstall.shを実行します。
  5. Delivery Controllerでマシンカタログおよびデリバリーグループを作成します。

Ubuntuのデスクトップセッションで灰色の画面が表示される

セッションを起動すると、空のデスクトップでブロックされる問題が発生します。また、サーバーOSマシンのコンソールでも、ローカルユーザーアカウントを使用してログオンすると灰色の画面が表示されます。

この問題を解決するには、次の手順に従います。

  1. sudo apt-get install unity lightdm
  2. sudo apt-get update
  3. 次の行を/etc/lightdm/lightdm.confに追加します。
    greeter-show-manual-login=true

Ubuntuのデスクトップセッションを起動しようとするとホームディレクトリがないため失敗する

/var/log/xdl/hdx.log:

2016-11-02 13:21:19.015 <P22492:S1> citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2)

2016-11-02 13:21:19.017 <P22227> citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin.

2016-11-02 13:21:19.023 <P22492:S1> citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.

2016-11-02 13:21:59.217 <P22449:S1> citrix-ctxgfx: main: Exiting normally.

ヒント:

この問題の根本原因は、ドメイン管理者のホームディレクトリが作成されていないことです。

この問題を解決するには、次の手順に従います。

  1. コマンドラインで、pam-auth-update を入力します。

  2. 表示されたポップアップウィンドウで、[ログイン時にホームディレクトリを作成する] が選択されていることを確認します。

dbusエラーによりセッションを起動または終了できない

/var/log/messages(RHELまたはCentOSの場合)

Oct 27 04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin.

Oct 27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0

Oct 27 04:17:18 CentOS7 gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)#012aborting...

Oct 27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)

Oct 27 04:17:18 CentOS7 gnome-session: aborting...

Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]: Exiting normally.

Oct 27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin.

Ubuntuディストリビューションの場合は、log /var/log/syslogを使用

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] pid.c: Stale PID file, overwriting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). Aborting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [ [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon already running.Nov  3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: Exiting normally

再起動するまで機能しないグループまたはモジュールがあります。dbusエラーメッセージがログに表示される場合、システムを再起動してから再試行することをお勧めします。

SELinuxでSSHDがホームディレクトリにアクセスできない

ユーザーはセッションを起動できますが、ログオンできません。

/var/log/ctxinstall.log:

Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81

Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow polyinstantiation to enabled

   Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.

You can read 'None' man page for more details.

    Do

       setsebool -P polyinstantiation_enabled 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that sshd should be allowed setattr access on the root directory by default.

Then you should report this as a bug.

You can generate a local policy module to allow this access.

      Do

       allow this access for now by executing:

       # grep sshd /var/log/audit/audit.log | audit2allow -M mypol

# semodule -i mypol.pp

この問題を解決するには、次の手順に従います。

  1. /etc/selinux/configに次の変更を加えることで、SELinuxを無効にします。

    SELINUX=disabled

  2. VDAを再起動します。