Amazon Linux 2、CentOS、RHEL、およびRocky LinuxにLinux VDAを手動でインストールする

最終公開日 : Nov 13, 2026
重要:
新規インストールの場合、迅速なインストールには簡易インストールを使用することをお勧めします。簡易インストールは、時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。

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

ステップ1a:ネットワーク構成を確認する

ネットワークが正しく接続され、構成されていることを確認してください。たとえば、Linux VDAでDNSサーバーを構成する必要があります。

ステップ1b:ホスト名を設定する

マシンのホスト名が正しく報告されるように、/etc/hostnameファイルを変更して、マシンのホスト名のみが含まれるようにします。
hostname

ステップ1c:ホスト名にループバックアドレスを割り当てる

マシンのDNSドメイン名と完全修飾ドメイン名(FQDN)が正しく報告されるように、/etc/hostsファイルの次の行を変更して、FQDNとホスト名を最初の2つのエントリとして含めます。
127.0.0.1 hostname-fqdn hostname localhost localhost.localdomain localhost4 localhost4.localdomain4
例:
127.0.0.1 vda01.example.com vda01 localhost localhost.localdomain localhost4 localhost4.localdomain4
ファイル内の他のエントリから、hostname-fqdnまたはhostnameへの他の参照をすべて削除します。
注:
Linux VDAは現在、NetBIOS名の切り捨てをサポートしていません。ホスト名は15文字を超えてはなりません。
ヒント:
a~z、A~Z、0~9、およびハイフン(-)文字のみを使用してください。アンダースコア(\_)、スペース、およびその他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは、Delivery Controllerのホスト名にも適用されます。

ステップ1d:ホスト名を確認する

ホスト名が正しく設定されていることを確認します。
hostname
このコマンドは、マシンのホスト名のみを返し、完全修飾ドメイン名(FQDN)は返しません。
FQDNが正しく設定されていることを確認します。
hostname -f
このコマンドは、マシンのFQDNを返します。

ステップ1e: 名前解決とサービス到達可能性の確認

FQDNを解決し、ドメインコントローラーとDelivery Controller™にpingできることを確認します。
nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn
FQDNを解決できない場合、またはこれらのマシンのいずれかにpingできない場合は、続行する前に手順を確認してください。

ステップ1f: クロック同期の構成

VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDAを仮想マシン (VM) としてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。
RHELのデフォルト環境では、クロック同期にChronyデーモン (chronyd) を使用します。

Chronyサービスを構成する

rootユーザーとして、/etc/chrony.confを編集し、各リモートタイムサーバーのサーバーエントリを追加します。
server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst
通常の展開では、パブリックNTPプールサーバーから直接ではなく、ローカルのドメインコントローラーから時刻を同期します。ドメイン内の各Active Directoryドメインコントローラーのサーバーエントリを追加します。
ループバックIPアドレス、localhost、およびパブリックサーバーの***.pool.ntp.org**エントリを含む、リストされている他のすべてのサーバーエントリを削除します。
変更を保存し、Chronyデーモンを再起動します。
sudo /sbin/service chronyd restart

ステップ1g: PulseAudioのインストール (RHEL 9.1/9.0およびRocky Linux 9.1/9.0のみ)

pulseaudioをインストールするには、次のコマンドを実行します。
sudo yum -y install pulseaudio --allowerasing
/etc/pulse/client.confを開き、次のエントリを追加します。
autospawn = yes

ステップ1h: OpenJDK 11をインストールする

Linux VDAにはOpenJDK 11が必要です。
  • CentOS、RHEL、またはRocky Linuxを使用している場合、OpenJDK 11はLinux VDAのインストール時に依存関係として自動的にインストールされます。
  • Amazon Linux 2を使用している場合は、次のコマンドを実行してOpenJDK 11を有効にしてインストールします。
    amazon-linux-extras install java-openjdk11
正しいバージョンを確認します。
sudo yum info java-11-openjdk
プリパッケージされたOpenJDKは以前のバージョンである可能性があります。OpenJDK 11に更新します。
sudo yum -y update java-11-openjdk

ステップ1i: 使用するデータベースをインストールして指定する

Linux VDAパッケージのインストール後、/etc/xdl/db.confを編集することで、使用するSQLiteまたはPostgreSQLを指定できます。手動インストールの場合、SQLiteとPostgreSQLを指定する前に、手動でインストールする必要があります。
このセクションでは、PostgreSQLおよびSQLiteデータベースのインストール方法と、使用するデータベースの指定方法について説明します。
注:
VDIモードでのみSQLiteを使用することをお勧めします。

PostgreSQLをインストールする

Linux VDAにはPostgreSQLが必要です。
  • Amazon Linux 2、RHEL 7、およびCentOS 7の場合はPostgreSQL 9
  • RHEL 8.xおよびRocky Linux 8.xの場合はPostgreSQL 10
  • RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 用の PostgreSQL 13
PostgreSQL をインストールするには、次のコマンドを実行します。
sudo yum -y install postgresql-server

