Linux Virtual Delivery Agent

DebianへのLinux VDAの手動インストール

重要:

新規インストールの場合は、簡単インストールを使用して簡易インストールを行うことをお勧めします。 簡単インストールは時間と労力を節約するだけでなく、本記事に記載されている手動インストールよりもエラーを減らすことができます。

手順1: 構成ファイル情報およびLinuxマシンの準備

手順1a:ホスト名の設定

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

hostname

手順1b:ホスト名へのループバックアドレスの割り当て

マシンのDNSドメイン名と完全修飾ドメイン名(FQDN)が正しく報告されることを確認します。 このためには、/etc/hostsファイルの次の行の最初の2つのエントリにFQDNとホスト名が含まれるように編集します:

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のホスト名にも適用されます。

手順1c:ホスト名の確認

マシンを再起動して、ホスト名が正しく設定されていることを確認します:

  hostname
<!--NeedCopy-->

このコマンドによって、そのマシンの完全修飾ドメイン名(FQDN)ではなく、そのホスト名のみが返されます。

次のコマンドで、完全修飾ドメイン名が正しく設定されていることを確認します:

  hostname -f
<!--NeedCopy-->

このコマンドにより、そのマシンの完全修飾ドメイン名が返されます。

手順1d:マルチキャストDNSの無効化

デフォルトの設定でマルチキャストDNS(mDNS)が有効であるため、名前解決の結果に不整合が発生する場合があります。

mDNSを無効にするには、/etc/nsswitch.confを編集して、以下の行を変更します:

hosts: files mdns_minimal [NOTFOUND=return] dns

変更後:

hosts: files dns

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

次のコマンドで、完全修飾ドメイン名が解決できることと、ドメインコントローラーとDelivery Controllerからpingに応答があることを確認します:

  nslookup domain-controller-fqdn

  ping domain-controller-fqdn

  nslookup delivery-controller-fqdn

  ping delivery-controller-fqdn
<!--NeedCopy-->

完全修飾ドメイン名を解決できない、またはこれらのマシンのいずれかからpingに応答がない場合は、手順を確認してから次に進んでください。

手順1f:時刻同期の構成(chrony)

VDA、Delivery Controller、ドメインコントローラーの間で正確な時刻同期を維持することは重要です。 仮想マシン(VM)としてLinux VDAをホストすると、時刻が不正確になる問題が発生する可能性があります。 したがって、リモートのタイムサービスを使用して時刻を維持することをお勧めします。

chronyのインストール:

  apt-get install chrony
<!--NeedCopy-->

ルートユーザーとして /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エントリなど、一覧にあるその他のserverまたはpoolエントリを削除します。

変更を保存してから、次のコマンドでChronyデーモンを再起動します:

  sudo systemctl restart chrony
<!--NeedCopy-->

手順1g:パッケージのインストール

  sudo apt-get install -y libsasl2-2

  sudo apt-get install -y libgtk2.0-0
<!--NeedCopy-->

手順1h:リポジトリを追加して必要な依存関係をインストールする

Debian 11の場合、/etc/apt/sources.listファイルにdeb http://deb.debian.org/debian/ bullseye main行を追加します。

手順1i:使用するデータベースのインストールと指定

注:

  • VDIモードのみでSQLiteを使用し、ホストされる共有デスクトップ配信モデルにはPostgreSQLを使用することをお勧めします。

  • 簡単インストールとMCSのために、SQLiteとPostgreSQLは、それぞれを手動でインストールすることなく指定することができます。 /etc/xdl/db.confで特に指定しない限り、Linux VDAはデフォルトでPostgreSQLを使用します。 Linuxディストリビューションで提供されるバージョンではなく、カスタムバージョンのPostgreSQLが必要な場合は、指定されたバージョンを手動でインストールし、新しいバージョンを反映するように/etc/xdl/db.confを編集し、簡単インストールスクリプト(ctxinstall.sh)またはMCSスクリプト(deploymcs.sh)を実行する前にPostgreSQLサービスを開始する必要があります。

  • 手動インストールの場合は、SQLite、PostgreSQL、またはその両方を手動でインストールする必要があります。 Linuxディストリビューションによって提供されるバージョンの代わりに、PostgreSQLのカスタムバージョンを使用できます。 SQLiteとPostgreSQLの両方をインストールする場合、Linux VDAパッケージをインストールしてから/etc/xdl/db.confを編集すると、どちらを使用するかを指定できます。

PostgreSQLのインストール

このセクションでは、Linuxディストリビューションによって提供されるPostgreSQLのバージョンをインストールする方法について説明します。 PostgreSQLのカスタムバージョンが必要な場合は、特定の要件に基づいてインストールできます。

次のコマンドを実行して、PostgreSQLをインストールします:

  sudo apt-get update

  sudo apt-get install -y postgresql

  sudo apt-get install -y libpostgresql-jdbc-java
<!--NeedCopy-->

マシンの起動時または即時でPostgreSQL起動するには、それぞれ次のコマンドを実行します:

  sudo systemctl enable postgresql

  sudo systemctl start postgresql
<!--NeedCopy-->

SQLiteをインストールする

Debianの場合、次のコマンドを実行してSQLiteをインストールします:

  sudo apt-get install -y sqlite3
<!--NeedCopy-->

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

