リナックス バーチャル デリバリー エージェント

簡単インストールを使用してドメイン非参加のLinux VDAを作成する

この記事では、簡単インストール方法を使用して、Citrix DaaS または Citrix Virtual Apps and Desktops™ 2407 以降の環境で、ドメイン非参加の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)を参照してください。

Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。

  • オペレーティングシステムには、以下を選択します。

    • ホストされた共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルの場合は、シングルセッション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. ウィザードに従って設定を完了します。

  4. 正常に作成されたトークンをダウンロードし、最小限の権限で安全な場所に保存します。後で簡易インストールスクリプトを実行するときに、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/ja-jp/dotnet/core/install/linux-package-managersを参照してください。

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

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

ステップ4:自己署名CA証明書を追加する

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

  • RHELおよびロッキーリナックスの場合:

    自己署名CA証明書をLinux VDAの/etc/pki/ca-trust/source/anchorsディレクトリに保存し、次のコマンドを実行して証明書を更新します。

     sudo update-ca-trust
     <!--NeedCopy-->
    
  • スーゼ、ウブントゥ、およびデビアンの場合:

    Place the root CA certificate in the /usr/local/share/ca-certificates directory. Then, run the update-ca-certificate command.

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

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

  1. シトリックス バーチャルアプリおよびデスクトップ ダウンロードページにアクセスします。
  2. シトリックス バーチャル アプリ™ アンド デスクトップスの適切なバージョンを展開します。
  3. Componentsを展開してLinux VDAを見つけます。例:

    シトリックス バーチャル アプリ アンド デスクトップスのコンポーネント(/ja-jp/linux-virtual-delivery-agent/2511/media/components-for-citrix-virtual-apps-and-desktops.png)

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

    Linux VDA のダウンロード(/ja-jp/linux-virtual-delivery-agent/2511/media/linux-vda-downloads.png)

  5. お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。

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

    (/ja-jp/linux-virtual-delivery-agent/2511/media/gpg-key.png)

    公開鍵を使用して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/ja-jp/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 に初めてログオンするときにルートパスワードを設定し、ルートとして 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. AWS、Azure、GCP 上の SUSE 15.6 の場合、以下を確認してください。

    • libstdc++6 バージョン 12 以降を使用していること。
    • /etc/sysconfig/windowmanager ファイルに記載されている Default_WM パラメーターは、“gnome” に設定されています。
  2. 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を使用することをお勧めします。
  • Easy InstallおよびMCSの場合、SQLiteまたはPostgreSQLを手動でインストールすることなく指定して使用できます。/etc/xdl/db.confで特に指定しない限り、Linux VDAはデフォルトでPostgreSQLを使用します。
  • /etc/xdl/db.confを使用して、PostgreSQLのポート番号を構成することもできます。

ステップ9:Easy Installスクリプトを実行して環境とVDAを構成し、インストールを完了する

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

注:

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

シーティーエックスインストール.sh

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

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

  • Easy Installは、使用されるすべての環境変数の値を設定、保存、同期するための構成ファイルとして/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 ファイルに自動的に保存されます。
  • Easy Installはモジュール式の実行をサポートしています。モジュールには、事前チェック、インストール、ドメイン構成、セットアップ、検証が含まれます。

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

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

注:

  • 最小特権の原則に従い、ドメイン参加パスワードがファイルに設定されている可能性があるため、ルートユーザーのみが /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 バーチャル デスクトップ サービスは、マシンの起動後に開始されます。

  • 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ポートを介してデリバリーコントローラーとの通信を行います。

対話モード

対話モードで 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 を実行する

Linux VDA 環境における一般的な構成の問題を確認するには、sudo /opt/Citrix/VDA/bin/xdping を実行します。詳細については、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-->

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