Linux Virtual Delivery Agent

ドメイン非参加Linux VDAの簡易インストールによる作成

本記事では、簡易インストール方法を使用して、Citrix DaaSまたはCitrix Virtual Apps and Desktops™ 2407以降で、ドメイン非参加Linux VDAをマシンカタログに作成および登録する手順を説明します。

重要:

  • Citrix DaaS™のお客様の場合:
    • ドメイン非参加VDAは、パブリッククラウドまたはオンプレミスデータセンターに展開できます。ドメイン非参加VDAは、Citrix DaaSのコントロールプレーンによって管理されます。
    • ドメイン非参加VDAを作成するには、Citrix Gatewayサービスを使用しているお客様は、Rendezvous V2が有効になっていることを確認する必要があります。Cloud Connectorは、オンプレミスのハイパーバイザーにマシンをプロビジョニングする場合、またはWorkspaceでActive DirectoryをIDプロバイダーとして使用する場合にのみ必要です。
  • ドメイン非参加VDAを作成するには、MCSを使用することもできます。詳しくは、「MCSを使用したドメイン非参加Linux VDAの作成」を参照してください。
    • MCSはベアメタルサーバーをサポートしていません。
  • ドメイン非参加Linux VDAでは、次の機能が利用可能です:

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

-  Citrix Web Studio™にサインインし、マシンを含まない空のマシンカタログを作成します。Linux VDAは、電源管理されたマシンカタログへの登録にトークンファイルを使用することをサポートしていません。

-  マシンカタログを作成し、Linux VDAマシンを追加するプロセスは、従来のWindows VDAのアプローチと似ています。これらのタスクを完了する方法の詳細については、「[マシンカタログの作成](/ja-jp/citrix-virtual-apps-desktops/install-configure/machine-catalogs-create.html)」および「[マシンカタログの管理](/ja-jp/citrix-virtual-apps-desktops/install-configure/machine-catalogs-manage.html)」を参照してください。
  • VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります:

  • オペレーティングシステムには、以下を選択します:
    • ホスト型共有デスクトップ配信モデルの場合は、Multi-session OSオプション
    • VDI専用デスクトップ配信モデルの場合は、Single-session OSオプション
  • 同じマシンカタログにLinux VDAマシンとWindows VDAマシンを混在させないでください。
  • 同じマシンカタログにドメイン参加マシンとドメイン非参加マシンを混在させないでください。
    • トークン登録マシンカタログを作成するには、[マシンの種類]ページで[シングルセッションOS]または[マルチセッションOS]を選択し、[マシン管理]ページで「電源管理されていないマシン(物理マシンなど)」を選択します。

注:

Citrix Studioの初期バージョンでは、「Linux OS」という概念はサポートされていません。ただし、[Windows Server OS]または[Server OS]オプションを選択すると、同等のホスト型共有デスクトップ配信モデルが示されます。[Windows Desktop OS]または[Desktop OS]オプションを選択すると、マシンごとに1人のユーザーが使用する配信モデルが示されます。

手順2:登録トークンの作成

簡易インストールを使用してドメイン非参加VDAを作成するには、VDAをマシンカタログに登録し、VDAをクラウドまたはオンプレミスのデリバリーコントローラーに認証するためのトークンファイルが必要です。Linux VDAは、電源管理されたマシンカタログへの登録にトークンファイルを使用することをサポートしていません。

登録トークンを作成するには、Citrix Web Studioで次の手順を完了します:

ヒント:

-  > Citrix DaaSでは、Web Studioは「完全な構成」として知られています。
  1. 以前に作成した空のマシンカタログを選択し、アクションバーで[登録トークンの管理]を選択します。
  2. [登録トークンの管理]ページで、[生成]をクリックして登録トークンを作成します。または、有効な状態の既存のトークンを選択することもできます。
  3. ウィザードに従って設定を完了します。
    1. 正常に作成されたトークンをダウンロードし、最小限の権限で安全な場所に保存します。後で簡易インストールスクリプトを実行する際に、CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE変数を使用して、VDAを登録するためのトークンファイルへのパスを指定できます。

