「簡単インストール」を使用してドメイン参加済みVDAを作成する

最終公開日 : Nov 13, 2026
重要:
  • 新規インストールの場合、迅速なインストールについてはこの記事を参照することをお勧めします。この記事では、「簡単インストール」を使用してLinux VDAをインストールおよび構成する方法を順を追って説明します。「簡単インストール」は、手動インストールよりも時間と労力を節約し、エラーが発生しにくいです。必要なパッケージをインストールし、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップするのに役立ちます。
  • ドメインに参加していないVDAを作成するには、Machine Creation Services (MCS) と簡単インストールの両方を使用できます。詳細については、「MCS を使用してドメインに参加していない Linux VDA を作成する」および「簡単インストールを使用してドメインに参加していない Linux VDA を作成する(プレビュー)」を参照してください。
  • ドメインに参加していないVDAで利用可能な機能については、「ドメインに参加していないVDA」を参照してください。

ステップ1:構成情報とLinuxマシンを準備する

簡単インストールに必要な以下の構成情報を収集します。
  • ホスト名 – Linux VDAをインストールするマシンのホスト名。
  • ドメインネームサーバーのIPアドレス。
  • NTPサーバーのIPアドレスまたは文字列名。
  • ドメイン名 – ドメインのNetBIOS名。
  • レルム名 – Kerberosレルム名。
  • ドメインの完全修飾ドメイン名 (FQDN)。
  • Active Directory (AD) 統合方法 - 現在、簡単インストールはWinbind、SSSD、Centrify、PBIS、およびQuestをサポートしています。簡単インストールは、RHELおよびRocky Linuxの場合にのみQuestをサポートします。
  • ユーザー名 – マシンをドメインに参加させるユーザーの名前。
  • パスワード – マシンをドメインに参加させるユーザーのパスワード。
  • OU – 組織単位。オプション。
重要:
  • Linux VDA をインストールするには、リポジトリが Linux マシンに正しく追加されていることを確認してください。
  • セッションを起動するには、X Window System とデスクトップ環境がインストールされていることを確認してください。
  • セキュリティ上の理由から、簡易インストールではドメイン参加パスワードは保存されません。インタラクティブモードで簡易インストールスクリプト (ctxinstall.sh) を実行するたびに、ドメイン参加パスワードを手動で入力する必要があります。サイレントモードでは、ドメイン参加パスワードを /Citrix/VDA/sbin/ctxinstall.conf で設定するか、パスワードをエクスポートする必要があります。ドメイン参加に管理者アカウントを使用しないことをお勧めします。代わりに、管理者アカウント以外の Active Directory ユーザーにドメイン参加権限を委任してください。そのためには、Delegation of Control Wizard を使用してドメインコントローラーで制御を委任します。

ステップ 2: ハイパーバイザーの準備

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

XenServer (旧 Citrix Hypervisor™) で時刻同期を修正する

XenServer® の時刻同期機能が有効になっている場合、各準仮想化 Linux VM 内で NTP と XenServer の両方で問題が発生します。両方ともシステムクロックを管理しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各 Linux ゲスト内のシステムクロックが NTP と同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。HVM モードでは変更は不要です。
XenServer VM Tools がインストールされた準仮想化 Linux カーネルを実行している場合、Linux VM 内から XenServer の時刻同期機能が存在し、有効になっているかどうかを確認できます。
su -

cat /proc/sys/xen/independent_wallclock
このコマンドは 0 または 1 を返します。
  • 0 - 時刻同期機能が有効になっており、無効にする必要があります。
  • 1 - 時刻同期機能は無効になっており、それ以上の操作は不要です。
/proc/sys/xen/independent\_wallclock ファイルが存在しない場合、以下の手順は不要です。
有効になっている場合、ファイルに 1 を書き込むことで時刻同期機能を無効にします。
sudo echo 1 > /proc/sys/xen/independent_wallclock
この変更を永続的にし、再起動後も維持するには、/etc/sysctl.conf ファイルを編集して、次の行を追加します。
xen.independent_wallclock = 1
これらの変更を確認するには、システムを再起動します。
su -