SQLiteとPostgreSQLの両方をインストールする場合、Linux VDAパッケージをインストールしてから/etc/xdl/db.confを編集すると、どちらを使用するかを指定できます。

  1. /opt/Citrix/VDA/sbin/ctxcleanup.shを実行します。 新規インストールの場合、この手順は省きます。
  2. /etc/xdl/db.confを編集して、使用するデータベースを指定します。 以下はdb.confファイルの例です:

      # database configuration file for Linux VDA
    
      ## database choice
      # possible choices are:
      #     SQLite
      #     PostgreSQL
      # default choice is PostgreSQL
      DbType="PostgreSQL"
    
    
      ## database port
      # specify database port for the database.
      # if not specified, default port will be used:
      # SQLite: N/A
      # PostgreSQL: 5432
      DbPort=5432
    
    
      ## PostgreSQL customized
      # only the following value means true, otherwise false:
      #     true
      #     yes
      #     y
      #     YES
      #     Y
      # default is false
      DbCustomizePostgreSQL=false
    
      ## PostgreSQL service name
      # specify the service name of PostgreSQL for Linux VDA
      # default is "postgresql"
      DbPostgreSQLServiceName="postgresql"
    <!--NeedCopy-->
    

    PostgreSQLのカスタムバージョンを使用するには、DbCustomizePostgreSQLをtrueに設定します。

  3. ctxsetup.shを実行します。

注:

/etc/xdl/db.conf を使用してPostgreSQLのポート番号を構成することもできます。

手順2:ハイパーバイザーの準備

サポートされるハイパーバイザー上でVMとしてLinux VDAを実行する場合、いくつかの変更が必要です。 使用するハイパーバイザーのプラットフォームに合わせて、次の変更を行います。 ベアメタルハードウェアでLinuxマシンを実行する場合、変更は必要ありません。

XenServer(旧称Citrix Hypervisor)での時刻同期の修正

XenServerの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとXenServerの問題が発生します。 これは、NTPとCitrix Hypervisorの両方がシステムの時間を管理しようとすることが原因です。 システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。 この場合、ホストの時刻同期を無効にする必要があります。 HVMモードでは、変更は必要ありません。

XenServer Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、XenServerの時刻同期機能が存在するかどうかと、Linux仮想マシン内で有効になっているかどうかを確認できます:

  su -
  cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは0または1を返します:

  • 0 - 時刻同期機能が有効になっているため、無効にする必要があります。
  • 1 - 時刻同期機能が無効になっています。これ以上の操作は必要ありません。

/proc/sys/xen/independent_wallclockファイルが存在しない場合、以下の手順は必要ありません。

時刻同期機能が有効になっている場合は、ファイルに「1」と書き込んで無効にします:

  sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

この変更を永続化し、再起動後も保持するには、/etc/sysctl.confファイルを編集して、次の行を追加します:

xen.independent_wallclock = 1

これらの変更を確認するため、次のようにしてシステムを再起動します:

  su -
  cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは1を返します。

Microsoft Hyper-Vでの時刻同期の修正

Hyper-V Linux統合サービスがインストールされたLinux仮想マシンでは、Hyper-Vの時刻同期機能を使用してホストオペレーティングシステムの時間を利用できます。 システムの時間を正確な状態で維持するには、NTPサービスとともにこの機能を有効にします。

管理オペレーティングシステムで、次の操作を行います。

  1. Hyper-Vマネージャーを開きます。
  2. Linux仮想マシンの設定で、[統合サービス] を選択します。
  3. [時刻の同期] が選択されていることを確認します。

注:

この方法はVMwareおよびXenServer(旧称Citrix Hypervisor)の場合とは異なります。VMwareおよびXenServerでは、NTPとの競合を避けるためにホストの時刻同期を無効にします。 Hyper-Vの時刻同期は、NTPと共存し、NTPの時刻同期を補完することができます。

ESXおよびESXiでの時刻同期の修正

VMwareの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとハイパーバイザーで問題が発生します。 これは、NTPとハイパーバイザーの両方がシステムの時間を同期しようとすることが原因です。 システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。 この場合、ホストの時刻同期を無効にする必要があります。

VMware Toolsをインストールした状態で準仮想化Linuxカーネルを実行している場合は、次の操作を行います。

  1. vSphere Clientを開きます。
  2. Linux仮想マシンの設定を編集します。
  3. [仮想マシンのプロパティ] ダイアログボックスで、[オプション] タブをクリックします。
  4. [VMware Tools] を選択します。
  5. [詳細] ボックスで、[ホストとゲスト時刻を同期] チェックボックスをオフにします。

手順3:Linux VMをWindowsドメインに追加

以下は、LinuxマシンをActive Directory(AD)ドメインに追加する方法です:

選択した方法の手順に従います。

Linux VDAのローカルアカウントとADのアカウントで同じユーザー名を使用すると、セッションの起動に失敗することがあります。

Samba Winbind

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

  sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--NeedCopy-->

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

次のコマンドで、マシン起動時にWinbindデーモンが開始するように構成する必要があります。

  sudo systemctl enable winbind
<!--NeedCopy-->

注:

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パラメーターは、DNSドメイン名(example.comなど)です。 REALMは、大文字のKerberos領域名(EXAMPLE.COMなど)です。

Winbind認証の構成

vim /etc/samba/smb.confコマンドを実行して/etc/samba/smb.confを開いてから、以下を設定します:

[global]

workgroup = WORKGROUP

security = ADS

realm = REALM

encrypt passwords = yes

idmap config *:range = 16777216-33554431

