簡単インストールによるドメイン参加済みVDAの作成
重要:
新規インストールの場合、簡単インストールについてはこの記事を参照することをお勧めします。この記事では、簡単インストールを使用してLinux VDAをインストールおよび構成する方法について説明します。簡単インストールは時間と労力を節約するだけでなく、手動のインストールよりもエラーを減らすことができます。必要なパッケージをインストールして、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップできます。
簡単インストールは、Questを使用したドメイン参加をサポートしていません。
ドメイン非参加のVDAを作成するには、Machine Creation Services(MCS)を使用する必要があります。詳しくは、「ドメイン非参加のLinux VDAの作成」を参照してください。
ドメイン非参加のVDAで利用可能な機能について詳しくは、「ドメイン非参加のVDA」を参照してください。
手順1: 構成ファイル情報およびLinuxマシンの準備
簡単インストールに必要な以下の構成情報を収集します。
- ホスト名 - 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ユーザーにドメイン参加権限を委任してください。このためには、制御の委任ウィザードを使用して、ドメインコントローラーの制御を委任します。
手順2:ハイパーバイザーの準備
サポートされるハイパーバイザー上で仮想マシンとしてLinux VDAを実行する場合、いくつかの変更が必要です。使用するハイパーバイザーのプラットフォームに合わせて、次の変更を行います。ベアメタルハードウェアでLinuxマシンを実行する場合、変更は必要ありません。
Citrix Hypervisorでの時刻同期の修正
Citrix Hypervisorの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとCitrix Hypervisorで問題が発生します。これは、NTPとCitrix Hypervisorの両方がシステムの時間を管理しようとすることが原因です。システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは、変更は必要ありません。
Citrix VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Citrix Hypervisorの時刻同期機能が存在するかどうかと、Linux仮想マシン内で有効になっているかどうかを確認できます:
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統合サービスがインストールされたLinux仮想ホストでは、Hyper-Vの時刻同期機能を適用してホストオペレーティングシステムの時間を利用できます。システムの時間を正確な状態で維持するには、NTPサービスとともにこの機能を有効にする必要があります。
管理オペレーティングシステムで、次の操作を行います。
- Hyper-Vマネージャーを開きます。
- Linux仮想マシンの設定で、[統合サービス] を選択します。
- [時刻の同期] が選択されていることを確認します。
注:
この方法はVMwareおよびCitrix Hypervisorの場合とは異なります。VMwareおよびCitrix Hypervisorでは、NTPとの競合を避けるためにホストの時刻同期を無効にします。Hyper-Vの時刻同期は、NTPと共存し、NTPの時刻同期を補完することができます。
ESXおよびESXiでの時刻同期の修正
VMwareの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとハイパーバイザーで問題が発生します。これは、NTPとハイパーバイザーの両方がシステムの時間を同期しようとすることが原因です。システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。この場合、ホストの時刻同期を無効にする必要があります。
VMware Toolsをインストールした状態で準仮想化Linuxカーネルを実行している場合は、次の操作を行います。
- vSphere Clientを開きます。
- Linux仮想マシンの設定を編集します。
- [仮想マシンのプロパティ] ダイアログボックスで、[オプション] タブをクリックします。
- [VMware Tools] を選択します。
- [詳細] ボックスで、[ホストとゲスト時刻を同期] チェックボックスをオフにします。
手順3:.NETランタイム6.0のインストール
Linux VDAのインストール前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersの手順に従って.NETランタイム6.0をインストールします。
.NETランタイム6.0のインストール後、which dotnetコマンドを実行してランタイムパスを特定します。
コマンド出力に基づいて、.NETランタイムのバイナリパスを設定します。たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。
手順4:Linux VDAパッケージのダウンロード
- Citrix Virtual Apps and Desktopsのダウンロードページにアクセスします。
- 適切なバージョンのCitrix Virtual Apps and Desktopsを展開します。
-
コンポーネントをクリックして、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/の説明を参照してください。
Linux VDAをRHEL 9.1/9.0およびRocky Linux 9.1/9.0にインストールする前に、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をインストールすると、イーサネット接続が失われ、仮想マシンの再起動後にLinux VDAにアクセスできなくなることがあります。この問題を回避するには、仮想マシンの起動前に次のコマンドを実行します:
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ディストリビューションに必要な依存関係をインストールするには、/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.4の場合は、以下を確認してください:
- 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(ホストドライバー)をインストールして構成するには、次のガイドを参照してください:
NVIDIA GRIDゲストVMドライバーをインストールして構成するには、次の一般的な手順を実行します:
- ゲストVMがシャットダウンされていることを確認します。
- ハイパーバイザーのコントロールパネルで、GPUをVMに割り当てます。
- 仮想マシンを起動します。
- ゲストVMドライバーをVMにインストールします。
手順7:使用するデータベースの指定
試験段階の機能として、PostgreSQLに加えてSQLiteも使用できます。Linux VDAパッケージをインストールした後は、/etc/xdl/db.conf
を編集することでSQLiteとPostgreSQLを切り替えることもできます。
これを行うには、sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
または/opt/Citrix/VDA/bin/easyinstall
を実行する前にetc/xdl/db.conf
を編集します。
注:
- SQLiteはVDIモードにのみ使用することをお勧めします。
- 簡単なインストールとMCSのために、SQLiteとPostgreSQLは、それぞれを手動でインストールすることなく切り替えることができます。
/etc/xdl/db.conf
で特に指定しない限り、Linux VDAはデフォルトでPostgreSQLを使用します。/etc/xdl/db.conf
を使用してPostgreSQLのポート番号を構成することもできます。
手順8: Runtime Environmentをセットアップしてインストールを完了する
Linux VDAパッケージのインストール後、ctxinstall.shスクリプトまたはGUIを使用して実行環境を構成します。
注:
ランタイム環境をセットアップする前に、en_US.UTF-8ロケールがOSにインストールされていることを確認します。OSにこのロケールがない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。Debianの場合は、# en_US.UTF-8 UTF-8行のコメントを解除して/etc/locale.genファイルを編集してから、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ユーザーにドメイン参加権限を委任してください。このためには、制御の委任ウィザードを使用して、ドメインコントローラーの制御を委任します。
次の4つの変数はオプションです。これらが設定されていない場合でも、サイレントモードでctxinstall.shは中止せず、対話モードでユーザー入力を求めるプロンプトも表示されません。これらは値をエクスポートすることで、または/Citrix/VDA/sbin/ctxinstall.confを編集することでのみ設定できます。
-
CTX_EASYINSTALL_WORKGROUP=workgroup-name – デフォルトのワークグループ名はドメイン名です。ニーズに合わせてワークグループをカスタマイズできます。この変数はオプションです。
- 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つまたは複数の完全修飾ドメイン名または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では、HDX 3D Proがサポートされます。これは、強力なグラフィックアプリケーションの仮想化を最適にするための一連のGPUアクセラレーションテクノロジです。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は、DNSを照会してLDAPサーバーを検出します。DNSがLDAPサービスレコードを提供できない場合は、LDAPのFQDNおよびLDAPポートのスペース区切りの一覧を指定できます。例:「ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268」。LDAPポート番号を389にすると、Linux VDAは指定されたドメイン内の各LDAPサーバーにポーリングモードでクエリを実行します。ポリシーの数がxでLDAPサーバーの数がyの場合、Linux VDAはXにYを掛けた数のクエリを実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗することがあります。より高速な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_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ランタイム6.0をインストールするパス。デフォルトのパスは/usr/binです。 -
CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate - セッションで使用するGNOME、GNOMEクラシック、または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です。
注意事項
-
ワークグループ名はデフォルトではドメイン名です。環境でワークグループをカスタマイズするには、/opt/Citrix/VDA/sbin/ctxinstall.confで環境変数CTX_EASYINSTALL_WORKGROUPを設定します。
-
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.1/9.0、Rocky Linux 9.1/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"
Rocky Linux 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"
Ubuntu "Linux/ubuntu"
"Linux/ubuntu"
"XD.LOCAL/Linux/ubuntu"
"Linux/ubuntu"
-
-
CentrifyではピュアIPv6 DNS構成をサポートしていません。adclientが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. <!--NeedCopy-->
この問題は、Centrifyおよびその構成に特有のものです。この問題を解決するには、次の手順を実行します:
a. ドメインコントローラーの [管理ツール] を開きます。
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のどちらが登録に使用されるかが決まります。
-
次の手順を実行して、ターゲットセッションユーザーのデスクトップ環境を変更することもできます:
- VDAの $HOME/<username> ディレクトリに
.xsession
または.Xclients
ファイルを作成します。ここで、usernameはユーザー名です。Amazon Linux 2を使用している場合は、.Xclients
ファイルを作成します。他のディストリビューションを使用している場合は、.xsession
ファイルを作成します。 -
.xsession
または.Xclients
ファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。-
MATEデスクトップの場合
MSESSION="$(type -p mate-session)" if [ -n "$MSESSION" ]; then exec mate-session fi <!--NeedCopy-->
-
GNOMEクラシックデスクトップの場合
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-->
-
- ターゲットセッションユーザーと700ファイルのアクセス権限を共有します。
バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、事前にVDAに切り替え可能なデスクトップ環境をインストールする必要があります。詳しくは、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。
- VDAの $HOME/<username> ディレクトリに
-
ドメインに参加させる方式としてCentrifyを選択する場合、ctxinstall.shスクリプトではCentrifyパッケージが必要です。ctxinstall.shでCentrifyパッケージを取得する方法:
-
簡単インストールは、インターネットから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パッケージを取得する方法:
-
簡単インストールは、インターネットから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パッケージのディレクトリを指定するには、/opt/Citrix/VDA/sbin/ctxinstall.confで環境変数CTX_EASYINSTALL_PBIS_LOCAL_PATHを設定します。
-
対話モード
対話モードでctxinstall.shスクリプトを実行するには、 sudo /opt/Citrix/VDA/sbin/ctxinstall.shコマンドを-Sオプションなしで実行します。コマンドラインインターフェイスのプロンプトごとに、関連する変数値を入力します。変数が既に設定されている場合、ctxinstall.shは、変数の変更が必要かの確認を求めます。
サイレントモード
サイレントモードでは、 /opt/Citrix/VDA/sbin/ctxinstall.confまたはexportコマンドを使用して上記の変数を設定する必要があります。その後、ctxinstall.sh -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 を記述し、前述のコマンドからなるシェルスクリプトファイルを作成することをお勧めします。
または、次のようにして、1つのコマンドですべての変数を指定することができます。
GUI
ドメイン参加方法としてSSSDまたはWinbindを使用している場合は、GUIによる簡単インストールを使用できます。VDAのデスクトップ環境で/opt/Citrix/VDA/bin/easyinstallコマンドを実行してから、簡単インストールのGUIの指示に従います。
簡単インストールのGUIは、次の操作をガイドします:
- システム環境を確認する
- 依存関係をインストールする
- 指定されたドメインにVDAを参加させる
- ランタイム環境を構成する
ヒント:
- [保存] をクリックすると、指定したパスにあるローカルファイルに変数設定が保存されます。[読み込み] をクリックすると、指定したファイルから変数設定が読み込まれます。MCS変数の構成については、「手順3:マスターイメージの準備」を参照してください。
- 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
サービスを停止する前に、service ctxmonitorservice stop
コマンドを実行して監視サービスデーモンを停止します。これを実行しない場合、監視サービスデーモンは停止したサービスを再起動します。
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サーバーOS] オプションまたは [サーバーOS] オプションを選択すると、同等のホストされる共有デスクトップ配信モデルが暗黙的に選択されます。[WindowsデスクトップOS] オプションまたは [デスクトップ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 2303」を参照してください。
手順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 18.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
<!--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
この問題を解決するには、次の手順を実行します:
-
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ディストリビューションの場合は、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
<!--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ランタイム6.0のインストール
- 手順4:Linux VDAパッケージのダウンロード
- 手順5:Linux VDAパッケージのインストール
- 手順6:NVIDIA GRIDドライバーのインストール
- 手順7:使用するデータベースの指定
- 手順8: Runtime Environmentをセットアップしてインストールを完了する
- 手順9:XDPingの実行
- 手順10:Linux VDAの実行
- 手順11:マシンカタログの作成
- 手順12:デリバリーグループの作成
- 手順13:Linux VDAのアップグレード(オプション)
- トラブルシューティング