Ubuntu に Linux VDA を手動でインストールする

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

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

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

ネットワークが正しく接続され、構成されていることを確認してください。たとえば、Linux VDA で DNS サーバーを構成する必要があります。
Ubuntu 18.04 Live Server を使用している場合は、ホスト名を設定する前に、/etc/cloud/cloud.cfg 構成ファイルで次の変更を行ってください。
preserve_hostname: true

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

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

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

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

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

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

ステップ1e: マルチキャストDNSを無効にする

デフォルト設定ではマルチキャストDNS (mDNS) が有効になっており、名前解決の結果が不安定になる可能性があります。
mDNSを無効にするには、/etc/nsswitch.confを編集し、次の行を変更します。
hosts: files mdns_minimal [NOTFOUND=return] dns
に変更します。
hosts: files dns

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

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

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

ステップ1g: クロック同期を設定する (chrony)

VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDAを仮想マシン (VM) としてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。
chronyをインストールします。
apt-get install chrony
ルートユーザーとして、/etc/chrony/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 systemctl restart chrony

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

Linux VDAでは、UbuntuにPostgreSQLバージョン9.xが必要です。
sudo apt-get install -y postgresql

sudo apt-get install -y libpostgresql-jdbc-java

ステップ1i: Motifをインストールする

sudo apt-get install -y libxm4

ステップ1j: その他のパッケージをインストールする

sudo apt-get install -y libsasl2-2

sudo apt-get install -y libsasl2-modules-gssapi-mit

sudo apt-get install -y libldap-2.4-2

sudo apt-get install -y krb5-user

sudo apt-get install -y libgtk2.0-0

ステップ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統合サービスがインストールされている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 VDA は、Linux マシンを Active Directory (AD) ドメインに追加するためのいくつかの方法をサポートしています。
選択した方法に基づいて指示に従ってください。
注:
Linux VDA のローカルアカウントと AD のアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。

サンバ ウィンバインド

必要なパッケージをインストールまたは更新する

sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user

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

Winbindデーモンは、マシン起動時に開始するように構成する必要があります。
sudo systemctl enable winbind
注:
winbindスクリプトが/etc/init.dの下にあることを確認してください。

Kerberosを構成する

ルートユーザーとして /etc/krb5.conf を開き、次の設定を行います。
注:
ADインフラストラクチャに基づいてKerberosを構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
このコンテキストでの domain-dns-name パラメーターは、example.com のようなDNSドメイン名です。REALM は、EXAMPLE.COM のような大文字のKerberosレルム名です。

Winbind認証を構成する

UbuntuにはRHELのauthconfigやSUSEのyast2のようなツールがないため、Winbindを手動で構成します。
「/etc/samba/smb.conf」を開き、次の設定を行います。
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
encrypt passwords = yes
idmap config *:range = 16777216-33554431
winbind trusted domains only = no
kerberos method = secrets and keytab
winbind refresh tickets = yes
template shell = /bin/bash
WORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。

nsswitch を構成する

「/etc/nsswitch.conf」を開き、次の行に winbind を追加します。
passwd: compat winbind
group: compat winbind

Windowsドメインへの参加

ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
sudo net ads join REALM -U user
ここで、REALM は大文字のKerberosレルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

winbind を再起動する

sudo systemctl restart winbind

Winbind 用に PAM を構成する

次のコマンドを実行し、Winbind NT/Active Directory authentication と Create home directory on login オプションが選択されていることを確認します。
sudo pam-auth-update
ヒント:
winbind デーモンは、マシンがドメインに参加している場合にのみ実行され続けます。

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

Delivery Controller は、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
The machine and realm names must be specified in uppercase. The dollar sign ($) must be escaped with a backslash (\\) to prevent shell substitution. In some environments, the DNS domain name is different from the Kerberos realm name. Ensure that the realm name is used. If this command is successful, no output is displayed.
マシンアカウントのTGTチケットがキャッシュされていることを確認するには、次を使用します。
sudo klist
マシンのアカウントの詳細を調べるには、次を使用します。
sudo net ads status