kerberos method = secrets and keytab

winbind refresh tickets = yes

template shell = /bin/bash

WORKGROUPは、REALMの最初のフィールドです。REALMは大文字のKerberos領域名です。

nsswitchの構成

/etc/nsswitch.confを開き、winbindを次の行に追加します:

passwd: files systemd winbind group: files systemd winbind

Windowsドメインへの参加

ドメインコントローラーがアクセス可能で、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です:

  sudo net ads join <Kerberos realm name in uppercase> -U <domain user with permission to add computers to the domain>
<!--NeedCopy-->

Winbindの再起動

  sudo systemctl restart winbind
<!--NeedCopy-->

Winbind用のPAMの構成

次のコマンドを実行して、[Winbind NT/Active Directory authentication] オプションと [Create home directory on login] オプションが選択されているようにします:

  sudo pam-auth-update
<!--NeedCopy-->

ヒント:

マシンがドメインに参加済みの場合にのみ、winbindデーモンは実行を続けます。

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

Delivery Controllerを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。

次のように、Sambanet adsコマンドを実行して、マシンがドメインに参加していることを確認します:

  sudo net ads testjoin
<!--NeedCopy-->

追加のドメインおよびコンピューターオブジェクト情報を検証するには、次のコマンドを実行します:

  sudo net ads info
<!--NeedCopy-->

Kerberos構成の確認

Linux VDAで使用できるようにKerberosが正しく構成されていることを確認するには、次のコマンドによって、システムのkeytabファイルが作成済みでkeytabファイルに有効なキーが含まれていることを確認します:

  sudo klist -ke
<!--NeedCopy-->

このコマンドにより、プリンシパル名と暗号スイートのさまざまな組み合わせに対して使用できるキーの一覧が表示されます。 Kerberosのkinitコマンドを実行し、これらのキーを使用して、マシンをドメインコントローラーに対して認証します:

  sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->

マシン名と領域名は大文字で指定する必要があります。 ドル記号($)は、シェルによる置き換えを防ぐためにバックスラッシュ(\)でエスケープする必要があります。 環境によっては、DNSドメイン名がKerberos領域名と異なります。 したがって、必ず領域名を使用します。 このコマンドが成功すると、出力は表示されません。

次のコマンドを使用して、マシンアカウントのTGTチケットがキャッシュされたことを確認します:

  sudo klist
<!--NeedCopy-->

次のコマンドを使用して、マシンアカウントの詳細を調査します:

  sudo net ads status
<!--NeedCopy-->

ユーザー認証の確認

次のように、wbinfoツールを使用して、ドメインユーザーがドメインに対して認証できることを確認します:

  wbinfo --krb5auth=domain\\username%password
<!--NeedCopy-->

ここで指定するドメインはADドメイン名で、Kerberos領域名ではありません。 bashシェルの場合、バックスラッシュ文字(\)は、もう1つバックスラッシュ文字を指定してエスケープする必要があります。 このコマンドにより、成功または失敗を示すメッセージが返されます。

Winbind PAMモジュールが正しく構成されていることを確認するには、以前に使用したことがないドメインユーザーアカウントを使用してLinux VDAにログオンします。

  ssh localhost -l domain\\username

  id -u
<!--NeedCopy-->

注:

SSHコマンドを正しく実行するには、SSHが有効で適切に機能していることを確認します。

次のコマンドで、id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します:

  ls /tmp/krb5cc_uid
<!--NeedCopy-->

次のコマンドで、ユーザーのKerberos資格情報キャッシュのチケットが有効で、期限切れではないことを確認します:

  klist
<!--NeedCopy-->

次のコマンドで、セッションを終了します。

  exit
<!--NeedCopy-->

GnomeコンソールまたはKDEコンソールに直接ログオンすると、同様のテストを実行できます。 ドメイン参加の確認後、「手順6:Linux VDAのインストール」に進みます。

ヒント:

ユーザー認証に成功しても、ドメインアカウントでログオンしたときにデスクトップを表示できない場合、マシンを再起動して再試行します。

Quest Authentication Service

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

次の操作は、QuestソフトウェアをActive Directoryドメインコントローラーにインストールし、構成していることと、管理者特権が付与され、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=disabled

この変更にはマシンの再起動が必要です:

  reboot
<!--NeedCopy-->

重要:

この設定は注意して使用してください。 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
<!--NeedCopy-->

このコマンドにより、更新間隔が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
<!--NeedCopy-->

Windowsドメインへの参加

Quest vastoolコマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます:

  sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->

userは、コンピューターをActive Directoryドメインに追加する権限を持つ任意のドメインユーザーです。 domain-nameは、ドメインのDNS名(example.comなど)です。

ドメインに追加後、Linuxマシンを再起動します。

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

Delivery Controllerを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。 Questによって追加されたLinuxマシンがドメインに存在することを確認するには、次のコマンドを実行します:

  sudo /opt/quest/bin/vastool info domain
<!--NeedCopy-->

マシンがドメインに参加している場合は、ドメイン名が返されます。 マシンがドメインに追加していない場合、以下のエラーが表示されます:

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

ユーザー認証の確認

PAMを使用したQuestのドメインユーザーの認証が可能かどうかを確認するには、以前に使用したことがないドメインユーザーアカウントを使用してLinux VDAにログオンします。

  ssh localhost -l domain\\username

  id -u
<!--NeedCopy-->

