Linux Virtual Delivery Agent

簡単インストールを使用したドメイン参加済みVDAの作成

重要:

  • 新規インストールの場合、迅速なインストールについては、この記事を参照することをお勧めします。この記事では、簡単インストールを使用してLinux VDAをインストールおよび構成する方法を順を追って説明します。簡単インストールは、手動インストールよりも時間と労力を節約し、エラーが発生しにくいです。必要なパッケージをインストールし、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップするのに役立ちます。

  • 簡単インストールは、Questを使用したドメイン参加をサポートしていません。

  • ドメインに参加していないVDAを作成するには、Machine Creation Services (MCS)を使用する必要があります。詳細については、「ドメインに参加していないLinux VDAの作成」を参照してください。

  • ドメインに参加していないVDAで利用可能な機能については、「ドメインに参加していないVDA」を参照してください。

手順 1:構成情報とLinuxマシンの準備

PATH

  • 簡単インストールに必要な以下の構成情報を収集します。
  • ホスト名 – Linux VDAをインストールするマシンのホスト名。
  • ドメインネームサーバーのIPアドレス。
  • NTPサーバーのIPアドレスまたは文字列名。
  • ドメイン名 – ドメインのNetBIOS名。
  • レルム名 – Kerberosレルム名。
  • ドメインの完全修飾ドメイン名 (FQDN)。
  • AD統合方法 - Active Directory統合方法。現在、簡単インストールはWinbind、SSSD、Centrify、およびPBISをサポートしています。
  • ユーザー名 – マシンをドメインに参加させるユーザーの名前。
  • パスワード - マシンをドメインに参加させるユーザーのパスワード。
  • OU – 組織単位。オプション。

重要:

  • Linux VDAをインストールするには、リポジトリがLinuxマシンに正しく追加されていることを確認してください。
  • セッションを起動するには、X Windowシステムとデスクトップ環境がインストールされていることを確認してください。
  • セキュリティのため、簡単インストールはドメイン参加パスワードを保存しません。対話モードで簡単インストールスクリプト (ctxinstall.sh) を実行するたびに、ドメイン参加パスワードを手動で入力する必要があります。サイレントモードでは、ドメイン参加パスワードを /Citrix/VDA/sbin/ctxinstall.conf に設定するか、パスワードをエクスポートする必要があります。ドメイン参加に管理者アカウントを使用しないことをお勧めします。代わりに、管理者アカウント以外のActive Directoryユーザーにドメイン参加権限を委任してください。これを行うには、Delegation of Control Wizard を使用してドメインコントローラーで制御を委任します。

手順 2:ハイパーバイザーの準備

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

-  ### Citrix Hypervisor™での時刻同期の修正

Citrix Hypervisorの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとCitrix Hypervisorの両方で問題が発生します。両方ともシステムクロックを管理しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは変更は不要です。

Citrix VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Linux VM内からCitrix Hypervisorの時刻同期機能が存在し、有効になっているかどうかを確認できます。

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは0または1を返します。

-  0 - 時刻同期機能が有効になっており、無効にする必要があります。
  • 1 - 時刻同期機能が無効になっており、それ以上の操作は不要です。

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

有効になっている場合、ファイルに1を書き込むことで時刻同期機能を無効にします。

sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

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

xen.independent_wallclock = 1

これらの変更を確認するには、システムを再起動します。

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは値1を返します。

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

Hyper-V Linux Integration ServicesがインストールされているLinux VMは、Hyper-Vの時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックが正確に保たれるようにするには、NTPサービスと並行してこの機能を有効にする必要があります。

管理オペレーティングシステムから:

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

注:

このアプローチは、NTPとの競合を避けるためにホストの時刻同期が無効になっているVMwareおよびCitrix Hypervisorとは異なります。Hyper-Vの時刻同期は、NTPの時刻同期と共存し、補完することができます。

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

VMwareの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとハイパーバイザーの両方で問題が発生します。両方ともシステムクロックを同期しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。

VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:

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

手順 3:.NET Runtime 6.0のインストール

Linux VDAをインストールする前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers の手順に従って.NET Runtime 6.0をインストールします。