ユーザー認証の確認

wbinfo ツールを使用して、ドメインユーザーがドメインで認証できることを確認します。
wbinfo --krb5auth=domain\\username%password
The domain specified here is the AD domain name, not the Kerberos realm name. For the bash shell, the backslash (\\) character must be escaped with another backslash. This command returns a message indicating success or failure.
Winbind PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username

id -u
注:
SSHコマンドを正常に実行するには、SSHが有効になっていて正しく動作していることを確認してください。
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
セッションを終了します。
exit
GnomeまたはKDEコンソールに直接ログオンすることで、同様のテストを実行できます。ドメイン参加の検証後、手順6: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=disabled
この変更にはマシンの再起動が必要です。
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)。
ドメイン参加後、Linuxマシンを再起動します。

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

Delivery Controllerは、Windowsまたは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
ドメイン参加の確認後、手順6:Linux VDAのインストールに進みます。

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

Windowsドメインへの参加

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

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

Delivery Controllerは、WindowsまたはLinuxのすべてのVDAマシンがActive Directoryにコンピューターオブジェクトを持つことを要求します。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには:
su –

adinfo
Joined to domain の値が有効であり、CentrifyDC mode が connected を返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all

adinfo --diag
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
ドメイン参加の検証後、手順6:Linux VDAのインストールに進みます。

SSSD

Kerberosを構成する

Kerberosをインストールするには、次のコマンドを実行します。
sudo apt-get install krb5-user
Kerberosを構成するには、rootとして /etc/krb5.conf を開き、パラメーターを設定します。
注:
ADインフラストラクチャに基づいてKerberosを構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
このコンテキストでの domain-dns-name パラメーターは、example.comのようなDNSドメイン名です。REALM は、EXAMPLE.COMのような大文字のKerberosレルム名です。

ドメインに参加する

SSSDは、IDプロバイダーとしてActive Directoryを、認証にKerberosを使用するように構成する必要があります。ただし、SSSDはドメインへの参加やシステムキータブファイルの管理のためのADクライアント機能を提供しません。代わりに、adcli、realmd、またはSambaを使用できます。
注:
このセクションでは、adcliとSambaに関する情報のみを提供します。
  • adcliを使用してドメインに参加する場合は、次の手順を実行します。
  1. adcliをインストールします。
    sudo apt-get install adcli
  2. adcliでドメインに参加します。
    古いシステムキータブファイルを削除し、以下を使用してドメインに参加します。
    su -

    rm -rf /etc/krb5.keytab

    adcli join domain-dns-name -U user -H hostname-fqdn
    userは、マシンをドメインに追加する権限を持つドメインユーザーです。hostname-fqdnは、マシンのFQDN形式のホスト名です。
    -Hオプションは、Linux VDAが必要とするhost/hostname-fqdn@REALM形式でSPNを生成するためにadcliに必要です。
  3. ドメインメンバーシップを確認します。
    Ubuntu 20.04マシンでは、adcli testjoinコマンドを実行します。
    Ubuntu 18.04マシンでは、sudo klist -ketコマンドを実行します。adcliツールの機能は限られており、マシンがドメインに参加しているかどうかをテストする方法は提供されていません。最善の代替策は、システムキータブファイルが作成されていることを確認することです。各キーのタイムスタンプがマシンがドメインに参加した時刻と一致することを確認します。
  • Sambaを使用してドメインに参加する場合は、次の手順を実行します。
  1. パッケージをインストールします。
    sudo apt-get install samba krb5-user
  2. Sambaを構成します。
    /etc/samba/smb.conf を開き、次の設定を行います。
    [global]
    workgroup = WORKGROUP
    security = ADS
    realm = REALM
    client signing = yes
    client use spnego = yes
    kerberos method = secrets and keytab
    WORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。
  3. Samba を使用してドメインに参加します。
    ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つ Windows アカウントが必要です。
    sudo net ads join REALM -U user
    ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