次のコマンドで、id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します:

  ls /tmp/krb5cc_uid
<!--NeedCopy-->

次のコマンドで、Kerberos資格情報キャッシュのチケットが有効で、期限切れではないことを確認します:

  /opt/quest/bin/vastool klist
<!--NeedCopy-->

次のコマンドで、セッションを終了します。

  exit
<!--NeedCopy-->

ドメイン参加の確認後、「手順6:Linux VDAのインストール」に進みます。

Centrify DirectControl

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている場合、次のようにCentrifyのadjoinコマンドを使用して、LinuxマシンをActive Directoryドメインに追加します:

  su –
  adjoin -w -V -u user domain-name
<!--NeedCopy-->

userパラメーターは、コンピューターをActive Directoryドメインに追加する権限を持つ任意のActive Directoryドメインユーザーです。 domain-name パラメーターは、Linuxマシンを追加するドメインの名前です。

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

Delivery Controllerを使用するには、WindowsまたはLinuxに関係なく、すべてのVDAマシンでActive Directoryにコンピューターオブジェクトが必要です。 Centrifyにより追加されたLinuxマシンがドメインに存在することを確認するには、次のコマンドを実行します:

  su –

  adinfo
<!--NeedCopy-->

Joined to domain値が有効であることと、CentrifyDC modeconnectedが返されることを確認します。 CentrifyDC modeがstartingのまま変化しない場合は、Centrifyクライアントにサーバーとの接続の問題、または認証の問題が発生しています。

次を使用すると、より包括的なシステム情報と診断情報を取得できます。

  adinfo --sysinfo all

  adinfo --diag
<!--NeedCopy-->

さまざまなActive DirectoryおよびKerberosサービスとの接続をテストします。

  adinfo --test
<!--NeedCopy-->

ドメイン参加の確認後、「手順6:Linux VDAのインストール」に進みます。

SSSD

Kerberosを構成する

Kerberosをインストールするには、次のコマンドを実行します:

  sudo apt-get install krb5-user
<!--NeedCopy-->

Kerberosを構成するには、/etc/krb5.confをルートとして開き、パラメーターを設定します。

ADインフラストラクチャに基づいてKerberosを構成します。 次の設定は、単一ドメイン、単一フォレストモデルを対象としています。

[libdefaults]

default_realm = REALM

dns_lookup_kdc = false

rdns = 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パラメーターは、DNSドメイン名(example.comなど)です。 REALMは、大文字のKerberos領域名(EXAMPLE.COMなど)です。

ドメインに参加する

SSSDを構成して、Active DirectoryをIDプロバイダーおよび認証のKerberosとして使用します。 ただし、SSSDでは、ドメイン参加とシステムのkeytabファイルの管理に関するADのクライアント機能が提供されていません。 代わりにadclirealmd、またはSambaを使用できます。

注意:

このセクションでは、adcliおよびSambaに関する情報のみを提供します。

  • adcliを使用してドメインに参加する場合は、次の手順を実行します:
  1. adcliをインストールします。

      sudo apt-get install adcli
    <!--NeedCopy-->
    
  2. adcliでドメインに参加させます。

    次を使用して古いシステムkeytabファイルを削除し、ドメインに参加させます。

      su -
    
      rm -rf /etc/krb5.keytab
    
      adcli join domain-dns-name -U user -H hostname-fqdn
    <!--NeedCopy-->
    

    userは、ドメインにマシンを追加する権限があるドメインユーザーです。 hostname-fqdn は、完全修飾ドメイン名形式のマシンのホスト名です。

    -Hオプションは、adcliが、Linux VDAで必要なhost/hostname-fqdn@REALMという形式でSPNを生成するのに必要です。

  3. システムのkeytabを確認します。

    sudo klist -ketコマンドを実行して、システムのkeytabファイルが作成されていることを確認します。

    各キーのタイムスタンプが、マシンがドメインに参加した時刻と一致するかを検証します。

  • Sambaを使用してドメインに参加する場合は、次の手順を実行します:
  1. パッケージをインストールします。

      sudo apt-get install samba krb5-user
    <!--NeedCopy-->
    
  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 <the Kerberos realm name in uppercase> -U <domain user with permission to add computers to the domain>
    <!--NeedCopy-->
    

SSSDのセットアップ

必要なパッケージのインストールまたは更新:

必要なSSSDおよび構成パッケージがインストールされていない場合、インストールします。

  sudo apt-get install sssd
<!--NeedCopy-->

パッケージが既にインストールされている場合、更新することをお勧めします。

  sudo apt-get install --only-upgrade sssd
<!--NeedCopy-->

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パラメーターは、DNSドメイン名(example.comなど)です。 REALMは、大文字のKerberos領域名(EXAMPLE.COMなど)です。 NetBIOSドメイン名を構成するための要件はありません。

構成設定について詳しくは、sssd.confおよびsssd-adに関するmanページを参照してください。

SSSDデーモンでは、構成ファイルに所有者読み取り権限のみが設定されている必要があります。

  sudo chmod 0600 /etc/sssd/sssd.conf
<!--NeedCopy-->

SSSDデーモンの起動

次のコマンドを実行して、SSSDデーモンを起動し、マシンの起動時にもデーモンを起動できるようにします。

  sudo systemctl start sssd

  sudo systemctl enable sssd
<!--NeedCopy-->

PAM構成

