easy installを使用したドメイン参加済みVDAの作成
重要:
新規インストールの場合は、迅速なインストールについてこの記事を参照することをお勧めします。この記事では、easy installを使用してLinux VDAをインストールおよび構成する方法を順を追って説明します。easy installは時間と労力を節約し、手動インストールよりもエラーが発生しにくいです。必要なパッケージをインストールし、構成ファイルを自動的にカスタマイズすることで、Linux VDAの稼働環境をセットアップするのに役立ちます。
ドメイン非参加VDAを作成するには、Machine Creation Services(MCS)とeasy installの両方を使用できます。詳しくは、「MCSを使用したドメイン非参加Linux VDAの作成」および「easy installを使用したドメイン非参加Linux VDAの作成(プレビュー)」を参照してください。
ドメイン非参加VDAで利用可能な機能については、「ドメイン非参加VDA」を参照してください。
-
ステップ1: 構成情報とLinuxマシンの準備
-
easy installに必要な以下の構成情報を収集します。
- ホスト名 – Linux VDAをインストールするマシンのホスト名
- ドメインネームサーバーのIPアドレス
- NTPサーバーのIPアドレスまたは文字列名
- ドメイン名 – ドメインのNetBIOS名
- レルム名 – Kerberosレルム名
- ドメインの完全修飾ドメイン名(FQDN)
- Active Directory(AD)統合方法 - 現在、easy installはSSSD、Winbind、Centrify、PBIS、およびQuestをサポートしています。QuestはRHELおよびRocky Linuxでのみサポートされます。
- ユーザー名 – マシンをドメインに参加させるユーザーの名前
- パスワード - マシンをドメインに参加させるユーザーのパスワード
- OU – 組織単位。オプション。
重要:
- Linux VDAをインストールするには、リポジトリがLinuxマシンに正しく追加されていることを確認してください。
- セッションを起動するには、X Windowシステムとデスクトップ環境がインストールされていることを確認してください。
- セキュリティ上の理由から、easy installはドメイン参加パスワードを保存しません。インタラクティブモードでeasy installスクリプト(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
<!--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サービスと並行してこの機能を有効にする必要があります。
管理オペレーティングシステムから:
- Hyper-Vマネージャーコンソールを開きます。
- Linux VMの設定で、[統合サービス] を選択します。
- [時刻の同期] が選択されていることを確認します。
注:
このアプローチは、NTPとの競合を避けるためにホストの時刻同期が無効になっているVMwareおよびXenServer(旧Citrix Hypervisor)とは異なります。Hyper-Vの時刻同期は、NTP時刻同期と共存し、補完することができます。
- ### ESXおよびESXiでの時刻同期の修正
VMwareの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとハイパーバイザーの両方で問題が発生します。両方ともシステムクロックを同期しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。
VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:
- vSphere Clientを開きます。
- Linux VMの設定を編集します。
- [仮想マシンのプロパティ] ダイアログで、[オプション] タブを開きます。
- [VMware Tools] を選択します。
- [詳細設定] ボックスで、[ゲストの時刻をホストと同期] のチェックボックスをオフにします。
ステップ3: .NETのインストール
.NET Runtimeに加えて、Linux VDAをインストールまたはアップグレードする前に、サポートされているすべてのLinuxディストリビューションに.ASP.NET Core Runtimeをインストールする必要があります。Amazon Linux 2にはバージョン6が必要です。その他のディストリビューションにはバージョン8が必要です。
お使いのLinuxディストリビューションに必要な.NETバージョンが含まれている場合は、組み込みのフィードからインストールしてください。それ以外の場合は、Microsoftパッケージフィードから.NETをインストールしてください。詳しくは、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersを参照してください。
.NET をインストールした後、which dotnet コマンドを実行してランタイムパスを見つけます。
コマンド出力に基づいて、.NET ランタイムバイナリパスを設定します。たとえば、コマンド出力が /aa/bb/dotnet の場合、/aa/bb を .NET バイナリパスとして使用します。
ステップ 4: Linux VDA パッケージのダウンロード
- Citrix Virtual Apps and Desktops ダウンロードページにアクセスします。
- Citrix Virtual Apps and Desktops の適切なバージョンを展開します。
-
Components を展開して Linux VDA を見つけます。例:

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

-
お使いの Linux ディストリビューションに一致する Linux VDA パッケージをダウンロードします。
-
Linux VDA パッケージの整合性を検証するために使用できる 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.4/9.3/9.2 および Rocky Linux 9.4/9.3/9.2 に Linux VDA をインストールする前に、libsepol パッケージをバージョン 3.4 以降に更新してください。
- sudo yum -y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
- > **注:** > - > - > Linux VDA を GCP でホストされている RHEL 8.x/9.x および Rocky Linux 8.x/9.x にインストールした後、VM の再起動後にイーサネット接続が失われ、Linux VDA に到達できなくなる場合があります。この問題を回避するには、VM に初めてログオンするときに root パスワードを設定し、root として VM にログオンできることを確認してください。その後、VM を再起動してからコンソールで次のコマンドを実行します。 > > ``` > nmcli dev connect eth0 > systemctl restart NetworkManager > <!--NeedCopy--> ```
- Ubuntu/Debian ディストリビューションの場合:
- sudo dpkg -i <PATH>/<Linux VDA deb>
- sudo apt-get install -f
<!--NeedCopy-->
- > **注:** > > - Debian 11 ディストリビューションに必要な依存関係をインストールするには、`/etc/apt/sources.list` ファイルに `deb http://deb.debian.org/debian/ bullseye main` の行を追加します。 > > - GCP 上の Ubuntu 20.04 の場合、RDNS を無効にします。そのためには、`/etc/krb5.conf` の **[libdefaults]** の下に `rdns = false` の行を追加します。
-
SUSE ディストリビューションの場合:
-
- AWS、Azure、および GCP 上の SUSE 15.5 の場合、以下を確認してください。
- libstdc++6 バージョン 12 以降を使用していること。
- /etc/sysconfig/windowmanager の Default_WM パラメーターが “gnome” に設定されていること。
-
- 次のコマンドを実行して Linux VDA をインストールします。
zypper -i install <PATH>/<Linux VDA RPM> <!--NeedCopy-->
ステップ 6: NVIDIA GRID ドライバーのインストール
-
HDX™ 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。
-
特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager (ホストドライバー) をインストールおよび構成するには、次のガイドを参照してください。
- XenServer
- VMware ESX
- Nutanix AHV
NVIDIA GRID ゲスト VM ドライバーをインストールおよび構成するには、次の一般的な手順を実行します。
- ゲスト VM がシャットダウンされていることを確認します。
- ハイパーバイザーのコントロールパネルで、VM に GPU を割り当てます。
- VM を起動します。
- 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のポート番号を構成することもできます
- /etc/xdl/db.confを編集して、使用するデータベースを指定します。
- sudo /opt/Citrix/VDA/sbin/ctxinstall.shまたは/opt/Citrix/VDA/bin/easyinstallを実行します。
ステップ 8: 環境とVDAを構成してインストールを完了するための簡易インストールを実行
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は、いくつかの事前構成とVDA実行環境変数の設定を行うための簡易インストールスクリプトです。
-
このスクリプトはrootのみが実行できます
- 簡易インストールでは、使用されるすべての環境変数の値を設定、保存、同期するための構成ファイルとして/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に保存されます
-
簡易インストールはモジュール実行をサポートしています。モジュールには、事前チェック、インストール、ドメイン構成、セットアップ、および検証が含まれます
- このスクリプトのデバッグの詳細は、/var/log/xdl/ctxinstall.logで確認できます
詳細については、ヘルプコマンドctxinstall.sh -hを使用してください。
注:
- 最小特権の原則に従い、ドメイン参加パスワードがファイルに設定されている可能性があるため、rootユーザーのみが/opt/Citrix/VDA/sbin/ctxinstall.confを読み取れるようにしてください
- 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=’sssd|winbind|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/kde/mate/xfce/’<none>‘ – セッションで使用するGNOME、GNOME Classic、KDE、MATE、またはXfceデスクトップ環境を指定します。‘<none>‘に設定すると、VDAで構成されているデフォルトのデスクトップが使用されます
-
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(ctxvda)をサポートするために.NETをインストールするパス。デフォルトのパスは‘/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検索結果をローカルサイトに制限するには、DNSサイト名を指定します。不要な場合は、‘<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クエリを高速化するには、ドメインコントローラーでグローバルカタログを有効にし、関連する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_SUPPORT_DDC_AS_CNAME=’y|n’ – Linux VDAは、DNS CNAMEレコードを使用してDelivery Controller名を指定することをサポートしています
-
CTX_EASYINSTALL_DNS=’<ip-address-of-dns>‘ – DNSのIPアドレス
-
CTX_EASYINSTALL_HOSTNAME=host-name – Linux VDAサーバーのホスト名
-
CTX_EASYINSTALL_NTPS=address-of-ntps – NTPサーバーのIPアドレスまたは文字列名
-
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 – 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に参加させるには、次の手順を実行します。
-
特定のOUがドメインコントローラーに存在することを確認します。
OUの例については、次のスクリーンショットを参照してください。

-
/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.4/9.3/9.2, Rocky Linux 9.4/9.3/9.2 "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 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. ドメインコントローラーでAdministrative Toolsを開きます。
-
b. Active Directory Sites and Servicesを選択します。 c. Subnetsに適切なサブネットアドレスを追加します。
-
Easy installは、Linux VDA 7.16以降、純粋なIPv6をサポートしています。以下の前提条件と制限が適用されます。
- マシンが純粋なIPv6ネットワーク経由で必要なパッケージをダウンロードできるように、Linuxリポジトリを構成する必要があります。
- Centrifyは純粋なIPv6ネットワークではサポートされていません。
注記:
ネットワークが純粋なIPv6であり、すべての入力が適切なIPv6形式である場合、VDAはIPv6を介してDelivery Controller™に登録されます。ネットワークがハイブリッドIPv4およびIPv6構成である場合、最初のDNS IPアドレスのタイプによって、登録にIPv4またはIPv6のどちらが使用されるかが決まります。
-
セッションで使用するデスクトップ環境は、前述のCTX_XDL_DESKTOP_ENVIRONMENT変数を使用して指定できます。また、コマンドを実行するか、システムトレイを使用してデスクトップ環境を切り替えることもできます。詳細については、「デスクトップ切り替えコマンド」および「システムトレイ」を参照してください。
-
ドメイン参加方法としてCentrifyを選択した場合、ctxinstall.shスクリプトにはCentrifyパッケージが必要です。ctxinstall.shがCentrifyパッケージを取得する方法は次のとおりです。
-
Easy installは、インターネットからCentrifyパッケージを自動的にダウンロードするのに役立ちます。各ディストリビューションのURLは次のとおりです。
Amazon Linux 2/RHEL: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-rhel6-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 <!--NeedCopy-->
-
-
PBISをドメイン参加方法として選択する場合、ctxinstall.shスクリプトにはPBISパッケージが必要です。ctxinstall.shがPBISパッケージを取得する方法は次のとおりです。
-
Easy Installは、インターネットからPBISパッケージを自動的にダウンロードするのに役立ちます。たとえば、各ディストリビューションのURLは次のとおりです。
Amazon Linux 2、RHEL 8、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パッケージのディレクトリを指定するには、/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=sssd|winbind|centrify|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|kde|mate|xfce|'<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
<!--NeedCopy-->
sudoコマンドを実行するときは、-Eオプションを入力して、既存の環境変数を新しく作成されるシェルに渡します。前述のコマンドから、最初の行に#!/bin/bashを含むシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべての変数を指定することもできます。
VDA実行環境変数(「CTX_XDL_」で始まるもの)を設定するには、ctxinstall.sh -sを実行します(ここでsは小文字であることに注意してください)。
GUI
GUIを介してEasy Installを使用できます。VDAのデスクトップ環境で/opt/Citrix/VDA/bin/easyinstallコマンドを実行し、Easy Install GUIの指示に従います。

Easy Install GUIは、次の操作をガイドします。
- システム環境の確認
- 依存関係のインストール
- VDAを特定のドメインに参加させる
- ランタイム環境の構成
ヒント:
保存をクリックして、指定したパスのローカルファイルに変数の設定を保存します。読み込みをクリックして、指定したファイルから変数の設定を読み込みます。MCS変数の構成については、「ステップ3: マスターイメージの準備」を参照してください。
ステップ9: XDPingの実行
sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境で一般的な構成の問題を確認します。詳細については、「XDPing」を参照してください。
ステップ10: Linux VDAの実行
Linux VDAの開始:
Linux VDAサービスを開始するには:
sudo systemctl start ctxhdx.service
sudo systemctl start ctxvda.service
<!--NeedCopy-->
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda.service
sudo systemctl stop ctxhdx.service
<!--NeedCopy-->
注:
ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
Linux VDAの再起動:
Linux VDAサービスを再起動するには:
sudo systemctl stop ctxvda.service
sudo systemctl restart ctxhdx.service
sudo systemctl start ctxvda.service
<!--NeedCopy-->
Linux VDAのステータスを確認する:
Linux VDAサービスの実行ステータスを確認するには:
sudo systemctl status ctxvda.service
sudo systemctl status ctxhdx.service
<!--NeedCopy-->
ステップ 11: マシンカタログを作成する
マシンカタログを作成し、Linux VDAマシンを追加するプロセスは、従来のWindows VDAのアプローチと似ています。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
- オペレーティングシステムについては、以下を選択します:
- ホストされた共有デスクトップ配信モデルの場合は、Multi-session OSオプション。
- VDI専用デスクトップ配信モデルの場合は、Single-session OSオプション。
- 同じマシンカタログ内でLinux VDAマシンとWindows VDAマシンを混在させないでください。
注:
Citrix Studioの初期バージョンでは、「Linux OS」という概念をサポートしていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホストされた共有デスクトップ配信モデルが暗示されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンあたり単一ユーザーの配信モデルが暗示されます。
ヒント:
マシンを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 2407」を参照してください。
ステップ 13: Linux VDAをアップグレードする(オプション)
Linux VDAは、最新バージョンからのアップグレードをサポートしています。たとえば、Linux VDAを2308から2311へ、および1912 LTSRから2203 LTSRへアップグレードできます。
注:
既存のインストールをアップグレードすると、/etc/xdlの下にある構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
2407リリース以降、Linux VDAはアップグレード中に構成ファイルを処理するためにパッケージマネージャーのrpmまたはdpkgに委任します。以下に、rpmとdpkgが構成ファイルの変更とどのように相互作用するかを説明します。
rpm: デフォルトではローカルバージョンを保持し、パッケージからの新しいバージョンを.rpmnew拡張子で保存します。
dpkg: どのように続行するかを対話形式で尋ねます。ローカル構成ファイルを保持し、新しいパッケージバージョンを.dpkg-newまたは.dpkg-distとして保存しながら、Linux VDAをサイレントアップグレードするには、次のコマンドを使用します。
dpkg --force-confold -i package.deb # Always keep your version, then save new package's version as *.dpkg-new or *.dpkg-dist <!--NeedCopy-->
Amazon Linux 2、RHEL、およびRocky Linuxディストリビューションの場合:
sudo yum -y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
注:
RHEL 9.4/9.3/9.2およびRocky Linux 9.4/9.3/9.2でLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新してください。
SUSEディストリビューションの場合:
sudo zypper -i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debianディストリビューションの場合:
sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--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
この問題を解決するには:
-
rm -f /etc/krb5.keytabコマンドを実行します -
net ads leave $REALM -U $domain-administratorコマンドを実行します - Delivery Controller でマシンカタログとデリバリーグループを削除します
-
/opt/Citrix/VDA/sbin/ctxinstall.shを実行します - Delivery Controller でマシンカタログとデリバリーグループを作成します
Ubuntu デスクトップセッションのグレースクリーン表示
この問題は、セッションを起動した後に空白のデスクトップでブロックされる場合に発生します。さらに、ローカルユーザーアカウントを使用してログオンすると、マシンのコンソールもグレースクリーンを表示します。
この問題を解決するには:
-
sudo apt-get updateコマンドを実行します -
sudo apt-get install unity lightdmコマンドを実行します -
/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-->
ヒント:
この問題の根本原因は、ドメイン管理者用のホームディレクトリが作成されていないことです。
この問題を解決するには:
-
コマンドラインから「pam-auth-update」と入力します
-
表示されるダイアログで、[ホームディレクトリのログインを作成] が選択されていることを確認します

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-->
この問題を解決するには:
-
/etc/selinux/configに次の変更を加えて SELinux を無効にしますSELINUX=disabled
-
VDA を再起動します
この記事の概要
- ステップ1: 構成情報とLinuxマシンの準備
- ステップ2: ハイパーバイザーの準備
- ステップ3: .NETのインストール
- ステップ 4: Linux VDA パッケージのダウンロード
- ステップ 5: Linux VDA パッケージのインストール
- ステップ 6: NVIDIA GRID ドライバーのインストール
- ステップ 7: 使用するデータベースを指定
- ステップ 8: 環境とVDAを構成してインストールを完了するための簡易インストールを実行
- ステップ9: XDPingの実行
- ステップ10: Linux VDAの実行
- ステップ 11: マシンカタログを作成する
- ステップ 12: デリバリーグループを作成する
- ステップ 13: Linux VDAをアップグレードする(オプション)
- トラブルシューティング