.NET Runtime 6.0をインストールした後、which dotnet コマンドを実行してランタイムパスを見つけます。

コマンドの出力に基づいて、.NETランタイムのバイナリパスを設定します。たとえば、コマンドの出力が/aa/bb/dotnet の場合、/aa/bb を.NETバイナリパスとして使用します。

ステップ 4: Linux VDAパッケージのダウンロード

  1. Citrix Virtual Apps and Desktopsダウンロードページにアクセスします。
  2. Citrix Virtual Apps and Desktopsの適切なバージョンを展開します。
  3. Components を展開してLinux VDAを見つけます。例:

    Citrix Virtual Apps and Desktopsのコンポーネント

  4. Linux VDAリンクをクリックしてLinux VDAのダウンロードにアクセスします。

    Linux VDAのダウンロード

  5. お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。

  6. Linux VDAパッケージの整合性を検証するために使用できるGPG公開鍵をダウンロードします。例:

    • GPG公開鍵

    公開鍵を使用してLinux VDAパッケージの整合性を検証するには、次の手順を実行します。

    • RPMパッケージの場合、次のコマンドを実行して公開鍵をRPMデータベースにインポートし、パッケージの整合性を確認します。

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • DEBパッケージの場合、次のコマンドを実行して公開鍵をDEBデータベースにインポートし、パッケージの整合性を確認します。

       sudo apt-get install dpkg-sig
       gpg --import <path to the public key>
       dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

ステップ 5: Linux VDAパッケージのインストール

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

Amazon Linux 2、CentOS、RHEL、およびRocky Linuxディストリビューションの場合:

注:

-  RHELおよびCentOSの場合、Linux VDAを正常にインストールする前にEPELリポジトリをインストールします。EPELのインストール方法については、<https://docs.fedoraproject.org/en-US/epel/> の手順を参照してください。
  • RHEL 9.1/9.0およびRocky Linux 9.1/9.0にLinux VDAをインストールする前に、libsepol パッケージをバージョン3.4以降に更新してください。
sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
  • 注:

    GCPでホストされているRHEL 8.x/9.xおよびRocky Linux 8.x/9.xにLinux VDAをインストールした後、イーサネット接続が失われる可能性があり、VMの再起動後にLinux VDAに到達できなくなる可能性があります。この問題を回避するには、VMを再起動する前に次のコマンドを実行します。

    nmcli dev connect eth0
    
    service NetworkManager restart
    
    <!--NeedCopy-->
    
  • Ubuntu/Debianディストリビューションの場合:
-  sudo dpkg -i <PATH>/<Linux VDA deb>
-  sudo apt-get install -f
<!--NeedCopy-->

注:

  • Debian 11.3ディストリビューションに必要な依存関係をインストールするには、deb http://deb.debian.org/debian/ bullseye main の行を/etc/apt/sources.list ファイルに追加します。

  • GCP上のUbuntu 20.04の場合、RDNSを無効にします。そのためには、/etc/krb5.conf[libdefaults] の下にrdns = false の行を追加します。

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

    1. AWS、Azure、およびGCP上のSUSE 15.4の場合、以下を確認してください。
    • libstdc++6 バージョン12以降を使用していること。
    • /etc/sysconfig/windowmanagerDefault_WM パラメーターが “gnome” に設定されていること。
    1. 次のコマンドを実行してLinux VDAをインストールします。
     zypper -i install <PATH>/<Linux VDA RPM>
    
     <!--NeedCopy-->
    
  • ステップ 6: NVIDIA GRIDドライバーのインストール

  • HDX™ 3D Proを有効にするには、ハイパーバイザーおよびVDAマシンにNVIDIA GRIDドライバーをインストールする必要があります。

  • NVIDIA GRID Virtual GPU Manager(ホストドライバー)を特定のハイパーバイザーにインストールおよび構成するには、次のガイドを参照してください。

  • Citrix Hypervisor
  • VMware ESX
  • Nutanix AHV

NVIDIA GRIDゲストVMドライバーをインストールおよび構成するには、次の一般的な手順を実行します。

  1. ゲストVMがシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、VMにGPUを割り当てます。
  3. VMを起動します。
  4. VMにゲストVMドライバーをインストールします。