手順3:.NETのインストール

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

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

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

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

手順4:自己署名CA証明書の追加

自己署名CA証明書の設定の詳細については、「WebSocketの自己署名証明書を構成する」を参照してください。このセクションでは、Linux VDAへのCA証明書の配置と更新について説明します。

  • RHELおよびRocky Linuxの場合: 自己署名CA証明書をLinux VDA上の/etc/pki/ca-trust/source/anchorsディレクトリに保存し、次のコマンドを実行して証明書を更新します:

     sudo update-ca-trust
     <!--NeedCopy-->
    
  • SUSE、Ubuntu、およびDebianの場合: ルートCA証明書を/usr/local/share/ca-certificatesディレクトリに配置します。その後、update-ca-certificateコマンドを実行します。

     sudo update-ca-certificates
     <!--NeedCopy-->
    

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

  1. Citrix Virtual Apps and Desktops ダウンロードページにアクセスします。
  2. Citrix Virtual Apps™ and Desktops の適切なバージョンを展開します。
  3. コンポーネントを展開して 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 パッケージの整合性を検証するには:

    • RPM パッケージの場合は、以下のコマンドを実行して公開キーを RPM データベースにインポートし、パッケージの整合性を確認します。

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • DEB パッケージの場合は、以下のコマンドを実行して公開キーを DEB データベースにインポートし、パッケージの整合性を確認します。

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

ステップ 6: Linux VDA パッケージのインストール

-  Linux VDA の環境をセットアップするには、以下のコマンドを実行します。
  • RHEL および Rocky Linux ディストリビューションの場合:

注:

  • RHEL および CentOS の場合、Linux VDA を正常にインストールする前に EPEL リポジトリをインストールします。EPEL のインストール方法については、https://docs.fedoraproject.org/en-US/epel/ の手順を参照してください。

  • RHEL 9.x および Rocky Linux 9.x に Linux VDA をインストールする前に、libsepol パッケージをバージョン 3.4 以降に更新してください。

sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

注:

GCP でホストされている RHEL 8.x/9.x および Rocky Linux 8.x/9.x に Linux VDA をインストールした後、VM の再起動後にイーサネット接続が失われ、Linux VDA にアクセスできなくなる場合があります。この問題を回避するには、VM に初めてログオンするときに root パスワードを設定し、root として VM にログオンできることを確認してください。その後、VM を再起動した後、コンソールで以下のコマンドを実行します。

nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->
  • Ubuntu/Debian ディストリビューションの場合:
    -  sudo dpkg -i <PATH>/<Linux VDA deb>
-  sudo apt-get install -f
<!--NeedCopy-->

注:

  • Debian 11 ディストリビューションに必要な依存関係をインストールするには、/etc/apt/sources.list ファイルに deb http://deb.debian.org/debian/ bullseye main の行を追加します。

  • GCP 上の Ubuntu 24.04/22.04 の場合、RDNS を無効にします。そのためには、/etc/krb5.conf[libdefaults] の下に rdns = false の行を追加します。

SUSE ディストリビューションの場合:

-  1.  SUSE 15.6 を AWS、Azure、GCP で使用する場合、以下を確認してください。

-  **libstdc++6** バージョン 12 以降を使用していること。
-  `/etc/sysconfig/windowmanager` の **Default_WM** パラメーターが **"gnome"** に設定されていること。
    1. 以下のコマンドを実行して Linux VDA をインストールします。
     zypper -i install <PATH>/<Linux VDA RPM>
    
     <!--NeedCopy-->
    

ステップ 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 ドライバー(クラウドベンダーまたは NVIDIA から提供)をインストールします。

ステップ 8: 使用するデータベースの指定

Linux VDAパッケージのインストール後、/etc/xdl/db.confを編集して、使用するSQLiteまたはPostgreSQLを指定できます。

