21.3.  ThinLinc Configuration

This section describes how to configure ThinLinc for use with VDI.

21.3.1.  vdi.hconf and vdi-user.hconf

ThinLinc VDI is configured using information provided in both /opt/thinlinc/etc/conf.d/vdi.hconf and /opt/thinlinc/etc/conf.d/vdi-user.hconf. /opt/thinlinc/etc/conf.d/vdi.hconf is readable only by root and can therefore be used to store sensitive information such as passwords, while /opt/thinlinc/etc/conf.d/vdi-user.hconf is world-readable and contains information which needs to be read by unprivileged users. The following parameters are required:

21.3.1.1.  Global parameters

The following parameters relate to all VDI platforms under ThinLinc.

/vdi/logging/logfile

The file to use for logging VDI messages. By default, this is /var/log/vdi.log.

21.3.1.2.  VMware-specific parameters

The following parameters are used to configure integration with VMware Virtual Infrastructure.

/vdi/vmware/host

The IP address or resolvable hostname of the vCenter server.

/vdi/vmware/username

The user account which ThinLinc will authenticate with.

/vdi/vmware/password

The password for the user.

/vdi/vmware/dc_name

The name of the datacenter to use on the vCenter server.

/vdi/vmware/pool_folder

The path to the folder (relative to the datacenter) in which to create/locate pools.

/vdi/vmware/tmpl_folder

The path to the folder (relative to the datacenter) in which to locate templates.

/vdi/vmware/ds_folder

The path to the folder in the datecenter in which to locate datastore objects.

/vdi/vmware/host_folder

The path to the folder in the datecenter in which to locate host/cluster objects.

21.3.1.3.  VirtualBox-specific parameters

The following parameters are used to configure integration with VirtualBox.

/vdi/virtualbox/hide_license

If this parameter is true, the VirtualBox license dialogue will not be shown to the user on login.

/vdi/virtualbox/hide_messages

If this parameter is true, then common warning/information dialogues raised by VirtualBox will not be shown to the user on login.

/vdi/virtualbox/default/host_key

The key to use to release mouse and keyboard ownership from VirtualBox, and return input to the host system. All input will be captured by VirtualBox until this key is pressed.

/vdi/virtualbox/default/machine_dir

The directory in which to store template machine data and configuration files. This is also the directory to which machines will be exported using the tl-export-virtualbox command.

/vdi/virtualbox/default/reset_machine

If this parameter is true, then the machine's "delta" data will be removed when the user logs out, resetting the machine to its initial state. If false, then changes will remain persistent across sessions.

/vdi/virtualbox/default/domain

The domain name to specify as part of the login credentials when using single-sign-on against a Windows machine which is joined to an Active Directory domain. Leave blank if no domain is required.

Note

All parameters listed above with the format /vdi/virtualbox/default/<parameter> may also be specified as /vdi/virtualbox/<machine_name>/<parameter> . Parameters which are machine-specific will override the default parameters.

21.3.2.  appservergroups.hconf

The following section describes the configuration of appservergroups.hconf required to access VDI machines via ThinLinc.

21.3.2.1.  VMware-specific application server groups

Each VDI pool requires up to two application server groups defined in /opt/thinlinc/etc/conf.d/appservergroups.hconf for it to be accessible via the ThinLinc client. Each of these groups may represent either persistent or common machines in the pool, so that each pool may be configured to provide only common machines, only persistent machines, or both.

In addition to the parameters specified in Section 14.1.4, “ Parameters in /appservergroups/ ”, each application server group for use with VDI pools accepts the following additional parameters:

/appservergroups/rdp/<appgroup>/poolname

The name of the pool that this application server group represents.

/appservergroups/rdp/<appgroup>/type

The type of pool that this application server group represents. This can be either "persistent" or "common".

Application server groups representing VDI pools accessed via vCenter hosts will normally want the "managed_virtual" parameter set to "true".

Note

Application server groups which represent VDI machines (i.e., which have "managed_virtual=true") are not editable via the "Application Server Groups" module.

21.3.2.2.  VirtualBox-specific application server groups

VirtualBox machines do not require specific application server groups, however they will require a custom cmdline parameter in profiles.hconf containing the tl-run-virtualbox-desk command. See Section 21.3.3.2, “ VirtualBox-specific profiles ” below for more information.

21.3.3.  profiles.hconf

The following section describes the configuration of profiles.hconf required to access VDI machines via ThinLinc.

This section mainly concerns the parameters testcmd and cmdline , as these make use of VDI-specific commands. For a more general overview of how to configure profiles.hconf, see Section 14.3.5, “ Configuring available profiles ”.

21.3.3.1.  VMware-specific profiles

ThinLinc provides a script called tl-vdi-tool which can be used to query the accessibility or availability of a pool. tl-vdi-tool takes a single argument - the name of an application server group.

Used in combination with the --desc flag, tl-vdi-tool will return a description of the pool referenced in the poolname variable for the application server group. If this pool does not exist or is inaccessible to the user, tl-vdi-tool will return non-zero. Using tl-vdi-tool --desc <asg_name> as the testcmd parameter in profiles.hconf is therefore a valid way to determine if the profile should be displayed to the user, and in combination with setting description_from_testcmd=true is also a useful way to provide the profile description.

For an example of the above configuration, see the example VDI stanzas in the default profiles.hconf.

21.3.3.2.  VirtualBox-specific profiles

The command used to launch VirtualBox profiles via ThinLinc is /opt/thinlinc/bin/tl-run-virtualbox. This command takes a single argument - the name of the virtual machine to run.

tl-run-virtualbox also accepts a --desc flag, which will print the machine's description and then exit, or simply exit non-zero if the machine does not exist. Using tl-run-virtualbox --desc <machine_name> as the testcmd parameter in profiles.hconf is therefore a valid way to determine if the profile should be displayed to the user, and in combination with setting description_from_testcmd=true is also a useful way to provide the profile description.

For an example of the above configuration, see the example VirtualBox stanza in the default profiles.hconf.