手順7:使用するデータベースの指定

Linux VDAパッケージのインストール後、SQLiteとPostgreSQLを切り替えることができます。これを行うには、次の手順を完了します。

注:

  • VDIモードではSQLiteのみを使用し、ホスト型共有デスクトップ配信モデルではPostgreSQLを使用することをお勧めします。

    • 簡易インストールおよびMCSの場合、SQLiteまたはPostgreSQLを手動でインストールすることなく指定できます。/etc/xdl/db.confで特に指定がない限り、Linux VDAはデフォルトでPostgreSQLを使用します。
  • /etc/xdl/db.confを使用して、PostgreSQLのポート番号を構成することもできます。
  1. /etc/xdl/db.confを編集して、使用するデータベースを指定します。
  2. sudo /opt/Citrix/VDA/sbin/ctxinstall.shまたは/opt/Citrix/VDA/bin/easyinstallを実行します。

手順8:インストールを完了するためのランタイム環境の設定

Linux VDAパッケージのインストール後、ctxinstall.shスクリプトまたはGUIを使用して実行環境を構成します。

注:

    • ランタイム環境を設定する前に、OSにen_US.UTF-8ロケールがインストールされていることを確認してください。ロケールがOSで利用できない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。Debianの場合、/etc/locale.genファイルを編集して# en_US.UTF-8 UTF-8行のコメントを解除し、sudo locale-genコマンドを実行します。

ctxinstall.sh

ctxinstall.shは、Linux VDAのランタイム環境を構成する簡易インストールスクリプトです。詳細については、ヘルプコマンドctxinstall.sh -hを使用してください。

簡易インストールでは、/opt/Citrix/VDA/sbin/ctxinstall.confを構成ファイルとして使用し、GUIおよびctxinstall.shに必要なすべての環境変数の値を設定、保存、同期します。構成ファイルを初めて作成する場合は、次のいずれかの方法を使用します。

  • /opt/Citrix/VDA/sbin/ctxinstall.conf.tmplテンプレートファイルをコピーし、/opt/Citrix/VDA/sbin/ctxinstall.confとして保存します。
  • ctxinstall.shを実行します。ctxinstall.shを実行するたびに、入力が/opt/Citrix/VDA/sbin/ctxinstall.confに保存されます。

注:

  • 最小特権の原則に従い、ドメイン参加パスワードがファイルに設定されている可能性があるため、ルートユーザーのみが/opt/Citrix/VDA/sbin/ctxinstall.confを読み取れるようにしてください。
  • Linux VDAをアンインストールすると、/opt/Citrix/VDA以下のファイルが削除されます。VDAをアンインストールする前に、/opt/Citrix/VDA/sbin/ctxinstall.confをバックアップすることをお勧めします。

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_USERNAME=domain-user-name – マシンをドメインに参加させるユーザーの名前。
  • CTX_EASYINSTALL_PASSWORD=password – マシンをドメインに参加させるユーザーのパスワード。

    注:

    ドメイン参加に管理者アカウントを使用しないことをお勧めします。代わりに、管理者アカウント以外のActive Directoryユーザーにドメイン参加権限を委任してください。これを行うには、Delegation of Control Wizardを使用してドメインコントローラーで制御を委任します。

次の4つの変数はオプションです。これらが設定されていなくても、ctxinstall.shはサイレントモードで中止されず、対話モードでユーザー入力が求められることもありません。これらの変数は、値をエクスポートするか、/Citrix/VDA/sbin/ctxinstall.confを編集することによってのみ設定できます。

  • CTX_EASYINSTALL_NETBIOS_DOMAIN=netbios-domain-name – NetBIOSドメイン名は通常、ドット(.)で区切られたDNSドメイン名の最初のコンポーネントです。それ以外の場合は、別のNetBIOSドメイン名をカスタマイズします。この変数はオプションです。

  • CTX_EASYINSTALL_OU=ou-value – OU値はADメソッドによって異なります。OU値の例については、この記事の考慮事項セクションの表を参照してください。この変数はオプションです。
  • CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path – 簡易インストールは、インターネットからCentrifyパッケージをダウンロードするのに役立ちます。ただし、Centrifyがすでにインストールされている場合は、この変数で定義されたローカルディレクトリからCentrifyパッケージを取得できます。この変数はオプションです。
  • CTX_EASYINSTALL_PBIS_LOCAL_PATH= pbis-local-path – 簡易インストールは、インターネットからPBISパッケージをダウンロードするのに役立ちます。ただし、PBISがすでにインストールされている場合は、この変数で定義されたローカルディレクトリからPBISパッケージを取得できます。この変数はオプションです。