sudo yum -y install postgresql-jdbc
RHEL 8.x および RHEL 9.1/9.0 の場合は、PostgreSQL 用の libpq をインストールするために、次のコマンドを実行します。
sudo yum -y install libpq
データベースを初期化するには、次のコマンドを実行します。この操作により、データベースファイルが /var/lib/pgsql/data の下に作成されます。
sudo postgresql-setup initdb
マシンの起動時または即座に PostgreSQL を起動するには、次のコマンドをそれぞれ実行します。
sudo systemctl enable postgresql

sudo systemctl start postgresql
次を使用して PostgreSQL のバージョンを確認します。
psql --version
(RHEL 7 のみ) psql コマンドラインユーティリティを使用して、データディレクトリが設定されていることを確認します。
sudo -u postgres psql -c 'show data_directory'

SQLite をインストールする

SQLite をインストールするには、次のコマンドを実行します。
sudo yum -y install sqlite

使用するデータベースを指定する

SQLite、PostgreSQL、またはその両方をインストールした後、Linux VDA パッケージのインストール後に /etc/xdl/db.conf を編集することで、使用するデータベースを指定できます。これを行うには、次の手順を完了します。
  1. /opt/Citrix/VDA/sbin/ctxcleanup.sh を実行します。新規インストールである場合は、この手順を省略します。
  2. 使用するデータベースを指定するために /etc/xdl/db.conf を編集します。
  3. ctxsetup.sh を実行します。
注:
PostgreSQL のポート番号を構成するために、/etc/xdl/db.conf を使用することもできます。

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

サポートされているハイパーバイザー上でLinux VDAをVMとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに基づいて、以下の変更を行ってください。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
このコマンドは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 および 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: Linux VM を Windows ドメインに追加する

Linux マシンを Active Directory (AD) ドメインに追加するには、次の方法があります。
選択した方法に基づいて、指示に従ってください。
注:
Linux VDAのローカルアカウントとADのアカウントで同じユーザー名が使用されている場合、セッションの起動に失敗する可能性があります。

サンバ ウィンバインド

必要なパッケージをインストールまたは更新します。
RHEL 9.1/9.0/8.xおよびRocky Linux 9.1/9.0/8.xの場合:
sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authselect
Amazon Linux 2、CentOS 7、およびRHEL 7の場合:
sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation authconfig oddjob-mkhomedir

Winbindデーモンをマシンの起動時に開始するように有効にする

Winbindデーモンは、マシンの起動時に開始するように構成する必要があります。
sudo /sbin/chkconfig winbind on

Winbind認証を構成する

Winbindを使用して、Kerberos認証用にマシンを構成します。
  1. 次のコマンドを実行します。
    RHEL 9.1/9.0/8.x および Rocky Linux 9.1/9.0/8.x の場合:
    sudo authselect select winbind with-mkhomedir --force
    Amazon Linux 2、CentOS 7、および RHEL 7 の場合:
    sudo authconfig --disablecache --disablesssd --disablesssdauth --enablewinbind --enablewinbindauth --disablewinbindoffline --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --winbindtemplateshell=/bin/bash --enablemkhomedir --updateall
    REALM は大文字の Kerberos レルム名であり、domain はドメインの NetBIOS 名です。
    KDCサーバーとレルム名のDNSベースのルックアップが必要な場合は、次の2つのオプションを前のコマンドに追加します:
    --enablekrb5kdcdns --enablekrb5realmdns
    winbind サービスの起動失敗に関する authconfig コマンドから返されるエラーは無視してください。これらのエラーは、マシンがまだドメインに参加していない状態で authconfig が winbind サービスの起動を試みたときに発生する可能性があります。
  2. /etc/samba/smb.conf を開き、\[Global\] セクションの下に、ただし authconfig ツールによって生成されたセクションの後に、次のエントリを追加します:
    kerberos method = secrets and keytab
    winbind refresh tickets = true winbind offline logon = no
  3. (RHEL 9.1/9.0/8.x および Rocky Linux 9.1/9.0/8.x のみ) /etc/krb5.conf を開き、[libdefaults]、[realms]、および [domain_realm] セクションの下にエントリを追加します:
    [libdefaults] セクションの下:
    default_ccache_name = FILE:/tmp/krb5cc_%{uid}
    default_realm = REALM dns_lookup_kdc = true
    [realms] セクションの下:
    REALM = {
    kdc = fqdn-of-domain-controller }
    [domain_realm] セクションの下:
    realm = REALM
    .realm = REALM
Linux VDA は、Delivery Controller で認証および登録するためにシステムキータブファイル /etc/krb5.keytab を必要とします。以前の Kerberos メソッド設定により、マシンが最初にドメインに参加したときに Winbind がシステムキータブファイルを作成するよう強制されます。

Windows ドメインへの参加

ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つ Active Directory ユーザーアカウントが必要です:
RHEL 9.1/9.0/8.x および Rocky Linux 9.1/9.0/8.x の場合:
sudo realm join -U user --client-software=winbind REALM
Amazon Linux 2 および RHEL 7 の場合:
sudo net ads join REALM -U user
REALM は大文字のKerberosレルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

Winbind 用の PAM を構成する