cat /proc/sys/xen/independent_wallclock
このコマンドは値 1 を返します。

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

Hyper-V Linux Integration Services がインストールされている Linux VM は、Hyper-V の時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックの精度を維持するには、NTP サービスと並行してこの機能を有効にする必要があります。
管理オペレーティングシステムから:
  1. Hyper-V マネージャーコンソールを開きます。
  2. Linux VM の設定で、統合サービスを選択します。
  3. 時刻同期が選択されていることを確認します。
注:
このアプローチは、NTP との競合を避けるためにホストの時刻同期が無効になっている VMware や XenServer (旧 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. Advanced ボックスで、Synchronize guest time with host のチェックを外します。

ステップ3: .NET Runtime 6.0 をインストールする

Linux VDA をインストールする前に、<https://docs.microsoft.com/ja-jp/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. Components を展開して Linux VDA を見つけます。例:
    Citrix Virtual Apps and Desktops のコンポーネント
  3. Linux VDA リンクをクリックして、Linux VDA のダウンロードにアクセスします。
    Linux VDA のダウンロード
  4. お使いの Linux ディストリビューションに一致する Linux VDA パッケージをダウンロードします。
  5. Linux VDA パッケージの整合性を検証するために使用できる GPG 公開キーをダウンロードします。例:
    GPG公開キー
    公開キーを使用してLinux VDAパッケージの整合性を検証するには:
    • RPMパッケージの場合、公開キーをRPMデータベースにインポートし、パッケージの整合性を確認するには、次のコマンドを実行します:
      rpmkeys --import <path to the public key>
      rpm --checksig --verbose <path to the Linux VDA package>
    • DEBパッケージの場合、公開キーをDEBデータベースにインポートし、パッケージの整合性を確認するには、次のコマンドを実行します:
      sudo apt-get install dpkg-sig
      gpg --import <path to the public key>
      dpkg-sig --verify <path to the Linux VDA package>

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

Linux VDAの環境をセットアップするには、次のコマンドを実行します。
Amazon Linux 2、CentOS、RHEL、およびRocky Linuxディストリビューションの場合:
注:
  • RHELおよびCentOSの場合、Linux VDAを正常にインストールする前にEPELリポジトリをインストールしてください。EPELのインストール方法については、<https://docs.fedoraproject.org/ja-jp/epel/>の指示を参照してください。
  • RHEL 9.2/9.0およびRocky Linux 9.2/9.0にLinux VDAをインストールする前に、libsepolパッケージをバージョン3.4以降に更新してください。
sudo yum -y localinstall <PATH>/<Linux VDA RPM>
注:
GCPでホストされているRHEL 8.x/9.xおよびRocky Linux 8.x/9.xにLinux VDAをインストールした後、VMの再起動後にイーサネット接続が失われ、Linux VDAに到達できなくなる可能性があります。この問題を回避するには、VMに初めてログオンする際にrootパスワードを設定し、rootとしてVMにログオンできることを確認してください。その後、VMを再起動してからコンソールで次のコマンドを実行します:
nmcli dev connect eth0
systemctl restart NetworkManager
Ubuntu/Debianディストリビューションの場合:
sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
注:
  • Debian 11ディストリビューションに必要な依存関係をインストールするには、deb http://deb.debian.org/debian/ bullseye mainの行を/etc/apt/sources.listファイルに追加します。
  • GCP上のUbuntu 20.04の場合、RDNSを無効にします。そのためには、/etc/krb5.confの**の下にrdns = false**の行を追加します。
SUSEディストリビューションの場合:
  1. AWS、Azure、およびGCP上のSUSE 15.5の場合、以下を確認してください:
    • libstdc++6 バージョン 12 以降を使用していること。
    • /etc/sysconfig/windowmanager の Default_WM パラメーターが "gnome" に設定されていること。
  2. Linux VDA をインストールするには、次のコマンドを実行します。
    zypper -i install <PATH>/<Linux VDA RPM>

手順 6: NVIDIA GRID ドライバーをインストールする

HDX™ 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。
特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager (ホストドライバー) をインストールして構成するには、次のガイドを参照してください。
NVIDIA GRID ゲスト VM ドライバーをインストールして構成するには、次の一般的な手順を実行します。
  1. ゲスト VM がシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、VM に GPU を割り当てます。
  3. VM を起動します。
  4. VM にゲスト VM ドライバーをインストールします。

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

Linux VDA パッケージのインストール後、SQLite と PostgreSQL を切り替えることができます。これを行うには、次の手順を完了します。
注:
  • VDI モードでは SQLite を、ホスト型共有デスクトップ配信モデルでは PostgreSQL を使用することをお勧めします。
  • easy install と 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:easy install を実行して環境と VDA を構成し、インストールを完了する

Linux VDA パッケージのインストール後、ctxinstall.sh スクリプトまたは GUI を使用して実行環境を構成します。
注:
ランタイム環境をセットアップする前に、en_US.UTF-8 ロケールが OS にインストールされていることを確認してください。ロケールが 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 は、いくつかの事前構成と VDA 実行環境変数の設定を行うための easy install スクリプトです。
  • このスクリプトを実行できるのは root のみです。
  • Easy install は、すべての環境変数の値を設定、保存、同期するための構成ファイルとして /opt/Citrix/VDA/sbin/ctxinstall.conf を使用します。テンプレート (ctxinstall.conf.tmpl) を注意深く読み、独自の ctxinstall.conf をカスタマイズすることをお勧めします。構成ファイルを初めて作成する場合は、次のいずれかの方法を使用します。
    • /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl テンプレートファイルをコピーし、/opt/Citrix/VDA/sbin/ctxinstall.conf として保存します。
    • ctxinstall.sh を実行します。ctxinstall.sh を実行するたびに、入力は /opt/Citrix/VDA/sbin/ctxinstall.conf に保存されます。
  • Easy install はモジュール実行をサポートしています。モジュールには、事前チェック、インストール、ドメイン構成、セットアップ、検証が含まれます。
  • このスクリプトのデバッグの詳細は、/var/log/xdl/ctxinstall.log で確認できます。
詳細については、ヘルプコマンド ctxinstall.sh -h を使用してください。
注:
  • 最小権限の原則に従い、/opt/Citrix/VDA/sbin/ctxinstall.conf にドメイン参加パスワードが設定されている可能性があるため、rootユーザーのみがこのファイルを読み取れるようにしてください。
  • Linux VDA をアンインストールすると、/opt/Citrix/VDA 配下のファイルが削除されます。VDA をアンインストールする前に、/opt/Citrix/VDA/sbin/ctxinstall.conf をバックアップすることをお勧めします。
ctxinstall.sh は、対話モードまたはサイレントモードで実行できます。スクリプトを実行する前に、以下の環境変数を設定してください。
  • CTX\_XDL\_NON\_DOMAIN\_JOINED='y\|n' – マシンを ドメインに参加させるかどうか。デフォルト値は 'n' です。ドメイン参加シナリオでは、'n' に設定します。
  • CTX\_XDL\_AD\_INTEGRATION='winbind\|sssd\|centrify\|pbis\|quest' – Linux VDA は、Delivery Controller と認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。
  • CTX\_XDL\_DDC\_LIST='<list-ddc-fqdns\>' – Linux VDA は、Delivery Controller に登録するために使用する、スペース区切りのDelivery Controller 完全修飾ドメイン名(FQDN)のリストを必要とします。少なくとも1つのFQDNまたはCNAMEを指定する必要があります。
  • CTX\_XDL\_VDI\_MODE='y\|n' – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するか。HDX 3D Pro 環境の場合は、値を 'y' に設定します。
  • 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\_START\_SERVICE='y\|n' – 構成完了時にLinux VDAサービスを開始するかどうかを決定します。
  • 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\_DESKTOP\_ENVIRONMENT=gnome/gnome-classic/mate – セッションで使用するGNOME、GNOME Classic、またはMATEデスクトップ環境を指定します。変数を指定しない場合、VDAで構成されているデフォルトのデスクトップが使用されます。
  • CTX\_XDL\_DOTNET\_RUNTIME\_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(ctxvda)をサポートするための.NET Runtime 6.0をインストールするパス。デフォルトのパスは '/usr/bin' です。
  • CTX\_XDL\_VDA\_PORT=port-number – Linux VDA は、TCP/IPポートを介してDelivery Controller と通信します。
  • CTX\_XDL\_SITE\_NAME=<dns-name\> – Linux VDAはDNSを介してLDAPサーバーを検出します。DNS検索結果をローカルのSiteに制限するには、DNS Site名を指定します。不要な場合は、**'<none\>'**に設定します。
  • CTX\_XDL\_LDAP\_LIST='<list-ldap-servers\>' – Linux VDAはDNSにクエリを実行してLDAPサーバーを検出します。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 Domainのルート(例:DC=mycompany,DC=com)に設定された検索ベースを介してLDAPにクエリを実行します。検索パフォーマンスを向上させるには、検索ベース(例:OU=VDI,DC=mycompany,DC=com)を指定できます。不要な場合は、**'<none\>'**に設定します。
  • CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME='y\|n' – Linux VDAは、DNS CNAMEレコードを使用してDelivery Controller名を指定することをサポートしています。
  • CTX\_EASYINSTALL\_DNS='<ip-address-of-dns\>' – DNSのIP addressです。
  • CTX\_EASYINSTALL\_HOSTNAME=host-name – Linux VDA serverのホスト名です。
  • CTX\_EASYINSTALL\_NTPS=address-of-ntps – NTP serverのIP addressまたは文字列名です。
  • CTX\_EASYINSTALL\_REALM=realm-name – Kerberos レルム名.
  • CTX\_EASYINSTALL\_FQDN=ad-fqdn-name
  • CTX\_EASYINSTALL\_USERNAME=domain-user-name – マシンをdomainに参加させるユーザーの名前です。
  • CTX\_EASYINSTALL\_PASSWORD=password – マシンをdomainに参加させるユーザーのパスワードです。
注:
domainへの参加にadministrator accountを使用しないことをお勧めします。代わりに、administrator account以外のActive Directoryユーザーにdomain参加権限を委任してください。これを行うには、Delegation of Control Wizardを使用してドメインコントローラーで制御を委任します。
以下の4つの変数はオプションです。これらが設定されていなくても、ctxinstall.shはサイレントモードで中断せず、インタラクティブモードでユーザー入力が求められることもありません。これらの値は、エクスポートするか、/Citrix/VDA/sbin/ctxinstall.confを編集することによってのみ設定できます。
  • CTX\_EASYINSTALL\_NETBIOS\_DOMAIN=netbios-domain-name – NetBIOS domain nameは通常、DNS domain nameの最初のコンポーネントで、ドット(.)で区切られています。そうでない場合は、別のNetBIOS domain nameをカスタマイズします。この変数はオプションです。
  • CTX\_EASYINSTALL\_OU=ou-value – OU値は、異なるAD統合方法によって異なります。OU値の例については、この記事のConsiderationsセクションの表を参照してください。この変数はオプションです。
  • CTX\_EASYINSTALL\_CENTRIFY\_LOCAL\_PATH=centrify-local-path – Easy install はインターネットから Centrify パッケージをダウンロードするのに役立ちます。ただし、Centrify がすでにインストールされている場合は、この変数で定義されたローカルディレクトリから Centrify パッケージを取得できます。この変数はオプションです。
  • CTX\_EASYINSTALL\_PBIS\_LOCAL\_PATH= pbis-local-path – Easy install はインターネットから PBIS パッケージをダウンロードするのに役立ちます。ただし、PBIS がすでにインストールされている場合は、この変数で定義されたローカルディレクトリから PBIS パッケージを取得できます。この変数はオプションです。

考慮事項

  • 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 ウィンバインド SSSD セントリファイ PBIS
      アマゾン リナックス 2 "Linux/amazon" "Linux/amazon" "XD.LOCAL/Linux/amazon" "Linux/amazon"
      デビアン "Linux/debian" "Linux/debian" "XD.LOCAL/Linux/debian" "Linux/debian"
      RHEL 9.2/9.0、ロッキー・リナックス 9.2/9.0 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" 該当なし 該当なし
      RHEL 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      ロッキー・リナックス 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" 該当なし 該当なし
      RHEL 7 "Linux/redhat" "Linux/redhat" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      SUSE "Linux/suse" "Linux/suse" "XD.LOCAL/Linux/suse" "Linux/suse"
      ウブントゥ "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.
    この問題はCentrifyとその構成に固有のものです。この問題を解決するには、以下を実行してください。
    a. ドメインコントローラーで管理ツールを開きます。
    b. Active Directoryサイトとサービスを選択します。 c. サブネットに適切なサブネットアドレスを追加します。
  • Easy InstallはLinux VDA 7.16以降、純粋なIPv6をサポートしています。以下の前提条件と制限が適用されます。
    • マシンが純粋なIPv6ネットワーク経由で必要なパッケージをダウンロードできるように、Linuxリポジトリが構成されている必要があります。
    • Centrifyは純粋なIPv6ネットワークではサポートされていません。
    注:
    ネットワークが純粋なIPv6であり、すべての入力が適切なIPv6形式である場合、VDAはIPv6を介してDelivery Controller™に登録されます。ネットワークがIPv4とIPv6のハイブリッド構成である場合、最初のDNS IPアドレスのタイプによって、登録にIPv4またはIPv6のどちらが使用されるかが決まります。
  • ターゲットセッションユーザーのデスクトップ環境は、以下の手順を完了することで変更することもできます。
    1. VDA上の**$HOME/<username\>**ディレクトリの下に.xsessionまたは.Xclientsファイルを作成します。Amazon Linux 2を使用している場合は、.Xclientsファイルを作成します。その他のディストリビューションを使用している場合は、.xsessionファイルを作成します。
    2. ディストリビューションに基づいてデスクトップ環境を指定するには、.xsession または .Xclients ファイルを編集します。
      • MATEデスクトップの場合
        MSESSION="$(type -p mate-session)"  
        if [ -n "$MSESSION" ]; then  
        exec mate-session  
        fi
      • GNOME Classicデスクトップの場合
        GSESSION="$(type -p gnome-session)"  
        if [ -n "$GSESSION" ]; then  
        export GNOME_SHELL_SESSION_MODE=classic  
        exec gnome-session --session=gnome-classic  
        fi  
      • GNOMEデスクトップの場合
        GSESSION="$(type -p gnome-session)"  
        if [ -n "$GSESSION" ]; then  
        exec gnome-session  
        fi  
    3. ターゲットセッションユーザーと700ファイル権限を共有します。
    バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、VDAに切り替え可能なデスクトップ環境を事前にインストールする必要があります。詳細については、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。
  • ドメインに参加する方法としてCentrifyを選択した場合、ctxinstall.shスクリプトにはCentrifyパッケージが必要です。ctxinstall.shがCentrifyパッケージを取得する方法は次のとおりです。
    • Easy installは、インターネットからCentrifyパッケージを自動的にダウンロードするのに役立ちます。各ディストリビューションのURLは次のとおりです。
      アマゾン Linux 2/RHEL:wget <https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-rhel6-x86_64.tgz>
      セントオーエス:wget <https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-rhel6-x86_64.tgz>
      SUSEの場合: wget <https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-suse12-x86_64.tgz>
      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.confでCTX_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
  • ドメインに参加する方法としてPBISを選択した場合、ctxinstall.shスクリプトにはPBISパッケージが必要です。ctxinstall.shがPBISパッケージを取得する方法は次のとおりです。
    • Easy installは、インターネットからPBISパッケージを自動的にダウンロードするのに役立ちます。たとえば、各ディストリビューションのURLは次のとおりです。
      Amazon Linux 2、CentOS 7、RHEL 8、RHEL 7、SUSE 15.5 の場合は、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_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT= gnome|gnome-classic|mate|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
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_SUPPORT_DDC_AS_CNAME='y|n'
export CTX_EASYINSTALL_DNS='<ip-address-of-dns>'
export CTX_EASYINSTALL_HOSTNAME='<host-name>'
export CTX_EASYINSTALL_NTPS='<address-of-ntps>'
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_EASYINSTALL_NETBIOS_DOMAIN='<netbios-domain>'
export CTX_EASYINSTALL_OU='<organization-unit>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
sudo コマンドを実行するときは、-E オプションを入力して、既存の環境変数をそれが作成する新しいシェルに渡します。最初の行に #\!/bin/bash を含む、前述のコマンドからシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべての変数を指定することもできます。
VDA実行環境変数(「CTX_XDL_」で始まるもの)を設定するには、ctxinstall.sh -s を実行できます(ここで文字 s は小文字であることに注意してください)。

GUI

GUI を介して簡易インストールを使用できます。VDA のデスクトップ環境で /opt/Citrix/VDA/bin/easyinstall コマンドを実行し、簡易インストール GUI の指示に従います。
簡易インストールGUI(/en-us/linux-virtual-delivery-agent/2311/media/easy-install-gui-1.png)
簡易インストールGUIは、以下の操作をガイドします:
  • システム環境の確認
  • 依存関係のインストール
  • VDAを指定されたドメインに参加させる
  • ランタイム環境の構成
ヒント:
「保存」をクリックして、指定したパスのローカルファイルに変数設定を保存します。「読み込み」をクリックして、指定したファイルから変数設定を読み込みます。MCS変数の構成については、「手順3:マスターイメージの準備」を参照してください。

手順9:XDPingを実行する

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

手順10:Linux VDAを実行する

Linux VDAの開始:
Linux VDAサービスを開始するには:
sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
注:
ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
Linux VDAの再起動:
Linux VDA サービスを再起動するには:
sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
Linux VDA のステータスを確認する:
Linux VDA サービスの実行ステータスを確認するには:
sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service

ステップ 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 2311」を参照してください。

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

Linux VDAは、最新バージョンからのアップグレードをサポートしています。たとえば、Linux VDAを2308から2311に、1912 LTSRから2203 LTSRにアップグレードできます。
RHEL 7およびCentOS 7の場合:
sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
RHEL 8およびRocky Linux 8の場合:
sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
RHEL 9.2/9.0 および Rocky Linux 9.2/9.0 の場合:
注:
RHEL 9.2/9.0およびRocky Linux 9.2/9.0でLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新してください。
sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
SUSEの場合:
sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
Ubuntu 20.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
Ubuntu 22.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb

トラブルシューティング

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

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

この問題は、セッションを起動した後に空白のデスクトップでブロックされる場合に発生します。さらに、ローカルユーザーアカウントを使用してログオンすると、マシンのコンソールにもグレースクリーンが表示されます。
この問題を解決するには:
  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.
ヒント:
この問題の根本原因は、ドメイン管理者用のホームディレクトリが作成されていないことです。
この問題を解決するには:
  1. コマンドラインから「pam-auth-update」と入力します。
  2. 表示されるダイアログで、Create home directory login が選択されていることを確認します。
    Ubuntuがセッションを起動できません(/en-us/linux-virtual-delivery-agent/2311/media/ubuntu-cannot-launch-session.png)

セッションが起動しない、または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ディストリビューションの場合は、ログ /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/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
この問題を解決するには:
  1. /etc/selinux/config に以下の変更を加えて SELinux を無効にします。
    SELINUX=無効
  2. VDA を再起動します。