次のコマンドを実行して、[SSS authentication] オプションと [Create home directory on login] オプションが選択されているようにします:

  sudo pam-auth-update
<!--NeedCopy-->

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

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構成の確認

Linux VDAで使用できるようにKerberosが正しく構成されていることを確認するには、次のコマンドによって、システムのkeytabファイルが作成済みでkeytabファイルに有効なキーが含まれていることを確認します:

  sudo klist -ke
<!--NeedCopy-->

このコマンドにより、プリンシパル名と暗号スイートのさまざまな組み合わせに対して使用できるキーの一覧が表示されます。 Kerberosのkinitコマンドを実行し、これらのキーを使用して、マシンをドメインコントローラーに対して認証します:

  sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->

マシン名と領域名は大文字で指定する必要があります。 ドル記号($)は、シェルによる置き換えを防ぐためにバックスラッシュ(\)でエスケープする必要があります。 環境によっては、DNSドメイン名がKerberos領域名と異なります。 したがって、必ず領域名を使用します。 このコマンドが成功すると、出力は表示されません。

次のコマンドを使用して、マシンアカウントのTGTがキャッシュされたことを確認します:

  sudo klist
<!--NeedCopy-->

ユーザー認証の確認

SSSDは、デーモンで直接認証をテストするコマンドラインツールを提供しません。PAM経由でのみ完了できます。

SSSD PAMモジュールが正しく構成されていることを確認するには、以前に使用したことがないドメインユーザーアカウントを使用してLinux VDAにログオンします。

  ssh localhost -l domain\\username

  id -u

  klist

  exit
<!--NeedCopy-->

ユーザーのklistコマンドで返されるKerberosチケットが正しく、期限切れではないことを確認します。

ルートユーザーとして、前述のid -uコマンドで返されたUIDに対応するチケットキャッシュファイルが作成されたことを確認します:

  ls /tmp/krb5cc_uid
<!--NeedCopy-->

KDEまたはGnome Display Managerに直接ログオンすると、同様のテストを実行できます。 ドメイン参加の確認後、「手順6:Linux VDAのインストール」に進みます。

PBIS

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

  sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->

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

  sudo chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->

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

  sudo sh pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->

Windowsドメインへの参加

ドメインコントローラーがアクセス可能で、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です:

  sudo /opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->

userは、コンピューターをActive Directoryドメインに追加する権限を持つドメインユーザーです。 domain-nameは、ドメインのDNS名(example.comなど)です。

注: Bashをデフォルトのシェルとして設定するには、sudo /opt/pbis/bin/config LoginShellTemplate/bin/bashコマンドを実行します。

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

Delivery Controllerを使用するには、すべてのVDAマシン(WindowsとLinux VDA)でActive Directoryにコンピューターオブジェクトが必要です。 PBISによって追加されたLinuxマシンがドメインに存在することを確認するには、次のコマンドを実行します:

  /opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->

マシンがドメインに参加している場合、このコマンドは現在のADドメインとOUの情報を返します。 参加していない場合は、ホスト名だけが表示されます。

ユーザー認証の確認

PAMを使用したPBISのドメインユーザーの認証が可能かどうかを確認するには、以前に使用したことがないドメインユーザーアカウントを使用してLinux VDAにログオンします。

  sudo ssh localhost -l domain\\user

  id -u
<!--NeedCopy-->

次のコマンドで、id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します:

  ls /tmp/krb5cc_uid
<!--NeedCopy-->

次のコマンドで、セッションを終了します。

  exit
<!--NeedCopy-->

ドメイン参加の確認後、「手順6:Linux VDAのインストール」に進みます。

手順4:.NETをインストールする

Linux VDAをインストールまたはアップグレードする前に、サポートされているすべてのLinuxディストリビューションに、.NETランタイムに加えて.ASP.NET Coreランタイムをインストールする必要があります。 Amazon Linux 2にはバージョン6が必要です。 他のディストリビューションにはバージョン8が必要です。

Linuxディストリビューションに必要な.NETバージョンが含まれている場合は、組み込みフィードからインストールします。 それ以外の場合は、Microsoftパッケージフィードから.NETをインストールします。 詳しくは、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersを参照してください。

.NETのインストール後、which dotnetコマンドを実行してランタイムパスを特定します。

コマンド出力に基づいて、.NETランタイムのバイナリパスを設定します。 たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。

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

  1. Citrix Virtual Apps and Desktopsのダウンロードページにアクセスします。
  2. 適切なバージョンのCitrix Virtual Apps and Desktopsを展開します。
  3. Componentsを展開してLinux VDAを見つけます。 次に例を示します:

    Citrix Virtual Apps and Desktopsのコンポーネント

  4. Linux VDAのリンクをクリックして、Linux VDAのダウンロードファイルにアクセスします。

    Linux VDAのダウンロードファイル

  5. 使用中のLinuxディストリビューションに対応したLinux VDAパッケージをダウンロードします。

  6. Linux VDAパッケージの整合性を検証するために使用できるGPG公開キーをダウンロードします。 例えば:

    GPG公開キー

    Linux VDAパッケージの整合性を確認するには、次のコマンドを実行して公開キーをDEBデータベースにインポートし、パッケージの整合性を確認します:

      sudo apt-get install dpkg-sig
      gpg --import <path to the public key>
      dpkg-sig --verify <path to the Linux VDA package>
    <!--NeedCopy-->
    

手順6:Linux VDAのインストール

手順6a:Linux VDAのインストール