そのためには、sudo /opt/Citrix/VDA/sbin/ctxinstall.shまたは/opt/Citrix/VDA/bin/easyinstallを実行する前に、/etc/xdl/db.confを編集します。

注:

  • VDIモードでのみSQLiteを使用することをお勧めします。
  • 簡易インストールおよびMCSの場合、手動でインストールすることなく、使用するSQLiteまたはPostgreSQLを指定できます。/etc/xdl/db.confで特に指定がない限り、Linux VDAはデフォルトでPostgreSQLを使用します。
  • また、/etc/xdl/db.confを使用してPostgreSQLのポート番号を構成することもできます。

手順9:簡易インストールスクリプトを実行して環境とVDAを構成し、インストールを完了

Linux VDAパッケージのインストール後、ctxinstall.shスクリプトを使用して実行環境を構成します。

注:

ランタイム環境をセットアップする前に、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コマンドを実行します。

ctxinstall.sh

ctxinstall.shは、いくつかの事前構成とVDA実行環境変数の設定を行うための簡易インストールスクリプトです。

  • rootのみがこのスクリプトを実行できます。

  • 簡易インストールは、/opt/Citrix/VDA/sbin/ctxinstall.confを構成ファイルとして使用し、使用されるすべての環境変数の値を設定、保存、同期します。テンプレート(ctxinstall.conf.tmpl)を注意深く読み、独自のctxinstall.confをカスタマイズすることをお勧めします。構成ファイルを初めて作成する場合は、次のいずれかの方法を使用します。
    • /opt/Citrix/VDA/sbin/ctxinstall.conf.tmplテンプレートファイルをコピーし、/opt/Citrix/VDA/sbin/ctxinstall.confとして保存する。
    • ctxinstall.shを実行する。ctxinstall.shを実行するたびに、入力は/opt/Citrix/VDA/sbin/ctxinstall.confに保存されます。
  • 簡易インストールはモジュール実行をサポートしています。モジュールには、事前チェック、インストール、ドメイン構成、セットアップ、検証が含まれます。

  • このスクリプトのデバッグの詳細は、/var/log/xdl/ctxinstall.logで確認できます。

詳細については、ヘルプコマンドctxinstall.sh -hを使用してください。

注:

  • 最小権限の原則に従い、ドメイン参加パスワードがファイルに設定されている可能性があるため、rootユーザーのみが/opt/Citrix/VDA/sbin/ctxinstall.confを読み取れるようにしてください。
  • Linux VDAをアンインストールすると、/opt/Citrix/VDA以下のファイルが削除されます。VDAをアンインストールする前に、/opt/Citrix/VDA/sbin/ctxinstall.confをバックアップすることをお勧めします。

ctxinstall.shは、対話モードまたはサイレントモードで実行できます。スクリプトを実行する前に、次の環境変数を設定します。

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

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<path-to-token-file-on-vda-machine>‘ – 簡易インストールを使用してドメインに参加していないVDAを作成するには、Delivery ControllerのマシンカタログにVDAを登録するためのトークンファイルが必要です。最小権限でトークンを安全な場所に保存してください。

  • CTX_XDL_VDI_MODE=’y|n’ – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するか。HDX 3D Pro環境の場合は、値を「y」に設定します。
  • 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_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/mate – セッションで使用するGNOME、GNOME Classic、またはMATEデスクトップ環境を指定します。変数を指定しない場合、VDAで構成されているデフォルトのデスクトップが使用されます。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ – セッションで使用するGNOME、GNOME Classic、KDE、MATE、またはXfceデスクトップ環境を指定します。「<none>」に設定すると、VDAで構成されているデフォルトのデスクトップが使用されます。CTX_XDL_DESKTOP_ENVIRONMENT変数を使用して、セッションで使用するデスクトップ環境を指定できます。コマンドを実行するか、システムトレイを使用してデスクトップ環境を切り替えることもできます。詳細については、「デスクトップ切り替えコマンド」および「システムトレイ」を参照してください。

  • 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と通信します。

