Product Documentation

Install Linux VDA

Sep 19, 2016

Uninstall the old version

If you have previously installed a version of the Linux VDA older than V. 1.1, uninstall it before installing the new version.

Stop the Linux VDA services:

command Copy

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop

Uninstall the package:

command Copy

sudo rpm -e XenDesktopVDA


Upgrading from the latest two versions is supported.


Starting with Version 1.3, the installation path has changed. In previous releases, installation components were located in /usr/local/; the new location is /opt/Citrix/VDA/.

To execute a command, the full path is needed; alternately, you can add /opt/Citrix/VDA/sbin and /opt/Citrix/VDA/bin to the system path.

Install the Linux VDA

Install the Linux VDA software using Zypper:

For SUSE 11:

command Copy

sudo zypper install XenDesktopVDA-

For SUSE 12:

command Copy

sudo zypper install XenDesktopVDA-

Install the Linux VDA software using the RPM package manager; before doing so, you must resolve the following dependencies before installation:

For SuSE 11:

command Copy

sudo rpm -i XenDesktopVDA-

For SuSE 12:

command Copy

sudo rpm -i XenDesktopVDA-

Upgrade the Linux VDA

If you have previously installed v1.2 or v1.3 of the Linux VDA, upgrade the Linux VDA software using the RPM package manager:

For SuSE 11:

command Copy

sudo rpm -U XenDesktopVDA-

For SuSE 12:

command Copy

sudo rpm -U XenDesktopVDA-

RPM Dependency list for SuSE 11

command Copy

postgresql-server >= 9.1.9

postgresql-jdbc >= 9.1

java-1_7_0-openjdk >=

ImageMagick >=

ConsoleKit >= 0.2.10

dbus-1 >= 1.2.10

dbus-1-x11 >= 1.2.10

gnome-session >= 2.28.0

xorg-x11-libXpm >= 7.4

xorg-x11-libs >= 7.4

openmotif-libs >= 2.3.1

pam >= 1.1.5

libdrm >= 2.4.41

libpixman-1-0 >= 0.24.4

Mesa >= 9.0

openssl >= 0.9.8j

xorg-x11 >= 7.4

xorg-x11-fonts-core >= 7.4

xorg-x11-libXau >= 7.4

xorg-x11-libXdmcp >= 7.4

bash >= 3.2

findutils >= 4.4

gawk >= 3.1

sed >= 4.1

cups >= 1.3.7

foomatic-filters >= 3.0.0

openldap2 >= 2.4

cyrus-sasl >= 2.1

cyrus-sasl-gssapi >= 2.1

libxml2 >= 2.7

RPM Dependency list for SuSE 12

command Copy

postgresql-server >= 9.3

postgresql-jdbc >= 9.2

java-1.7.0-openjdk >= 1.7.0

ImageMagick >= 6.8

dbus-1 >= 1.8.8

dbus-1-x11 >= 1.8.8

libXpm4 >= 3.5.11

libXrandr2 >= 1.4.2

libXtst6 >= 1.2.2

motif >= 2.3

pam >= 1.1.8

bash >= 4.2

findutils >= 4.5

gawk >= 4.1

sed >= 4.2

cups >= 1.6.0

cups-filters-foomatic-rip >= 1.0.0

openldap2 >= 2.4

cyrus-sasl >= 2.1

cyrus-sasl-gssapi >= 2.1

libxml2 >= 2.9


You must reboot the Linux VDA machine after upgrading.

Configure the Linux VDA

After installing the package, you must configure the Linux VDA by running the script. If you have upgraded the package, you must run the script to finalize your upgrade. Before making any changes, this script will verify the environment and ensure all dependencies are installed. If nevessary, you can rerun this script at any time to change settings.

You can run the script manually with prompting, or automatically with preconfigured responses. Review Help about this script before proceeding:

command Copy

sudo /opt/Citrix/VDA/sbin/ –help

Prompted configuration

Run a manual configuration with prompted questions:

command Copy

sudo /opt/Citrix/VDA/sbin/

Automated configuration

For an automated install, provide the options required by the setup script with environment variables. If all required variables are present, the script does not prompt for any information.