次のように、Debian Package Managerを使用してLinux VDAソフトウェアをインストールします:

Debian 12の場合:

  sudo dpkg -i xendesktopvda_<version>.debian12_amd64.deb
<!--NeedCopy-->

Debian 11の場合:

  sudo dpkg -i xendesktopvda_<version>.debian11_amd64.deb
<!--NeedCopy-->

Debian 12の依存関係一覧:

  openjdk-17-jdk >= 17
  imagemagick >= 8:6.9.11
  ufw >= 0.36
  desktop-base >= 12.0.6
  libxrandr2 >= 2:1.5.2
  libxtst6 >= 2:1.2.3
  libxm4 >= 2.3.8
  util-linux >= 2.38
  gtk3-nocsd >= 3
  bash >= 5.2
  findutils >= 4.9.0
  sed >= 4.9
  cups >= 2.4
  ghostscript >= 10.0.0~
  libmspack0 >= 0.11
  ibus >= 1.5
  libgoogle-perftools4 >= 2.10~
  libpython3.11 >= 3.11~
  libsasl2-modules-gssapi-mit >= 2.1.~
  libnss3-tools >= 2:3.87
  libqt5widgets5 >= 5.15~
  mutter >= 43.8
  libqrencode4 >= 4.1.1
  libimlib2 >= 1.10.0
  libfuse2 >= 2.9.9
  pulseaudio-utils >= 16.1
<!--NeedCopy-->

Debian 11の依存関係一覧:

  libnss3-tools >= 2:3.61

  libfuse2 >= 2.9

  openjdk-17-jdk >= 17

  imagemagick >= 8:6.9.10

  ufw >= 0.36

  desktop-base >= 10.0.2

  libxrandr2 >= 2:1.5.1

  libxtst6 >= 2:1.2.3

  libxm4 >= 2.3.8

  util-linux >= 2.33

  gtk3-nocsd >= 3

  bash >= 5.0

  findutils >= 4.6.0

  sed >= 4.7

  cups >= 2.2

  ghostscript >= 9.53~

  libmspack0 >= 0.10

  ibus >= 1.5

  libgoogle-perftools4 >= 2.7~

  libpython3.9 >= 3.9~

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

  libqt5widgets5 >= 5.5~

  mutter >= 3.38.6~

  libqrencode4 >= 4.0.0

  libimlib2 >= 1.5.1
<!--NeedCopy-->

このバージョンのLinux VDAでサポートされているLinuxディストリビューションとXorgのバージョンについては、「システム要件」を参照してください。

手順6b:Linux VDAのアップグレード(オプション)

Linux VDAは、最新バージョンからのアップグレードをサポートしています。 たとえば、Linux VDAを2308から2311に、および1912 LTSRから2203 LTSRにアップグレードできます。

  sudo dpkg -i <PATH>/<Linux VDA deb>

  sudo apt-get install -f
<!--NeedCopy-->

  • 既存のインストールをアップグレードすると、/etc/xdlにある構成ファイルが上書きされます。 アップグレードを実行する前に、必ずファイルをバックアップしてください。

  • 2407リリース以降、Linux VDAは、アップグレード中に構成ファイルを処理するために、パッケージマネージャーrpmまたはdpkgに委任します。 以下では、rpmdpkgが構成ファイルの変更でどのように機能するかについて説明しています:

    • rpm:デフォルトでは、ローカルバージョンが保持され、パッケージから新しいバージョンが.rpmnew拡張子で保存されます。

    • dpkg:どのように続行するかを選択するよう対話形式で促します。 ローカル構成ファイルを保持し、新しいパッケージバージョンを.dpkg-newまたは.dpkg-distとして保存しながらLinux VDAを自動アップグレードするには、次のコマンドを使用します:

      ` dpkg –force-confold -i package.deb # Always keep your version, then save new package’s version as *.dpkg-new or *.dpkg-dist`

手順7:NVIDIA GRIDドライバーのインストール

HDX 3D Proを有効にするには、ハイパーバイザーとVDAマシンにNVIDIA GRIDドライバーをインストールする必要があります。

特定のハイパーバイザーにNVIDIA GRID Virtual GPU Manager(ホストドライバー)をインストールして構成するには、次のガイドを参照してください:

NVIDIA GRIDゲストVMドライバーをインストールして構成するには、次の一般的な手順を実行します:

  1. ゲストVMがシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、GPUをVMに割り当てます。
  3. 仮想マシンを起動します。
  4. ゲストVMドライバーをVMにインストールします。

手順8:Linux VDAの構成

ランタイム環境をセットアップする前に、en_US.UTF-8ロケールがインストールされていることを確認します。 OSにこのロケールがない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。 Debianの場合は、# en_US.UTF-8 UTF-8行のコメントを解除して/etc/locale.genファイルを編集してから、sudo locale-genコマンドを実行します。

パッケージのインストール後、ctxsetup.shスクリプトを実行して、Linux VDAを構成する必要があります。 このスクリプトは、変更を行う前に環境を確認し、すべての依存コンポーネントがインストールされていることが確認されます。 必要に応じて、いつでもこのスクリプトを再実行して設定を変更できます。

このスクリプトは、手動で質問に回答しながら、または事前に構成した回答を使用して自動で実行できます。 続行する前に、次のコマンドを使用してこのスクリプトのヘルプを確認します:

  sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--NeedCopy-->

質問に回答する構成