対話モード

対話モードでctxinstall.shスクリプトを実行するには、-Sオプションなしでsudo /opt/Citrix/VDA/sbin/ctxinstall.shコマンドを使用します。コマンドラインインターフェイスの各プロンプトで関連する変数の値を入力します。変数がすでに設定されている場合、ctxinstall.shは変更するかどうかを確認します。

サイレントモード

サイレントモードでは、/opt/Citrix/VDA/sbin/ctxinstall.confまたはexportコマンドを使用して、前述の変数を設定する必要があります。その後、ctxinstall.sh -Sを実行します(ここでSは大文字であることに注意してください)。必要なすべての変数が設定されていないか、一部の値が無効な場合、デフォルト値がない限り、ctxinstall.shは実行を中止します。

設定した場合、各変数にエクスポートされた値は、/Citrix/VDA/sbin/ctxinstall.confの値を上書きします。更新されたすべての値は、/Citrix/VDA/sbin/ctxinstall.confに保存されます。

export CTX_XDL_NON_DOMAIN_JOINED='y'
export CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE='<token-file-path>'
export CTX_XDL_VDI_MODE='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_HDX_3D_PRO='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

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

または、単一のコマンドを使用してすべての変数を指定できます。

VDA実行環境変数(「CTX_XDL_」で始まる変数)を設定するには、ctxinstall.sh -s を実行します(ここでの文字 s小文字であることに注意してください)。

ステップ 10: XDPing の実行

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

ステップ 11: Linux VDA の実行

Linux VDA の起動:

Linux VDAサービスを起動するには:

sudo systemctl start ctxhdx.service

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

Linux VDA の停止:

Linux VDAサービスを停止するには:

sudo systemctl stop ctxvda.service

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

注:

ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。

Linux VDA の再起動:

Linux VDAサービスを再起動するには:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

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

Linux VDA のステータスの確認:

Linux VDAサービスの実行ステータスを確認するには:

sudo systemctl status ctxvda.service

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

ステップ 12: デリバリーグループの作成

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

Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。

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

重要:

アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、Linux VDAは、デスクトップとアプリを同じマシンに配信することをサポートしていません。

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

ステップ 13: ローカルアカウントマッピングの有効化

ローカルアカウントマッピングが有効になっていない場合

ドメインに参加していないVDAでホストされているセッションは、ログオン時に失敗し、パスワードプロンプトが表示されますが、正しいパスワードを受け入れません。hdx.logには、次のようなエラーが見つかります。

2024-09-25 06:40:30.767979 [LOGIN_BOX:ERROR] <P124211:T58675:S4> citrix-ctxlogin: PamAuthenticate: pam authentication: Authentication failure. Can retry for user 'user3'
2024-09-25 06:40:30.768431 [LOGIN:ERROR] <P124211:T58675:S4> citrix-ctxlogin: LoginBoxValidate: Failed to validate user 'user3'. Due to INVALID_PASSWORD
2024-09-25 06:40:30.768947 [LOGIN_AUTH:INFO] <P124218:T58682:S4> citrix-ctxloginui: CalLabelFormat: Update username label on LoginUI from 'user3' to 'user3' (18)
2024-09-25 06:41:18.766196 [GFX_SLIDER:ERROR] <P124161:T58699:S4> citrix-ctxgfx: GfxCreateSliderListener: Failed to get user home dir.
<!--NeedCopy-->

ローカルアカウントマッピングの有効化

ユーザーがドメインに参加していないLinux VDAにログオンできるようにするには、次のコマンドを使用してローカルアカウントマッピングを有効にします。

Set-BrokerDesktopGroup -Name "<your delivery group name>" -MachineLogOnType LocalMappedAccount
<!--NeedCopy-->

オンプレミス展開の場合は、Delivery Controllerで直接コマンドを実行します。Citrix DaaS展開の場合は、Citrix Virtual Apps and Desktops Remote PowerShell SDKを介してコマンドを実行します。