デフォルトでは、Winbind PAM モジュール (pam\_winbind) の構成では、Kerberos チケットのキャッシュとホームディレクトリの作成が有効になっていません。/etc/security/pam\_winbind.conf を開き、\[Global\] セクションの下に次のエントリを追加または変更します。
krb5_auth = yes
krb5_ccache_type = FILE mkhomedir = yes
各設定の先頭にあるセミコロンが削除されていることを確認してください。これらの変更を適用するには、Winbind デーモンを再起動する必要があります。
sudo /sbin/service winbind restart
ヒント:
winbind デーモンは、マシンがドメインに参加している場合にのみ実行され続けます。
/etc/krb5.conf を開き、\[libdefaults\] セクションの下にある次の設定を KEYRING から FILE タイプに変更します。
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 の場合、pam_winbind がルートディレクトリの所有権を変更するのを防ぎ、Winbind の SELinux の問題を解決するために、次のコマンドを実行します。
usermod -d /nonexistent nobody

ausearch -c 'winbindd' --raw | audit2allow -M my-winbindd -p /etc/selinux/targeted/policy/policy.*

semodule -X 300 -i my-winbindd.pp

ドメインメンバーシップを確認する

Delivery Controller は、すべての VDA マシン (Windows VDA および Linux VDA) が Active Directory にコンピューターオブジェクトを持っていることを要求します。
マシンがドメインに参加していることを確認するには、Samba の net ads コマンドを実行します。
sudo net ads testjoin
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info

Kerberos 構成を確認する

Kerberos が Linux VDA で使用するために正しく構成されていることを確認するには、システムキータブファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用してドメインコントローラーでマシンを認証するには、Kerberos kinit コマンドを実行します。
sudo kinit -k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェルによる置換を防ぐためにバックスラッシュ (\\) でエスケープする必要があります。一部の環境では、DNS ドメイン名が Kerberos レルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTチケットがキャッシュされていることを確認するには、次を使用します。
sudo klist
マシンのアカウントの詳細を確認するには、次を使用します。
sudo net ads status

ユーザー認証の確認