Supported environment variables include:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N - The Linux VDA supports specifying a Delivery Controller name using a DNS CNAME record. This is typically set to N.
  • CTX_XDL_DDC_LIST = list-ddc-fqdns – The Linux VDA requires a space-separated list of Delivery Controller Fully Qualified Domain Names (FQDNs) to use for registering with a Delivery Controller. At least one FQDN or CNAME alias must be specified.
  • CTX_XDL_VDA_PORT = port-number – The Linux VDA communicates with Delivery Controllers using a TCP/IP port. This is typically port 80.
  • CTX_XDL_REGISTER_SERVICE = Y | N - The Linux Virtual Desktop services support starting during boot. This is typically set to Y.
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N – The Linux Virtual Desktop services require incoming network connections to be allowed through the system firewall. You can automatically open the required ports (by default ports 80 and 1494) in the system firewall for the Linux Virtual Desktop. This is typically set to Y.
  • CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 – The Linux VDA requires Kerberos configuration settings to authenticate with the Delivery Controllers. The Kerberos configuration is determined from the installed and configured Active Directory integration tool on the system. Specify the supported Active Directory integration method to use:
    • 1 - Samba Winbind
    • 2 - Quest Authentication Service
    • 3 – Centrify DirectControl
  • CTX_XDL_HDX_3D_PRO= Y | N – Linux Virtual Desktop supports HDX 3D Pro, a set of graphics acceleration technologies designed to optimize the virtualization of rich graphics applications. HDX 3D Pro requires a compatible NVIDIA Grid graphics card to be installed. If HDX 3D Pro is selected, the Virtual Delivery Agent is configured for VDI desktops (single-session) mode – (i.e. CTX_XDL_VDI_MODE=Y). This is not supported on SUSE. Ensure this value is set to N.
  • CTX_XDL_VDI_MODE = Y | N - Whether to configure the machine as a dedicated desktop delivery model (VDI) or hosted shared desktop delivery model. For HDX 3D Pro environments, set this to Y. This is typically set to N.
  • CTX_XDL_SITE_NAME = dns-name – The Linux VDA discovers LDAP servers using DNS, querying for LDAP service records. To limit the DNS search results to a local site, specify a DNS site name. This is typically empty [none].
  • CTX_XDL_LDAP_LIST = list-ldap-servers – The Linux VDA by default queries DNS to discover LDAP servers. However if DNS cannot provide LDAP service records, you can provide a space-separated list of LDAP Fully Qualified Domain Names (FQDNs) with LDAP port (e.g. This is typically empty [none].
  • CTX_XDL_SEARCH_BASE = search-base – The Linux VDA by default queries LDAP using a search base set to the root of the Active Directory Domain (e.g. DC=mycompany,DC=com). However to improve search performance, you can specify a search base (e.g. OU=VDI,DC=mycompany,DC=com). This is typically empty [none].
  • CTX_XDL_START_SERVICE = Y | N - Whether or not the Linux VDA services are started when the Linux VDA configuration is complete. This is typically set to Y.


HDX 3D Pro is not currently available on SUSE.

Set the environment variable and run the configure script:

command Copy


export CTX_XDL_DDC_LIST=list-ddc-fqdns

export CTX_XDL_VDA_PORT=port-number






export CTX_XDL_SITE_NAME=dns-name

export CTX_XDL_LDAP_LIST=list-ldap-servers

export CTX_XDL_SEARCH_BASE=search-base


sudo -E /opt/Citrix/VDA/sbin/

You must provide the -E option with sudo to pass the existing environment variables to the new shell it creates. Citrix recommends that you create a shell script file from the commands above with #!/bin/bash on the first line.

Alternatively, you can specify all parameters with a single command:

command Copy


CTX_XDL_DDC_LIST=list-ddc-fqdns \

CTX_XDL_VDA_PORT=port-number \






CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST=list-ldap-servers \

CTX_XDL_SEARCH_BASE=search-base \



Remove configuration changes

In some scenarios, you might have to remove the configuration changes made by the script without uninstalling the Linux VDA package.

Review Help about this script before proceeding:

command Copy

sudo /usr/local/sbin/ --help

To remove configuration changes:

command Copy

sudo /usr/local/sbin/


This script will delete all configuration data from the database and will make the Linux VDA inoperable.

Configuration logs

The and scripts display errors on the console, with additional information written to a configuration log file:

command Copy


Restart the Linux VDA services to have the changes take effect.