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 を使用している場合、Linux VDA のインストール時に OpenJDK 11 は依存関係として自動的にインストールされます。
  • 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: 使用するデータベースをインストールして指定する

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

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. 時刻同期が選択されていることを確認します。
注:
このアプローチは、VMware および Citrix Hypervisor とは異なります。VMware および Citrix Hypervisor では、NTP との競合を避けるためにホストの時刻同期が無効になっています。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 ドメインに追加する

Active Directory (AD) ドメインに Linux マシンを追加するには、次の方法が利用可能です。
選択した方法に基づいて指示に従ってください。
注:
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
    authconfig コマンドから返される、winbind サービスの起動失敗に関するエラーは無視してください。これらのエラーは、マシンがまだドメインに参加していない状態で 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 および Linux VDA) が Active Directory にコンピューターオブジェクトを持っていることを要求します。
マシンがドメインに参加していることを確認するには、Samba の net ads コマンドを実行します。
sudo net ads testjoin
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info

Kerberos の構成を確認する

Linux VDA で使用するために Kerberos が正しく構成されていることを確認するには、システムの keytab ファイルが作成され、有効なキーが含まれていることを確認します。
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
ここで指定するドメインは、Kerberosレルム名ではなく、ADドメイン名です。bashシェルでは、バックスラッシュ (\\) 文字は別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
Kerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の検証後、手順6:Linux VDAのインストールに進みます。

クエスト認証サービス

ドメインコントローラーでの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を無効にすることです。ルートユーザーとして、/etc/selinux/configを編集し、SELinuxの設定を変更します。
SELINUX=permissive
この変更にはマシンの再起動が必要です。
reboot
重要:
この設定は慎重に使用してください。無効にした後にSELinuxポリシーの適用を再度有効にすると、ルートユーザーや他のローカルユーザーであっても、完全にロックアウトされる可能性があります。

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は、たとえばexample.comのようなドメインのDNS名です。

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

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に参加しているLinuxマシンがドメイン上にあることを確認するには、次のようにします。
su –
adinfo
「Joined to domain」の値が有効であり、CentrifyDCモードが「connected」を返すことを確認します。モードが「starting」状態のままになっている場合、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
  • 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
「ユーザー」は、Active Directory ドメインにコンピューターを追加する権限を持つドメインユーザーです。「ドメイン名」は、たとえば example.com のように、ドメインのDNS名です。
注: 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バイナリパスとして使用します。

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

  1. Citrix Virtual Apps and Desktops ダウンロードページにアクセスします。
  2. Citrix Virtual Apps and Desktops の適切なバージョンを展開します。
  3. Components をクリックして、お使いの Linux ディストリビューションに一致する Linux VDA パッケージと、Linux VDA パッケージの整合性を検証するために使用できる GPG 公開キーをダウンロードします。
    Linux VDA パッケージの整合性を検証するには、公開キーを RPM データベースにインポートし、次のコマンドを実行します。
    ```
    rpmkeys --import <path to the public key>
    rpm --checksig --verbose <path to the Linux VDA package>
    ```

ステップ 6: Linux VDA をインストールする

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

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

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

      sudo /sbin/service ctxhdx stop
      注:
      ctxvda および ctxhdx サービスを停止する前に、service ctxmonitorservice stop コマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
    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およびロッキーリナックス 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. Red Hat Enterprise Linuxドキュメントの手順に従って、NVIDIA GRIDドライバーをインストールします。
注:
GPUドライバーのインストール中に、各質問に対してデフォルト(「いいえ」)を選択します。
重要:
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ポート(デフォルトはポート80)を介してDelivery Controllerと通信します。
  • 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 Controllerで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。
  • CTX\_XDL\_HDX\_3D\_PRO=Y \| N – Linux VDAは、グラフィックを多用するアプリケーションの仮想化を最適化するために設計されたGPUアクセラレーションテクノロジーのセットであるHDX 3D Proをサポートしています。HDX 3D Proが選択されている場合、VDAはVDIデスクトップ(シングルセッション)モード(つまり、CTX\_XDL\_VDI\_MODE=Y)用に構成されます。
  • CTX\_XDL\_VDI\_MODE=Y \| N – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するかを決定します。HDX 3D Pro環境では、この変数をYに設定します。この変数はデフォルトで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。LDAPポート番号を389として指定すると、Linux VDAは指定されたドメイン内の各LDAPサーバーをポーリングモードでクエリします。ポリシーの数がx、LDAPサーバーの数がyの場合、Linux VDAは合計XかけるYのクエリを実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗する可能性があります。より高速なLDAPクエリを有効にするには、ドメインコントローラーでGlobal Catalogを有効にし、関連する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' – Federated Authentication Service (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ファイル権限を共有します。
    バージョン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を実行する

Linux VDA環境における一般的な構成の問題を確認するには、sudo /opt/Citrix/VDA/bin/xdpingを実行します。詳細については、「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サービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
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 2303」を参照してください。