SSSD をセットアップする

必要なパッケージをインストールまたは更新します。
必要な SSSD および構成パッケージがまだインストールされていない場合は、インストールします。
sudo apt-get install sssd
パッケージがすでにインストールされている場合は、更新をお勧めします。
sudo apt-get install --only-upgrade sssd
注:
デフォルトでは、Ubuntu のインストールプロセスは nsswitch.conf と PAM ログインモジュールを自動的に構成します。

SSSD を構成する

SSSD デーモンを開始する前に、SSSD の構成変更が必要です。SSSD の一部のバージョンでは、/etc/sssd/sssd.conf 構成ファイルはデフォルトでインストールされておらず、手動で作成する必要があります。root として、/etc/sssd/sssd.conf を作成または開き、次の設定を行います。
[sssd]
services = nss, pam
config_file_version = 2
domains = domain-dns-name
[domain/domain-dns-name]
id_provider = ad
access_provider = ad
auth_provider = krb5
krb5_realm = REALM
# Set krb5_renewable_lifetime higher if TGT renew lifetime is longer than 14 days
krb5_renewable_lifetime = 14d
# Set krb5_renew_interval to lower value if TGT ticket lifetime is shorter than 2 hours
krb5_renew_interval = 1h
krb5_ccachedir = /tmp
krb5_ccname_template = FILE:%d/krb5cc_%U
# This ldap_id_mapping setting is also the default value
ldap_id_mapping = true
override_homedir = /home/%d/%u
default_shell = /bin/bash
ad_gpo_map_remote_interactive = +ctxhdx
注:
ldap\_id\_mapping は true に設定され、SSSD 自体が Windows SID を Unix UID にマッピングする処理を行います。そうでない場合、Active Directory は POSIX 拡張を提供できる必要があります。PAM サービス ctxhdx は ad\_gpo\_map\_remote\_interactive に追加されます。
このコンテキストでの domain-dns-name パラメーターは、example.com のような DNS ドメイン名です。REALM は、EXAMPLE.COM のような大文字の Kerberos レルム名です。NetBIOS ドメイン名を設定する必要はありません。
構成設定の詳細については、sssd.conf および sssd-ad の man ページを参照してください。
SSSD デーモンは、構成ファイルが所有者による読み取り権限のみを持つことを要求します。
sudo chmod 0600 /etc/sssd/sssd.conf

SSSD デーモンの開始

SSSD デーモンを今すぐ開始し、マシンの起動時にデーモンが開始されるようにするには、次のコマンドを実行します。
sudo systemctl start sssd

sudo systemctl enable sssd

PAM の構成

次のコマンドを実行し、SSS authentication と Create home directory on login のオプションが選択されていることを確認します。
sudo pam-auth-update

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

Delivery Controller は、すべての VDA マシン(Windows および Linux VDA)が Active Directory にコンピューターオブジェクトを持つことを要求します。
  • ドメインメンバーシップを確認するために adcli を使用する場合は、sudo adcli info domain-dns-name コマンドを実行してドメイン情報を表示します。
  • ドメインメンバーシップを確認するために Samba を使用する場合は、sudo net ads testjoin コマンドを実行してマシンがドメインに参加していることを確認し、sudo net ads info コマンドを実行して追加のドメインおよびコンピューターオブジェクト情報を確認します。

Kerberos 構成の確認

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

ユーザー認証の確認

SSSD は、デーモンで認証を直接テストするためのコマンドラインツールを提供しておらず、PAM を介してのみ実行できます。
SSSD PAM モジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。
ssh localhost -l domain\\username

id -u

klist

exit
klist コマンドによって返された Kerberos チケットがそのユーザーに対して正しく、有効期限が切れていないことを確認します。
root ユーザーとして、以前の id -u コマンドによって返された uid に対応するチケットキャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
同様のテストは、KDE または Gnome Display Manager にログオンすることで実行できます。ドメイン参加の検証後、手順 6: Linux VDA のインストール に進みます。