wbinfoツールを使用して、ドメインユーザーがドメインで認証できることを確認します。
wbinfo --krb5auth=domain\\username%password
ここで指定するドメインはADドメイン名であり、Kerberosレルム名ではありません。bashシェルでは、バックスラッシュ (\\) 文字は別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
Kerberos資格情報キャッシュ内のチケットが有効で、期限切れになっていないことを確認します。
klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンして実行できます。ドメイン参加の確認後、(/ja-jp/linux-virtual-delivery-agent/2305/installation-overview/manual-installation-overview/redhat.html#step-6-install-the-linux-vda)に進みます。

Quest 認証サービス

ドメインコントローラーでのQuestの構成

Active DirectoryドメインコントローラーにQuestソフトウェアをインストールして構成済みであり、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されているものとします。

ドメインユーザーがLinux VDAマシンにログオンできるようにする

ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:
  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザーのプロパティを開きます。
  2. 「Unixアカウント」タブを選択します。
  3. 「Unix対応」をオンにします。
  4. プライマリGID番号を実際のドメインユーザーグループのグループIDに設定します。
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合にも同様に適用されます。

Linux VDAでのQuestの構成

SELinuxポリシーの適用を回避する
デフォルトのRHEL環境では、SELinuxが完全に適用されています。この適用により、Questが使用するUnixドメインソケットIPCメカニズムが妨げられ、ドメインユーザーがログオンできなくなります。
この問題を回避する便利な方法は、SELinuxを無効にすることです。rootユーザーとして、/etc/selinux/configを編集し、SELinuxの設定を変更します。
SELINUX=permissive
この変更にはマシンの再起動が必要です。
reboot
重要:
この設定は慎重に使用してください。無効にした後にSELinuxポリシーの適用を再度有効にすると、rootユーザーや他のローカルユーザーであっても完全にロックアウトされる可能性があります。

VASデーモンの構成

Kerberosチケットの自動更新は有効にして切断する必要があります。認証(オフラインログオン)は無効にする必要があります。
sudo /opt/quest/bin/vastool configure vas vasd auto-ticket-renew-interval 32400

sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnected-auth false
このコマンドは、更新間隔を9時間(32,400秒)に設定します。これは、デフォルトの10時間のチケット有効期間より1時間短いです。チケット有効期間が短いシステムでは、このパラメーターをより低い値に設定してください。

PAMとNSSの構成

HDXおよびsu、ssh、RDPなどの他のサービスを介したドメインユーザーログオンを有効にするには、次のコマンドを実行してPAMとNSSを手動で構成します。
sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss

Windowsドメインへの参加

Questのvastoolコマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
ユーザーは、コンピューターをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。domain-nameはドメインのDNS名です(例: example.com)。

ドメインメンバーシップの確認

Delivery Controllerは、すべてのVDAマシン(Windows VDAおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持つことを要求します。Questで参加したLinuxマシンがドメイン上にあることを確認するには:
sudo /opt/quest/bin/vastool info domain
マシンがドメインに参加している場合、このコマンドはドメイン名を返します。マシンがどのドメインにも参加していない場合、次のエラーが表示されます。
ERROR: No domain could be found.
ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm default_realm not configured in vas.conf. Computer may not be joined to domain

ユーザー認証の確認

QuestがPAMを介してドメインユーザーを認証できることを確認するには、これまで使用されていないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
Kerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
/opt/quest/bin/vastool klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンして実行できます。ドメイン参加の確認後、手順6: Linux VDAのインストールに進みます。

セントリファイ ダイレクトコントロール

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている場合、Centrify adjoinコマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。
su –
adjoin -w -V -u user domain-name
ユーザーパラメーターは、コンピューターをActive Directoryドメインに参加させる権限を持つActive Directoryドメインユーザーです。domain-name は、Linuxマシンを参加させるドメインの名前です。

ドメインメンバーシップの確認

Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directory内にコンピューターオブジェクトを持つことを要求します。Centrify-joined のLinuxマシンがドメイン上にあることを確認するには:
su –
adinfo
「Joined to domain」の値が有効であり、CentrifyDC モードが「connected」を返すことを確認します。モードが開始状態のまま動かない場合、Centrify クライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all
adinfo –diag
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
ドメイン参加の確認後、手順6:Linux VDAのインストールに進みます。

SSSD

SSSDを使用している場合は、このセクションの手順に従ってください。このセクションには、Linux VDAマシンをWindowsドメインに参加させる手順と、Kerberos認証を構成するためのガイダンスが含まれています。
RHELおよびCentOSでSSSDをセットアップするには、次の手順を実行します。
  1. ドメインに参加し、ホストキータブを作成する
  2. SSSDをセットアップする
  3. SSSDを有効にする
  4. Kerberos構成を確認する
  5. ユーザー認証を確認する

ドメインに参加し、ホストキータブを作成する

SSSDは、ドメインへの参加やシステムキータブファイルの管理のためのActive Directoryクライアント機能を提供しません。代わりに、adcli、realmd、またはSambaを使用できます。
このセクションでは、Amazon Linux 2およびRHEL 7向けのSambaアプローチと、RHEL 8向けのadcliアプローチについて説明します。realmdについては、RHELまたはCentOSのドキュメントを参照してください。これらの手順は、SSSDを構成する前に実行する必要があります。
  • Samba (Amazon Linux 2 および RHEL 7):
    必要なパッケージをインストールまたは更新します。
    sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools
    適切に構成されたファイルを持つLinuxクライアントで:
    • /etc/krb5.conf
    • /etc/samba/smb.conf:
    SambaおよびKerberos認証用にマシンを構成します。
    sudo authconfig --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --update
    ここで、REALMはKerberosレルム名(大文字)、domainはActive Directoryドメインの短いNetBIOS名です。
    注:
    この記事の設定は、単一ドメイン、単一フォレストモデルを対象としています。Kerberosは、ADインフラストラクチャに基づいて構成してください。
    KDCサーバーとレルム名のDNSベースのルックアップが必要な場合は、前のコマンドに次の2つのオプションを追加します。
    --enablekrb5kdcdns --enablekrb5realmdns
    /etc/samba/smb.conf を開き、authconfig ツールによって生成されたセクションの後に、\[Global\] セクションの下に次のエントリを追加します。
    kerberos method = secrets and keytab
    winbind offline logon = no
    Windowsドメインに参加します。ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントがあることを確認してください。
    sudo net ads join REALM -U user
    REALMはKerberosレルム名(大文字)であり、userはコンピューターをドメインに追加する権限を持つドメインユーザーです。
  • Adcli (RHEL 9.1/9.0/8.x および Rocky Linux 9.1/9.0/8.x):
    必要なパッケージをインストールまたは更新します。
    sudo yum -y install samba-common samba-common-tools krb5-workstation authconfig oddjob-mkhomedir realmd oddjob authselect
    Samba および Kerberos 認証用にマシンを構成します。
    sudo authselect select sssd with-mkhomedir --force
    /etc/krb5.conf を開き、 および セクションの下にエントリを追加します。
    セクションの下:
    REALM = {
    kdc = fqdn-of-domain-controller }
    セクションの下:
    realm = REALM .realm = REALM
    Windows ドメインに参加します。ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Active Directory ユーザーアカウントがあることを確認してください。
    sudo realm join REALM -U user
    REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

SSSD をセットアップする

SSSD のセットアップは、次の手順で構成されます。
  • sudo yum -y install sssd コマンドを実行して、Linux VDA に sssd-ad パッケージをインストールします。
  • さまざまなファイル(例: sssd.conf)に構成変更を加えます。
  • sssd サービスを開始します。
RHEL 7 の sssd.conf 構成例(必要に応じて追加オプションを追加できます):
RHEL 7 の SSSD 構成例
「ad.example.com」、「server.ad.example.com」を対応する値に置き換えます。詳細については、「sssd-ad(5) - Linux man page」を参照してください。
(RHEL 9.1/9.0/8.xおよびRocky Linux 9.1/9.0/8.xのみ) /etc/sssd/sssd.confを開き、セクションの下に次のエントリを追加します。
ad_gpo_access_control = permissive
full_name_format = %2$s\%1$s fallback_homedir = /home/%d/%u
# Kerberos settings krb5_ccachedir = /tmp
krb5_ccname_template = FILE:%d/krb5cc_%U
sssd.confのファイルの所有権と権限を設定します。
chown root:root /etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf restorecon /etc/sssd/sssd.conf

SSSDを有効にする

RHEL 9.1/9.0/8.x および Rocky Linux 9.1/9.0/8.x の場合:
SSSDを有効にするには、次のコマンドを実行します。
sudo systemctl restart sssd
sudo systemctl enable sssd.service
sudo chkconfig sssd on
Amazon Linux 2、CentOS 7、およびRHEL 7の場合:
authconfigを使用してSSSDを有効にします。ホームディレクトリの作成がSELinuxと互換性があることを確認するために、oddjob-mkhomedirをインストールします。
authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

sudo service sssd start

sudo chkconfig sssd on

Kerberos構成を確認する

システムのkeytabファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用してマシンをドメインコントローラーで認証するには、Kerberosのkinitコマンドを実行します。
sudo kinit –k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。シェル置換を防ぐために、ドル記号($)はバックスラッシュ(**\**)でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTチケットがキャッシュされていることを確認するには、次を使用します。
sudo klist

ユーザー認証を確認する

「getent コマンドを使用して、ログオン形式がサポートされており、NSS が機能していることを確認します。」:
sudo getent passwd DOMAIN\\username
「DOMAIN パラメーターは、短いバージョンのドメイン名を示します。別のログオン形式が必要な場合は、まず getent コマンドを使用して確認してください。」.
「サポートされているログオン形式は次のとおりです。」:
  • 「ダウンレベルログオン名: DOMAIN\username」
  • 「UPN: username@domain.com」
  • 「NetBIOS サフィックス形式: username@DOMAIN」
「SSSD PAM モジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。」.
sudo ssh localhost –l DOMAIN\\username

id -u
「コマンドによって返された uid に対応する Kerberos 資格情報キャッシュファイルが作成されたことを確認します。」:
ls /tmp/krb5cc_{uid}
「ユーザーの Kerberos 資格情報キャッシュ内のチケットが有効で、期限切れになっていないことを確認します。」.
klist
「ドメイン参加の確認後、手順 6: Linux VDA をインストールする に進みます。」.

「PBIS」

「必要な PBIS パッケージをダウンロードする」

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh

「PBIS インストールスクリプトを実行可能にする」

chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh

「PBIS インストールスクリプトを実行する」

sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh

「Windows ドメインに参加する」

ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
/opt/pbis/bin/domainjoin-cli join domain-name user
user は、コンピューターをActive Directoryドメインに追加する権限を持つドメインユーザーです。domain-name は、ドメインのDNS名です(例:example.com)。
注: Bashをデフォルトシェルとして設定するには、/opt/pbis/bin/config LoginShellTemplate/bin/bash コマンドを実行します。

ドメインメンバーシップの確認

Delivery Controllerは、すべてのVDAマシン(Windows VDAおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持っていることを要求します。PBISに参加しているLinuxマシンがドメイン上にあることを確認するには:
/opt/pbis/bin/domainjoin-cli query
マシンがドメインに参加している場合、このコマンドは現在参加しているADドメインとOUに関する情報を返します。それ以外の場合は、ホスト名のみが表示されます。

ユーザー認証の確認

PBISがPAMを介してドメインユーザーを認証できることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\user

id -u
id -u コマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
セッションを終了します。
exit
ドメイン参加の確認後、手順6:Linux VDAのインストールに進みます。

手順4:.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バイナリパスとして使用します。

Step 5: Linux VDAパッケージをダウンロードする

  1. Citrix Virtual Apps and Desktopsの適切なバージョンを展開します。
  2. Linux VDAを見つけるには、Componentsを展開します。例:
    Citrix Virtual Apps and Desktopsのコンポーネント(/en-us/linux-virtual-delivery-agent/2305/media/components-for-citrix-virtual-apps-and-desktops.png)
  3. Linux VDAダウンロードにアクセスするには、Linux VDAリンクをクリックします。
    Linux VDAダウンロード(/en-us/linux-virtual-delivery-agent/2305/media/linux-vda-downloads.png)
  4. お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。
  5. Linux VDAパッケージの整合性を検証するために使用できるGPG公開鍵をダウンロードします。例:
    GPG公開鍵(/en-us/linux-virtual-delivery-agent/2305/media/gpg-key.png)
    Linux VDAパッケージの整合性を検証するには、以下のコマンドを実行して公開鍵をRPMデータベースにインポートし、パッケージの整合性を確認します。
    rpmkeys --import <path to the public key>
    rpm --checksig --verbose <path to the Linux VDA package>

Step 6: Linux VDAをインストールする

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

Step 6a: 新規インストールを実行する

  1. (オプション) 古いバージョンをアンインストールする
    以前の2つのバージョンおよびLTSRリリース以外の以前のバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。
    1. Linux VDAサービスを停止します。
      sudo /sbin/service ctxvda stop

      sudo /sbin/service ctxhdx stop
      注:
      ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
    2. パッケージをアンインストールします。
      sudo rpm -e XenDesktopVDA
    注:
    コマンドを実行するには、フルパスが必要です。または、/opt/Citrix/VDA/sbinと**/opt/Citrix/VDA/bin**をシステムパスに追加することもできます。
  2. Linux VDAパッケージをダウンロードする
    Citrix Virtual Apps and Desktopsダウンロードページにアクセスします。適切なバージョンのCitrix Virtual Apps and Desktopsを展開し、Componentsをクリックして、お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。
  3. Linux VDAをインストールする
    注:
    • CentOS、RHEL、およびRocky Linuxの場合、Linux VDAを正常にインストールする前にEPELリポジトリをインストールしてください。EPELのインストール方法については、<https://docs.fedoraproject.org/ja-jp/epel/>の指示を参照してください。
    • RHEL 9.1/9.0およびRocky Linux 9.1/9.0にLinux VDAをインストールする前に、libsepolパッケージをバージョン3.4以降に更新してください。
    • Yumを使用してLinux VDAソフトウェアをインストールします。
      Amazon Linux 2の場合:
      sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
      RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 の場合:
      sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
      RHEL 8.xおよびRocky Linux 8.xの場合:
      sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
      CentOS 7およびRHEL 7の場合:
      sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
    • RPMパッケージマネージャーを使用してLinux VDAソフトウェアをインストールします。これを行う前に、以下の依存関係を解決する必要があります。
      Amazon Linux 2の場合:
      sudo rpm -i XenDesktopVDA-<version>.amzn2.x86_64.rpm
      RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 向け:
      sudo rpm -i XenDesktopVDA-<version>.el9_x.x86_64.rpm
      RHEL 8.xおよびRocky Linux 8.xの場合:
      sudo rpm -i XenDesktopVDA-<version>.el8_x.x86_64.rpm
      CentOS 7およびRHEL 7の場合:
      sudo rpm -i XenDesktopVDA-<version>.el7_x.x86_64.rpm
      RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 の RPM 依存関係リスト:
      java-11-openjdk >= 11

       icoutils >= 0.32

       firewalld >= 0.6.3

       policycoreutils-python >= 2.8.9

       policycoreutils-python-utils >= 2.8

       python3-policycoreutils >= 2.8

       dbus >= 1.12.8

       dbus-common >= 1.12.8

       dbus-daemon >= 1.12.8

       dbus-tools >= 1.12.8

       dbus-x11 >= 1.12.8

       xorg-x11-server-utils >= 7.7

       xorg-x11-xinit >= 1.3.4

       libXpm >= 3.5.12

       libXrandr >= 1.5.1

       libXtst >= 1.2.3

       pam >= 1.3.1

       util-linux >= 2.32.1

       util-linux-user >= 2.32.1

       xorg-x11-utils >= 7.5

       bash >= 4.3

       findutils >= 4.6

       gawk >= 4.2

       sed >= 4.5

       cups >= 1.6.0

       foomatic-filters >= 4.0.9

       cups-filters >= 1.20.0

       ghostscript >= 9.25

       libxml2 >= 2.9

       libmspack >= 0.7

       krb5-workstation >= 1.13

       ibus >= 1.5

       nss-tools >= 3.44.0

       gperftools-libs >= 2.4

       cyrus-sasl-gssapi >= 2.1

       python3 >= 3.6~

       qt5-qtbase >= 5.5~

       qt5-qtbase-gui >= 5.5~

       qrencode-libs >= 3.4.4

       imlib2 >= 1.4.9
      RHEL 8.xおよびRocky Linux 8.xのRPM依存関係リスト:
      java-11-openjdk >= 11

      icoutils >= 0.32

      firewalld >= 0.6.3

      policycoreutils-python >= 2.8.9

      policycoreutils-python-utils >= 2.8

      python3-policycoreutils >= 2.8

      dbus >= 1.12.8

      dbus-common >= 1.12.8

      dbus-daemon >= 1.12.8

      dbus-tools >= 1.12.8

      dbus-x11 >= 1.12.8

      xorg-x11-server-utils >= 7.7

      xorg-x11-xinit >= 1.3.4

      libXpm >= 3.5.12

      libXrandr >= 1.5.1

      libXtst >= 1.2.3

      pam >= 1.3.1

      util-linux >= 2.32.1

      util-linux-user >= 2.32.1

      xorg-x11-utils >= 7.5

      bash >= 4.3

      findutils >= 4.6

      gawk >= 4.2

      sed >= 4.5

      cups >= 1.6.0

      foomatic-filters >= 4.0.9

      cups-filters >= 1.20.0

      ghostscript >= 9.25

      libxml2 >= 2.9

      libmspack >= 0.7

      krb5-workstation >= 1.13

      ibus >= 1.5

      nss-tools >= 3.44.0

      gperftools-libs >= 2.4

      cyrus-sasl-gssapi >= 2.1

      python3 >= 3.6~

      qt5-qtbase >= 5.5~

      qt5-qtbase-gui >= 5.5~

      qrencode-libs >= 3.4.4

      imlib2 >= 1.4.9
      CentOS 7およびRHEL 7のRPM依存関係リスト:
      java-11-openjdk >= 11

      ImageMagick >= 6.7.8.9

      firewalld >= 0.3.9

      policycoreutils-python >= 2.0.83

      dbus >= 1.6.12

      dbus-x11 >= 1.6.12

      xorg-x11-server-utils >= 7.7

      xorg-x11-xinit >= 1.3.2

      xorg-x11-server-Xorg >= 1.20.4

      libXpm >= 3.5.10

      libXrandr >= 1.4.1

      libXtst >= 1.2.2

      pam >= 1.1.8

      util-linux >= 2.23.2

      bash >= 4.2

      findutils >= 4.5

      gawk >= 4.0

      sed >= 4.2

      cups >= 1.6.0

      foomatic-filters >= 4.0.9

      libxml2 >= 2.9

      libmspack >= 0.5

      ibus >= 1.5

      cyrus-sasl-gssapi >= 2.1

      python3 >= 3.6~

      gperftools-libs >= 2.4

      nss-tools >= 3.44.0

      qt5-qtbase >= 5.5~

      qt5-qtbase >= 5.5~

      imlib2 >= 1.4.5
      Amazon Linux 2のRPM依存関係リスト:
      java-11-openjdk >= 11

      ImageMagick >= 6.7.8.9

      firewalld >= 0.3.9

      policycoreutils-python >= 2.0.83

      dbus >= 1.6.12

      dbus-x11 >= 1.6.12

      xorg-x11-server-utils >= 7.7

      xorg-x11-xinit >= 1.3.2

      xorg-x11-server-Xorg >= 1.20.4

      libXpm >= 3.5.10

      libXrandr >= 1.4.1

      libXtst >= 1.2.2

      pam >= 1.1.8

      util-linux >= 2.23.2

      bash >= 4.2

      findutils >= 4.5

      gawk >= 4.0

      sed >= 4.2

      cups >= 1.6.0

      foomatic-filters >= 4.0.9

      libxml2 >= 2.9

      libmspack >= 0.5

      ibus >= 1.5

      cyrus-sasl-gssapi >= 2.1

      gperftools-libs >= 2.4

      nss-tools >= 3.44.0

      qt5-qtbase >= 5.5~

      qrencode-libs >= 3.4.1

      imlib2 >= 1.4.5
    注:
    このバージョンのLinux VDAがサポートするLinuxディストリビューションとXorgバージョンのマトリックスについては、「システム要件」を参照してください。
    RHEL 7.xにLinux VDAをインストールした後、sudo yum install -y python-websockify x11vncコマンドを実行します。これは、セッションシャドウ機能を使用するために、python-websockifyとx11vncを手動でインストールすることが目的です。詳細については、「セッションのシャドウ」を参照してください。

ステップ6b:既存のインストールをアップグレードする(オプション)

以前の2つのバージョンおよびLTSRリリースから、既存のインストールをアップグレードできます。
注:
  • 既存のインストールをアップグレードすると、/etc/xdlの下にある構成ファイルが上書きされます。アップグレードを実行する前に、必ずファイルをバックアップしてください。
  • RHEL 9.1/9.0およびRocky Linux 9.1/9.0でLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新してください。
  • Yum を使用してソフトウェアをアップグレードするには:
    Amazon Linux 2 の場合:
    sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
    RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 の場合:
    sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
    RHEL 8.x および Rocky Linux 8.x の場合:
    sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
    CentOS 7 および RHEL 7 の場合:
    sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
  • RPM パッケージマネージャーを使用してソフトウェアをアップグレードするには:
    Amazon Linux 2 の場合:
    sudo rpm -U XenDesktopVDA-<version>.amzn2.x86_64.rpm
    RHEL 9.1/9.0 および Rocky Linux 9.1/9.0 の場合:
    sudo rpm -U XenDesktopVDA-<version>.el9_x.x86_64.rpm
    RHEL 8.x および Rocky Linux 8.x の場合:
    sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
    CentOS 7 および RHEL 7 の場合:
    sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
注:
RHEL 7 を使用している場合は、上記のアップグレードコマンドを実行した後、次の手順を完了してください:
  1. 正しい .NET ランタイムパスを設定するために /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet31/root/usr/bin/" --force を実行します。
  2. ctxvda サービスを再起動します。
重要:
ソフトウェアのアップグレード後、Linux VDA マシンを再起動します。

ステップ 7: NVIDIA GRID ドライバーをインストールする

HDX 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。
注:
Amazon Linux 2 で HDX 3D Pro を使用するには、NVIDIA ドライバー 470 をインストールすることをお勧めします。詳細については、「システム要件」を参照してください。
特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager (ホストドライバー) をインストールして構成するには、次のガイドを参照してください。
NVIDIA GRID ゲスト VM ドライバーをインストールして構成するには、次の手順を実行します。
  1. ゲスト VM がシャットダウンされていることを確認します。
  2. XenCenter® で、VM に GPU を割り当てます。
  3. VM を起動します。
  4. NVIDIA GRID ドライバー用に VM を準備します。
    yum install gcc

    yum install "kernel-devel-$(uname -r)"

    systemctl set-default multi-user.target
  5. NVIDIA GRID ドライバーをインストールするには、Red Hat Enterprise Linux ドキュメント の手順に従ってください。
注:
GPU ドライバーのインストール中に、各質問に対してデフォルトの ('no') を選択します。
重要:
GPU パススルーが有効になると、Linux VM は XenCenter からアクセスできなくなります。SSH を使用して接続してください。
NVIDIA smi コードスニペット
カードの正しい構成を設定します。
etc/X11/ctx-nvidia.sh
大規模な解像度とマルチモニター機能を利用するには、有効な NVIDIA ライセンスが必要です。ライセンスを申請するには、「GRID Licensing Guide.pdf - DU-07757-001 September 2015」の製品ドキュメントに従ってください。

ステップ8: Linux VDAを構成する

注:
ランタイム環境をセットアップする前に、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 コマンドを実行してください。
パッケージのインストール後、ctxsetup.shスクリプトを実行してLinux VDAを構成する必要があります。変更を行う前に、スクリプトは環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。
スクリプトは、プロンプトに従って手動で実行することも、事前設定された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help

プロンプトによる構成

プロンプトによる質問で手動構成を実行します。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh

自動構成

自動インストールの場合、セットアップスクリプトで必要なオプションを環境変数で指定します。必要なすべての変数が存在する場合、スクリプトは情報を要求しません。
サポートされている環境変数には、次のものがあります。
  • CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME=Y \| N – Linux VDAは、DNS CNAMEレコードを使用してDelivery Controller名を指定することをサポートしています。デフォルトではNに設定されます。
  • 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 Controllersと通信します。デフォルトではポート80です。
  • CTX\_XDL\_REGISTER\_SERVICE=Y \| N - Linux VDAサービスは、マシンの起動後に開始されます。デフォルトではYに設定されています。
  • CTX\_XDL\_ADD\_FIREWALL\_RULES=Y \| N – Linux VDAサービスは、システムファイアウォールを介した受信ネットワーク接続を許可する必要があります。Linux Virtual Desktopのシステムファイアウォールで、必要なポート(デフォルトではポート80と1494)を自動的に開くことができます。デフォルトではYに設定されています。
  • CTX\_XDL\_AD\_INTEGRATION=winbind \| quest \|centrify \| sssd \| pbis – Linux VDAは、Delivery Controllersで認証するために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 に設定します。この変数はデフォルトで N に設定されています。
  • CTX\_XDL\_SITE\_NAME=dns-name – Linux VDA は DNS を介して LDAP サーバーを検出します。DNS 検索結果をローカルサイトに限定するには、DNS サイト名を指定します。この変数はデフォルトで \&lt;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 として指定します。この変数はデフォルトで \&lt;none\> に設定されています。
  • CTX\_XDL\_SEARCH\_BASE=search-base-set – Linux VDA は、Active Directory ドメインのルートに設定された検索ベース (例: DC=mycompany,DC=com) を介して LDAP を照会します。検索パフォーマンスを向上させるには、検索ベース (例: OU=VDI,DC=mycompany,DC=com) を指定できます。この変数はデフォルトで \&lt;none\> に設定されています。
  • CTX\_XDL\_FAS\_LIST='list-fas-servers' – フェデレーション認証サービス (FAS) サーバーは、AD グループポリシーを介して構成されます。Linux VDA は AD グループポリシーをサポートしていませんが、代わりにセミコロン区切りの FAS サーバーのリストを提供できます。シーケンスは、AD グループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を \&lt;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 に設定する必要があります。
    ターゲットセッションユーザーのデスクトップ環境は、次の手順で変更することもできます。
    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
    2. ターゲットセッションユーザーと 700 ファイル権限を共有します。
    Version 2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、VDAに切り替え可能なデスクトップ環境を事前にインストールする必要があります。詳細については、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。
  • CTX\_XDL\_START\_SERVICE=Y \| N – Linux VDAの構成が完了したときにLinux VDAサービスを開始するかどうかを決定します。デフォルト値はYです。
  • CTX\_XDL\_TELEMETRY\_SOCKET\_PORT – Citrix Scoutをリッスンするためのソケットポートです。デフォルトポートは7503です。
  • CTX\_XDL\_TELEMETRY\_PORT – Citrix Scoutと通信するためのポートです。デフォルトポートは7502です。
環境変数を設定し、構成スクリプトを実行します。
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 | quest |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/ctxsetup.sh --silent
sudoコマンドを実行するときは、既存の環境変数を新しく作成するシェルに渡すために、-Eオプションを入力します。上記のコマンドから、最初の行に**#\!/bin/bash**を含むシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。
sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST='list-ddc-fqdns' \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=winbind | quest |centrify | sssd | pbis \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST='list-ldap-servers' \

CTX_XDL_SEARCH_BASE=search-base-set \

CTX_XDL_FAS_LIST='list-fas-servers' \

CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \

CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

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

構成の変更を削除する

シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.shスクリプトによって行われた構成の変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
構成の変更を削除するには:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDAを動作不能にします。

構成ログ

ctxsetup.shおよびctxcleanup.shスクリプトは、コンソールにエラーを表示し、追加情報は構成ログファイル**/tmp/xdl.configure.log**に書き込まれます。
変更を有効にするには、Linux VDAサービスを再起動します。

ステップ9: XDPingを実行する

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

ステップ10: Linux VDAを実行する

ctxsetup.shスクリプトを使用してLinux VDAを構成した後、Linux VDAを制御するために、次のコマンドを実行できます。
Linux VDAを開始する:
Linux VDAサービスを開始するには:
sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
Linux VDAを停止する:
Linux VDAサービスを停止するには:
sudo /sbin/service ctxvda stop

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

sudo /sbin/service ctxhdx restart

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

sudo /sbin/service ctxhdx status

ステップ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オプションを選択すると、マシンごとに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」を参照してください。