ctxinstall.shを実行すると、別のスクリプトであるctxsetup.shが呼び出されます。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つのFQDNまたは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 VDAサービスは、システムファイアウォールを介して受信ネットワーク接続が許可されることを必要とします。Linux Virtual Desktopのシステムファイアウォールで、必要なポート(デフォルトではポート80および1494)を自動的に開くことができます。 - CTX_XDL_AD_INTEGRATION=winbind | sssd | centrify | pbis – Linux VDAは、Delivery Controllerで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。 - CTX_XDL_HDX_3D_PRO=Y | N – Linux VDAは、リッチグラフィックアプリケーションの仮想化を最適化するように設計されたGPUアクセラレーションテクノロジーのセットであるHDX 3D Proをサポートしています。HDX 3D Proが選択されている場合、VDAはVDIデスクトップ(シングルセッション)モード(つまり、CTX_XDL_VDI_MODE=Y)用に構成されます。
  • 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は、LDAPサーバーを検出するためにDNSをクエリします。DNSがLDAPサービスレコードを提供できない場合は、LDAPポートを含むLDAP FQDNのスペース区切りリストを提供できます。例:ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268。Active Directoryフォレスト内でより高速なLDAPクエリを有効にするには、ドメインコントローラーでGlobal Catalogを有効にし、関連するLDAPポート番号を3268として指定します。この変数はデフォルトで<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> テキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。FAS サーバーと適切に通信するには、FAS サーバーで指定されているポート番号と一致するポート番号を追加してください。例: CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’。
    • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス (ctxvda) をサポートするための .NET Runtime 6.0 のインストールパス。デフォルトパスは /usr/bin です。
    • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – セッションで使用する GNOME、GNOME Classic、または MATE デスクトップ環境を指定します。変数を指定しない場合、VDA に現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップが MATE の場合は、変数の値を mate に設定する必要があります。
  • CTX_XDL_START_SERVICE=Y | N – 構成が完了したときに Linux VDA サービスを開始するかどうかを決定します。
  • CTX_XDL_TELEMETRY_SOCKET_PORT – Citrix Scout のリッスン用ソケットポート。デフォルトポートは 7503 です。
  • CTX_XDL_TELEMETRY_PORT – Citrix Scout と通信するためのポート。デフォルトポートは 7502 です。

考慮事項

  • NetBIOS ドメイン名は通常、ドット (.) で区切られた DNS ドメイン名の最初のコンポーネントです。環境で異なる NetBIOS ドメイン名をカスタマイズするには、/opt/Citrix/VDA/sbin/ctxinstall.conf で環境変数 CTX_EASYINSTALL_NETBIOS_DOMAIN を設定します。

  • VDA を特定の OU に参加させるには、次の手順を実行します。

    1. 特定の OU がドメインコントローラー上に存在することを確認します。

      OU の例については、次のスクリーンショットを参照してください。

      OU の例

    2. /opt/Citrix/VDA/sbin/ctxinstall.conf で環境変数 CTX_EASYINSTALL_OU を設定します。

      OU の値は、AD の方法によって異なります。次の表は、上記のスクリーンショットの OU 名の例を示しています。組織内の他の OU 名を使用することもできます。

      OS Winbind SSSD Centrify PBIS
      Amazon Linux 2 "Linux/amazon" "Linux/amazon" "XD.LOCAL/Linux/amazon" "Linux/amazon"
      Debian "Linux/debian" "Linux/debian" "XD.LOCAL/Linux/debian" "Linux/debian"
      RHEL 9.1/9.0, Rocky Linux 9.1/9.0 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/A N/A
      RHEL 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      Rocky Linux 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/A N/A
      RHEL 7 "Linux/redhat" "Linux/redhat" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      SUSE "Linux/suse" "Linux/suse" "XD.LOCAL/Linux/suse" "Linux/suse"
      Ubuntu "Linux/ubuntu" "Linux/ubuntu" "XD.LOCAL/Linux/ubuntu" "Linux/ubuntu"
  • Centrify は純粋な IPv6 DNS 構成をサポートしていません。adclient が AD サービスを適切に検出するには、/etc/resolv.conf に IPv4 を使用する DNS サーバーが少なくとも 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.