次のようにして、質問に回答する手動構成を実行します:

  sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->

自動化された構成

インストールを自動化するために、環境変数を使用して、セットアップスクリプトで必要となるオプションを指定できます。 必要な変数がすべて指定されていると、スクリプトによってユーザーに情報の入力を求めるメッセージが表示されることがなくなり、インストール処理をスクリプト化できます。

サポートされる環境変数には次のようなものがあります:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – マシンを ドメインに参加させるかどうか。 デフォルト値は’n’です。 ドメイン参加済みシナリオの場合は’n’に設定します。

  • CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’ – Linux VDAには、Delivery Controllerに対して認証するためにKerberos構成設定が必要です。 Kerberos構成は、システムにインストールおよび構成済みのActive Directory統合ツールから指定します。

  • CTX_XDL_DDC_LIST=’<list-ddc-fqdns>‘ – Linux VDAには、Delivery Controllerの登録に使用するDelivery Controllerの完全修飾ドメイン名(FQDN)のスペース区切りの一覧が必要です。 1つまたは複数の完全修飾ドメイン名またはCNAMEを指定する必要があります。

  • CTX_XDL_VDI_MODE=’y|n’ – 専用デスクトップ配信モデル(VDI)またはホストされる共有デスクトップ配信モデルのどちらとしてマシンを構成するかを決定します。 HDX 3D Pro環境の場合は、値を ‘y’ に設定します。

  • CTX_XDL_HDX_3D_PRO=’y|n’ – Linux VDAでは、HDX 3D Proがサポートされます。これは、強力なグラフィックアプリケーションの仮想化を最適にするための一連のGPUアクセラレーションテクノロジです。 HDX 3D Proを選択した場合、VDAはVDIデスクトップ(シングルセッション)モード用に構成されます(つまり、CTX_XDL_VDI_MODE=‘y’となります)。

  • CTX_XDL_START_SERVICE=’y|n’ – 構成の完了時にLinux VDAサービスが開始されるようにするかどうかを指定します。

  • CTX_XDL_REGISTER_SERVICE=’y|n’ – Linux Virtual Desktopサービスは、マシンの起動後に開始します。

  • CTX_XDL_ADD_FIREWALL_RULES=’y|n’ – Linux VDAサービスでは、ネットワーク受信接続がシステムのファイアウォールの通過を許可されている必要があります。 Linux Virtual Desktop用に、システムのファイアウォールの必要なポート(デフォルトではポート80およびポート1494)を自動で開放できます。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/’<none>‘ – セッションで使用するGNOME、GNOMEクラシック、またはMATEデスクトップ環境を指定します。 ‘<none>‘に設定すると、VDAで構成されているデフォルトのデスクトップが使用されます。

    コマンドを実行したり、システムトレイを使用したりして、デスクトップ環境を切り替えることもできます。 詳しくは、「デスクトップ切り替えコマンド」および「システムトレイ」を参照してください。

  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(ctxvda)をサポートするための.NETをインストールするパス。 デフォルトのパスは‘/usr/bin’です。

  • CTX_XDL_VDA_PORT=port-number – Linux VDAは、TCP/IPポート経由でDelivery Controllerと通信します。

  • CTX_XDL_SITE_NAME=<dns-name> – Linux VDAは、DNSを使用してLDAPサーバーを検出します。 DNSの検索結果をローカルサイトに制限するには、DNSサイト名を指定します。 不要な場合は、‘<none>‘に設定します。

  • CTX_XDL_LDAP_LIST=’<list-ldap-servers>‘ – Linux VDAは、DNSを照会してLDAPサーバーを検出します。 DNSがLDAPサービスレコードを提供できない場合は、LDAPのFQDNおよびLDAPポートのスペース区切りの一覧を指定できます。 例:「ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268」。 Active Directoryフォレストでより高速なLDAPクエリを有効にするには、ドメインコントローラーでグローバルカタログを有効にし、関連するLDAPポート番号で3268を指定します。 この変数は、デフォルトで‘<none>‘に設定されています。

  • CTX_XDL_SEARCH_BASE=search-base-set – Linux VDAは、Active Directoryドメインのルート(例:DC=mycompany,DC=com)に設定された検索ベースを使用してLDAPを照会します。 検索のパフォーマンスを改善するために、検索ベースを指定できます(例:OU=VDI,DC=mycompany,DC=com)。 不要な場合は、‘<none>‘に設定します。

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’ – Linux VDAでは、DNS CNAMEレコードを使用して、Delivery Controller名を指定することができます。

環境変数を設定し、構成スクリプトを実行します:

  export CTX_XDL_NON_DOMAIN_JOINED='n'
  export CTX_XDL_AD_INTEGRATION=sssd|winbind|centrify|pbis|quest
  export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
  export CTX_XDL_VDI_MODE='y|n'
  export CTX_XDL_HDX_3D_PRO='y|n'
  export CTX_XDL_START_SERVICE='y|n'
  export CTX_XDL_REGISTER_SERVICE='y|n'
  export CTX_XDL_ADD_FIREWALL_RULES='y|n'
  export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|'<none>'
  export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
  export CTX_XDL_VDA_PORT='<port-number>'
  export CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>'
  export CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>'
  export CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>'
  export CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n'
  sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

sudoコマンドに-Eオプションを指定して実行し、作成する新しいシェルに既存の環境変数を渡します。 最初の行として#!/bin/bashを記述し、前述のコマンドからなるシェルスクリプトファイルを作成することをお勧めします。