PBIS

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

例:
sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh

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

例:
sudo chmod +x pbis-open-8.8.0.506.linux.x86_64.deb.sh

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

例:
sudo sh pbis-open-8.8.0.506.linux.x86_64.deb.sh

Windows ドメインに参加する

ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つ アクティブディレクトリ ユーザーアカウントが必要です。
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
「ユーザー」は、コンピューターをActive Directoryドメインに追加する権限を持つドメインユーザーです。「ドメイン名」は、たとえばexample.comのようなドメインのDNS名です。
注: Bashをデフォルトシェルとして設定するには、sudo /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にログオンします。
sudo 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パッケージのダウンロード

Citrix Virtual Apps and Desktops™ ダウンロードページにアクセスします。Citrix Virtual Apps and Desktops の適切なバージョンを展開し、Components をクリックして、お使いの Linux ディストリビューションに一致する Linux VDA パッケージをダウンロードします。

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

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

Debian パッケージマネージャーを使用して Linux VDA ソフトウェアをインストールします。
Ubuntu 20.04 の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
Ubuntu 18.04 の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
Ubuntu 20.04 の Debian 依存関係リスト:
libqt5widgets5 >= 5.7~

ibus >= 1.5

libsasl2-modules-gssapi-mit >= 2.1.~

postgresql >= 12

libpostgresql-jdbc-java >= 42.2

openjdk-11-jdk >= 11

imagemagick >= 8:6.9.10

ufw >= 0.36

ubuntu-desktop >= 1.450

libxrandr2 >= 2:1.5.2

libxtst6 >= 2:1.2.3

libxm4 >= 2.3.8

util-linux >= 2.34

gtk3-nocsd >= 3

bash >= 5.0

findutils >= 4.7.0

sed >= 4.7

cups >= 2.3

libmspack0 >= 0.10

libgoogle-perftools4 >= 2.7~

libpython2.7 >= 2.7~
Ubuntu 18.04 の Debian 依存関係リスト:
libqt5widgets5 >= 5.7~

libmspack0 >= 0.6

ibus >= 1.5

libnss3-tools >= 2:3.35

postgresql >= 9.5

libpostgresql-jdbc-java >= 9.2

openjdk-11-jdk >= 11

gtk3-nocsd >=3

imagemagick >= 8:6.8.9.9

ufw >= 0.35

ubuntu-desktop >= 1.361

libxrandr2 >= 2:1.5.0

libxtst6 >= 2:1.2.2

libxm4 >= 2.3.4

util-linux >= 2.27.1

bash >= 4.3

findutils >= 4.6.0

sed >= 4.2.2

cups >= 2.1

libldap-2.4-2 >= 2.4.42

libsasl2-modules-gssapi-mit >= 2.1.~

python-requests >= 2.9.1

libgoogle-perftools4 >= 2.4~

xserver-xorg-core >= 2:1.18

xserver-xorg-core << 2:1.19

x11vnc>=0.9.13

python-websockify >= 0.6.1
注:
このバージョンの Linux VDA がサポートする Linux ディストリビューションと Xorg バージョンのマトリックスについては、「システム要件」を参照してください。

ステップ 6b: Linux VDA をアップグレードする(オプション)

既存のインストールを、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。
sudo dpkg -i <PATH>/<Linux VDA deb>
注:
既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。

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

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