<!--NeedCopy--> ```

この問題はCentrifyとその構成に固有のものです。この問題を解決するには、次の手順を実行します。

a. ドメインコントローラーで **[管理ツール]** を開きます  
b. **[Active Directoryサイトとサービス]** を選択します  
c. **[サブネット]** に適切なサブネットアドレスを追加します  
  • Easy Installは、Linux VDA 7.16以降、純粋な IPv6 をサポートします。以下の前提条件と制限が適用されます。

    • マシンが純粋な IPv6 ネットワーク経由で必要なパッケージをダウンロードできるように、Linuxリポジトリを構成する必要があります。
    • Centrifyは純粋な IPv6 ネットワークではサポートされていません。

    注:

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

  • ターゲットセッションユーザーのデスクトップ環境は、次の手順を実行して変更することもできます。

    1. VDA上の $HOME/<ユーザー名> ディレクトリの下に .xsession または .Xclients ファイルを作成します。Amazon Linux 2を使用している場合は、.Xclients ファイルを作成します。その他のディストリビューションを使用している場合は、.xsession ファイルを作成します
    2. .xsession または .Xclients ファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。

      • MATEデスクトップの場合

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • GNOME Classicデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
         <!--NeedCopy-->
        
      • GNOMEデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
         <!--NeedCopy-->
        
    1. ターゲットセッションユーザーと700ファイル権限を共有します。
    • バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、VDAに切り替え可能なデスクトップ環境を事前にインストールする必要があります。詳細については、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。
  • ドメインに参加する方法としてCentrifyを選択した場合、ctxinstall.shスクリプトにはCentrifyパッケージが必要です。ctxinstall.shがCentrifyパッケージを取得する方法は次のとおりです。

  • Ubuntu/Debian: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-deb9-x86_64.tgz

    • Centrifyがすでにインストールされている場合は、ローカルディレクトリからCentrifyパッケージを取得します。Centrifyパッケージのディレクトリを指定するには、/opt/Citrix/VDA/sbin/ctxinstall.confCTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=/home/mydir を設定します。例:

       ls  -ls  /home/mydir
           9548 -r-xr-xr-x. 1 root root  9776688 May 13  2016 adcheck-rhel4-x86_64
           4140 -r--r--r--. 1 root root  4236714 Apr 21  2016 centrifyda-3.3.1-rhel4-x86_64.rpm
           33492 -r--r--r--. 1 root root 34292673 May 13  2016 centrifydc-5.3.1-rhel4-x86_64.rpm
           4 -rw-rw-r--. 1 root root     1168 Dec  1  2015 centrifydc-install.cfg
           756 -r--r--r--. 1 root root   770991 May 13  2016 centrifydc-ldapproxy-5.3.1-rhel4-x86_64.rpm
           268 -r--r--r--. 1 root root   271296 May 13  2016 centrifydc-nis-5.3.1-rhel4-x86_64.rpm
           1888 -r--r--r--. 1 root root  1930084 Apr 12  2016 centrifydc-openssh-7.2p2-5.3.1-rhel4-x86_64.rpm
           124 -rw-rw-r--. 1 root root   124543 Apr 19  2016 centrify-suite.cfg
           0 lrwxrwxrwx. 1 root root       10 Jul  9  2012 install-express.sh -> install.sh
           332 -r-xr-xr--. 1 root root   338292 Apr 10  2016 install.sh
           12 -r--r--r--. 1 root root    11166 Apr  9  2015 release-notes-agent-rhel4-x86_64.txt
           4 -r--r--r--. 1 root root     3732 Aug 24  2015 release-notes-da-rhel4-x86_64.txt
           4 -r--r--r--. 1 root root     2749 Apr  7  2015 release-notes-nis-rhel4-x86_64.txt
           12 -r--r--r--. 1 root root     9133 Mar 21  2016 release-notes-openssh-rhel4-x86_64.txt
       <!--NeedCopy-->
      
  • ドメインに参加する方法としてPBISを選択した場合、ctxinstall.shスクリプトにはPBISパッケージが必要です。ctxinstall.shがPBISパッケージを取得する方法は次のとおりです。

    • Easy Installは、PBISパッケージをインターネットから自動的にダウンロードするのに役立ちます。たとえば、各ディストリビューションのURLは次のとおりです。

      Amazon Linux 2, CentOS 7, RHEL 8, RHEL 7, SUSE 15.4: wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh

      Debian, Ubuntu: wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh

    • インターネットから特定のバージョンのPBISパッケージを取得します。これを行うには、/opt/Citrix/VDA/sbin/ctxinstall.shファイル内の “pbisDownloadRelease” および “pbisDownloadExpectedSHA256” の行を変更します。

      例については、次のスクリーンショットを参照してください。

      PBISパッケージの特定のバージョンを取得

    • PBISがすでにインストールされている場合は、ローカルディレクトリからPBISパッケージを取得します。PBISパッケージのディレクトリを指定するには、/opt/Citrix/VDA/sbin/ctxinstall.conf で環境変数 CTX_EASYINSTALL_PBIS_LOCAL_PATH を設定します。

対話モード

ctxinstall.sh スクリプトを対話モードで実行するには、-S オプションなしで sudo /opt/Citrix/VDA/sbin/ctxinstall.sh コマンドを使用します。コマンドラインインターフェイスの各プロンプトで関連する変数値を入力します。変数がすでに設定されている場合、ctxinstall.sh は変更を希望するかどうか確認を求めます。

サイレントモード

サイレントモードでは、/opt/Citrix/VDA/sbin/ctxinstall.conf または export コマンドを使用して、前述の変数を設定する必要があります。その後、ctxinstall.sh -S を実行します(ここで、文字 S大文字であることに注意してください)。必要な変数がすべて設定されていないか、一部の値が無効な場合、デフォルト値がない限り、ctxinstall.sh は実行を中止します。

各変数のエクスポートされた値は、設定されていない場合を除き、/Citrix/VDA/sbin/ctxinstall.conf の値を上書きします。ドメイン参加パスワードを除くすべての更新された値は、/Citrix/VDA/sbin/ctxinstall.conf に保存されます。したがって、サイレントモードでは、/Citrix/VDA/sbin/ctxinstall.conf でドメイン参加パスワードを設定するか、パスワードをエクスポートする必要があります。

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_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_AD_INTEGRATION=winbind | centrify | sssd | pbis

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_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime

export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y | N

sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

sudo コマンドを実行するときは、既存の環境変数を新しいシェルに渡すために -E オプションを入力します。最初の行に #!/bin/bash を指定して、前述のコマンドからシェルスクリプトファイルを作成することをお勧めします。

または、単一のコマンドを使用してすべての変数を指定することもできます。

VDA 実行環境変数(「CTX_XDL_」で始まるもの)を設定するには、ctxinstall.sh -s を実行します(ここで、文字 s小文字であることに注意してください)。

GUI

SSSD または Winbind をドメイン参加方法として使用する場合、GUI を介した簡易インストールを使用できます。VDA のデスクトップ環境で /opt/Citrix/VDA/bin/easyinstall コマンドを実行し、簡易インストール GUI の指示に従います。

簡易インストール GUI

簡易インストール GUI は、次の操作をガイドします。

  • システム環境の確認
  • 依存関係のインストール
  • VDA を指定されたドメインに参加させる
  • ランタイム環境の構成

ヒント:

  • [保存] をクリックして、変数設定を指定したパスのローカルファイルに保存します。[読み込み] をクリックして、指定したファイルから変数設定を読み込みます。MCS 変数の構成については、「Machine Creation Services (MCS) を使用した Linux VDA の作成」の記事の「ステップ 3h: MCS 変数の構成」を参照してください。
  • ctxinstall.sh スクリプトは、ドメイン参加パスワードを除くすべての変数設定を /Citrix/VDA/sbin/ctxinstall.conf に保存します。

ステップ 9: XDPing の実行

sudo /opt/Citrix/VDA/bin/xdping を実行して、Linux VDA 環境における一般的な構成の問題を確認します。詳細については、「XDPing」を参照してください。

ステップ 10: Linux VDA の実行

Linux VDA の開始:

Linux VDA サービスを開始するには:

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDA の停止:

Linux VDA サービスを停止するには:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
<!--NeedCopy-->

注:

ctxvda および ctxhdx サービスを停止する前に、systemctl stop ctxmonitord コマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。

Linux VDA の再起動:

Linux VDA サービスを再起動するには:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDA のステータスの確認:

Linux VDA サービスの実行ステータスを確認するには:

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status
<!--NeedCopy-->

ステップ 11: マシンカタログの作成

マシンカタログを作成し、Linux VDA マシンを追加するプロセスは、従来の Windows VDA のアプローチと同様です。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。

Linux VDA マシンを含むマシンカタログを作成する場合、Windows VDA マシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。

  • オペレーティングシステムについては、以下を選択します。
    • ホスト型共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルの場合は、シングルセッションOSオプション。
  • 同じマシンカタログ内でLinux VDAマシンとWindows VDAマシンを混在させないでください。

注:

Citrix Studioの初期バージョンでは、「Linux OS」という概念はサポートされていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホスト型共有デスクトップ配信モデルが意味されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンごとに1ユーザーの配信モデルが意味されます。

ヒント:

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

ステップ12:デリバリーグループの作成

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。

  • 選択したADユーザーとグループが、Linux VDAマシンにログオンできるように適切に構成されていることを確認してください。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • デリバリーグループとWindowsマシンを含むマシンカタログを混在させないでください。

重要:

アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、Linux VDAは、同じマシンへのデスクトップとアプリの配信をサポートしていません。

マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2305」を参照してください。

ステップ13:Linux VDAのアップグレード(オプション)

既存のインストールは、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。

RHEL 7およびCentOS 7の場合:

sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
<!--NeedCopy-->

RHEL 8およびRocky Linux 8の場合:

sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
<!--NeedCopy-->

RHEL 9.1/9.0およびRocky Linux 9.1/9.0の場合:

注:

RHEL 9.1/9.0およびRocky Linux 9.1/9.0でLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新してください。

sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
<!--NeedCopy-->

SUSEの場合:

sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

Ubuntu 20.04の場合:

sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy-->

Ubuntu 22.04の場合:

sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
<!--NeedCopy-->

トラブルシューティング

このセクションの情報を使用して、簡易インストール機能の使用から発生する可能性のある問題をトラブルシューティングします。

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.
<!--NeedCopy-->

/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デスクトップセッションでグレースクリーンが表示される

この問題は、セッションを起動した後に空白のデスクトップでブロックされる場合に発生します。さらに、ローカルユーザーアカウントを使用してログオンすると、マシンのコンソールにもグレースクリーンが表示されます。

この問題を解決するには:

  1. sudo apt-get update コマンドを実行します。
  2. sudo apt-get install unity lightdm コマンドを実行します。
  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.
<!--NeedCopy-->

ヒント:

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

この問題を解決するには:

  1. コマンドラインから、pam-auth-update と入力します。

  2. 表示されるダイアログで、ホームディレクトリログインの作成 が選択されていることを確認します。

    Ubuntuでセッションを起動できません

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.
<!--NeedCopy-->

または、Ubuntuディストリビューションの場合は、ログ /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
<!--NeedCopy-->

一部のグループまたはモジュールは、再起動するまで有効になりません。ログに dbus エラーメッセージが表示される場合は、システムを再起動して再試行することをお勧めします。

SELinuxがSSHDによるホームディレクトリへのアクセスを妨げる

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

/var/log/xdl/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
<!--NeedCopy-->

この問題を解決するには:

  1. /etc/selinux/config に次の変更を加えてSELinuxを無効にします。

    SELINUX=disabled

  2. VDAを再起動します。

簡単インストールを使用したドメイン参加済みVDAの作成