Linux Virtual Delivery Agent 2112

Create Linux VDAs in Citrix Virtual Apps and Desktops Standard for Azure

You can create both domain-joined and non-domain-joined Linux VDAs in Citrix Virtual Apps and Desktops Standard for Azure to deliver virtual apps and desktops to any device from Microsoft Azure. For more information, see Citrix Virtual Apps and Desktops Standard for Azure.

Supported Linux distributions

The following Linux distributions support this feature:

  • RHEL 8.3
  • RHEL 8.2
  • RHEL 7.8
  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04


To create Linux VDAs in Citrix Virtual Apps and Desktops Standard for Azure, complete the following steps:

  1. Prepare a master image in Azure:


    You can also use the Linux VDA self-update feature to schedule automatic software updates. To achieve this goal, add command lines to the etc/xdl/mcs/mcs_local_setting.reg file on the master image. For example, you can add the following command lines:

    create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" –force
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" –force
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" –force
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force
    1. In Azure, create a Linux VM of a supported distribution.
    2. Install a desktop environment on the Linux VM if necessary.
    3. On the VM, install .NET Core Runtime 3.1 according to the instructions at
    4. (For Ubuntu only) Add the source /etc/network/interfaces.d/* line to the /etc/network/interfaces file.
    5. (For Ubuntu only) Point /etc/resolv.conf to /run/systemd/resolve/resolv.conf instead of pointing it to /run/systemd/resolve/stub-resolv.conf:

      unlink /etc/resolv.conf
      ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
    6. Install the Linux VDA package.
    7. Change variables in /etc/xdl/mcs/mcs.conf. The mcs.conf configuration file contains variables for setting MCS and the Linux VDA.


      Leave the dns variable unspecified. If you select the Static or Random type when creating a machine catalog, set VDI_MODE=Y.

    8. Run /opt/Citrix/VDA/sbin/
    9. In Azure, stop (or deallocate) the VM. Click Disk Export to generate a SAS URL for the Virtual Hard Disk (VHD) file that you can use as a master image to create other VMs.

      Generate a URL for the VHD file

    10. (Optional) Make group policy settings on the master image. You can use the ctxreg tool to make group policy settings. For example, the following command enables the Auto-create PDF Universal Printer policy for PDF printing.

         /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\GroupPolicy\Defaults\PrintingPolicies" -t "REG_DWORD" -v "AutoCreatePDFPrinter" -d "0x00000001" –force
  2. Import the master image from Azure.

    1. From the Manage dashboard, expand Master Images on the right. The display lists the master images that Citrix provides, and images that you created and imported.

      Tip: Most of the administrator activities for this service are managed through the Manage and Monitor dashboards. After you create your first catalog, the Manage dashboard launches automatically after you sign in to Citrix Cloud and select the Managed Desktops service.

      Image of Master Images

    2. Click Import Image.
    3. Enter the SAS URL for the VHD file you generated in Azure. Select Linux for the master image type.

      Image of Import an image from Azure

    4. Follow the instructions in the wizard to complete importing the master image.
  3. Create a Machine Catalog.

    Access the Manage dashboard and click Create Catalog. When creating the Machine Catalog, choose the master image you created earlier.

Create Linux VDAs in Citrix Virtual Apps and Desktops Standard for Azure