ステップ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 Virtual Desktop サービスは、マシンの起動後に開始されます。デフォルトでは Y に設定されています。
  • CTX\_XDL\_ADD\_FIREWALL\_RULES=Y \| N – Linux Virtual Desktop サービスでは、システムファイアウォールを介した受信ネットワーク接続が許可されている必要があります。Linux Virtual Desktop のシステムファイアウォールで、必要なポート (デフォルトではポート 80 と 1494) を自動的に開くことができます。デフォルトでは Y に設定されています。
  • CTX\_XDL\_AD\_INTEGRATION=1 \| 2 \| 3 \| 4 \|5 – Linux VDA は、Delivery Controller で認証するために Kerberos 構成設定を必要とします。Kerberos 構成は、システムにインストールおよび構成されている Active Directory 統合ツールから決定されます。使用するサポートされている Active Directory 統合方法を指定します。
    • 1 – サンバ・ウィンバインド
    • 2 – クエスト・オーセンティケーション・サービス
    • 3 – セントリファイ・ダイレクトコントロール
    • 4 – SSSD
    • 5 – PBIS
  • 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。この変数はデフォルトで \&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 Group Policy を介して構成されます。Linux VDA は AD グループポリシーをサポートしていませんが、代わりにセミコロンで区切られた FAS サーバーのリストを指定できます。シーケンスは AD Group Policy で構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を \&lt;none\> テキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
  • CTX\_XDL\_DOTNET\_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス (ctxvda) をサポートするための .NET Runtime 6.0 をインストールするパス。デフォルトのパスは /usr/bin です。
  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/mate – セッションで使用する GNOME または MATE デスクトップ環境を指定します。変数を指定しない場合、VDA に現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップが MATE の場合は、変数の値を mate に設定する必要があります。
    ターゲットセッションユーザーのデスクトップ環境は、次の手順で変更することもできます。
    1. VDA の $HOME/<username\> ディレクトリの下に .xsession ファイルを作成します。
    2. .xsession ファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。
      • MATE デスクトップの場合
         MSESSION="$(type -p mate-session)"

         if [ -n "$MSESSION" ]; then
           exec mate-session

         fi
      • GNOME デスクトップの場合
         GSESSION="$(type -p gnome-session)"

         if [ -n "$GSESSION" ]; then
         exec gnome-session

         fi
    3. ターゲットセッションユーザーと 700 ファイル権限を共有します。
  • 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=1|2|3|4|5

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 | 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
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=1|2|3|4|5 \

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 | 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

構成の変更を削除する

シナリオによっては、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サービスを再起動します。

Linux VDAソフトウェアをアンインストールする

Linux VDAがインストールされているかどうかを確認し、インストールされているパッケージのバージョンを表示するには:
dpkg -l xendesktopvda
詳細情報を表示するには:
apt-cache show xendesktopvda
Linux VDAソフトウェアをアンインストールするには:
dpkg -r xendesktopvda
注:
Linux VDAソフトウェアをアンインストールすると、関連するPostgreSQLおよびその他の構成データが削除されます。ただし、Linux VDAのインストール前にセットアップされたPostgreSQLパッケージおよびその他の依存パッケージは削除されません。
ヒント:
このセクションの情報には、PostgreSQLを含む依存パッケージの削除は含まれていません。

ステップ 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 systemctl start ctxhdx

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

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

sudo systemctl restart ctxhdx

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

sudo systemctl status ctxhdx

ステップ 11: マシンカタログを作成する

マシンカタログを作成し、Linux VDA マシンを追加するプロセスは、従来の Windows VDA のアプローチと似ています。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
  • オペレーティングシステムには、以下を選択します。
    • ホストされた共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルの場合は、シングルセッションOSオプション。
  • 同じマシンカタログ内でLinux VDAマシンとWindows VDAマシンを混在させないでください。
注:
Citrix Studioの初期バージョンでは、「Linux OS」という概念はサポートされていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホストされた共有デスクトップ配信モデルが示唆されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンごとに1人のユーザーという配信モデルが示唆されます。
ヒント:
マシンをActive Directoryドメインから削除して再参加させる場合、そのマシンをマシンカタログから削除して再度追加する必要があります。

ステップ12:デリバリーグループを作成する

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。
  • 選択したADユーザーとグループが、Linux VDAマシンにログオンできるように適切に構成されていることを確認してください。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • デリバリーグループをWindowsマシンを含むマシンカタログと混在させないでください。
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2203」を参照してください。