または、次のようにして、1つのコマンドですべてのパラメーターを指定することができます:

  sudo CTX_XDL_NON_DOMAIN_JOINED='n' \
  CTX_XDL_AD_INTEGRATION=sssd|winbind|centrify|pbis|quest \
  CTX_XDL_DDC_LIST='<list-ddc-fqdns>' \
  CTX_XDL_VDI_MODE='y|n' \
  CTX_XDL_HDX_3D_PRO='y|n' \
  CTX_XDL_START_SERVICE='y|n' \
  CTX_XDL_REGISTER_SERVICE='y|n' \
  CTX_XDL_ADD_FIREWALL_RULES='y|n' \
  CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|'<none>' \
  CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>' \
  CTX_XDL_VDA_PORT='<port-number>' \
  CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>' \
  CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>' \
  CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>' \
  CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n' \
  /opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

構成変更の削除

シナリオによっては、Linux VDAパッケージをアンインストールしないで、ctxsetup.sh スクリプトによって行われた構成変更を削除することが必要となる場合があります。

続行する前に、次のコマンドを使用してこのスクリプトのヘルプを確認します:

  sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->

構成変更を削除するには:

  sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
<!--NeedCopy-->

重要:

このスクリプトにより、すべての構成データがデータベースから削除され、Linux VDAを操作できなくなります。

構成ログ

ctxsetup.sh および ctxcleanup.sh スクリプトでは、コンソールにエラーが表示され、構成ログファイル /tmp/xdl.configure.log に追加情報が書き込まれます。

Linux VDAサービスを再起動し、変更を反映させます。

Linux VDAソフトウェアのアンインストール

Linux VDAがインストールされているかどうかを確認したり、インストールされているパッケージのバージョンを表示するには、次のコマンドを実行します。

  dpkg -l xendesktopvda
<!--NeedCopy-->

詳細を表示するには、次のコマンドを実行します。

  apt-cache show xendesktopvda
<!--NeedCopy-->

Linux VDAソフトウェアをアンインストールには、次のコマンドを実行します:

  dpkg -r xendesktopvda
<!--NeedCopy-->

Linux VDAソフトウェアをアンインストールすると、関連付けられたPostgreSQLおよびその他の構成データが削除されます。 ただし、Linux VDAのインストールより前にセットアップされた、PostgreSQLパッケージおよびその他の依存するパッケージは削除されません。

ヒント:

このセクションでは、PostgreSQLなど、依存するパッケージの削除方法については説明していません。

手順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 systemctl start ctxhdx

  sudo systemctl start ctxvda
<!--NeedCopy-->

Linux VDAの停止:

Linux VDAサービスを停止するには、次のコマンドを実行します:

  sudo systemctl stop ctxvda

  sudo systemctl stop ctxhdx
<!--NeedCopy-->

ctxvdaおよびctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行して監視サービスデーモンを停止します。 これを実行しない場合、監視サービスデーモンは停止したサービスを再起動します。

Linux VDAの再起動:

Linux VDAサービスを再起動するには、次のコマンドを実行します:

  sudo systemctl stop ctxvda

  sudo systemctl restart ctxhdx

  sudo systemctl restart ctxvda
<!--NeedCopy-->

Linux VDAの状態の確認:

Linux VDAサービスの実行状態を確認するには、次のコマンドを実行します:

  sudo systemctl status ctxvda

  sudo systemctl status ctxhdx
<!--NeedCopy-->

手順11:マシンカタログの作成

マシンカタログを作成し、Linux VDAマシンを追加する手順は、従来のWindows VDAでの方法と似ています。 このタスクを完了する方法の説明について詳しくは、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。

次のように、Linux VDAマシンを含むマシンカタログの作成にはいくつかの制約があるため、Windows VDAマシンのマシンカタログの作成手順と異なる点があります:

  • オペレーティングシステムには、次を選択します:
    • ホストされる共有デスクトップ配信モデルの場合、マルチセッションOSオプション
    • VDI専用デスクトップ配信モデルの場合、シングルセッションOSオプション。
  • 同じマシンカタログで、Linux VDAマシンとWindows VDAマシンを混在させないでください。

以前のバージョンのCitrix Studioでは、「Linux OS」という概念に対応していませんでした。ただし、[WindowsサーバーOS]オプションまたは[サーバーOS]オプションを選択すると、同等のホストされる共有デスクトップ配信モデルが暗黙的に選択されます。 [WindowsデスクトップOS] オプションまたは [デスクトップOS] オプションを選択すると、マシンごとに単一ユーザーの配信モデルが暗黙的に選択されます。

ヒント:

マシンがActive Directoryドメインから削除された後に再度追加された場合は、そのマシンをマシンカタログから削除してから再度追加する必要があります。

手順12:デリバリーグループの作成

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加する手順は、Windows VDAマシンの場合とほとんど同じです。 このタスクを完了する方法の説明について詳しくは、「デリバリーグループの作成」を参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合は、次の制約があります:

  • 選択するADユーザーおよびグループを、Linux VDAマシンにログオンするように適切に構成しておきます。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • Windowsマシンを含むマシンカタログをデリバリーグループで混在させないでください。

マシンカタログおよびデリバリーグループの作成方法について詳しくは、「Citrix Virtual Apps and Desktops 7 2411」を参照してください。

DebianへのLinux VDAの手動インストール

この記事の概要