Installing the ThinLinc server

For information on where to find the ThinLinc server software, see Obtaining ThinLinc. For instructions on how to upgrade a pre-existing ThinLinc installation, see Upgrading ThinLinc.

Start by downloading the ThinLinc server, extracting the ZIP file and running the install-server script in the extracted archive’s root directory:

$ unzip tl-x.y.z-server.zip
$ cd tl-x.y.z-server
$ sh ./install-server

install-server will install the ThinLinc server package suitable for your system from the packages subdirectory. It will then ask if you want to run ThinLinc setup. Answer yes to this prompt or start ThinLinc setup manually by running /opt/thinlinc/sbin/tl-setup.

Moreover, remember to review the platform-specific notes that apply to your server platform: https://www.cendio.com/thinlinc/docs/platforms/

Note

The ThinLinc server can also be installed and configured non-interactively, see Automated installation for more information.

ThinLinc setup

ThinLinc setup is responsible for configuring ThinLinc and installing any missing dependencies. When installing ThinLinc on a new machine, ThinLinc setup always needs to be run.

ThinLinc setup will give you the choice to configure ThinLinc as a master or an agent. Selecting master will configure the system as a standalone ThinLinc server, while selecting agent will configure it as an agent node that is part of a load-balanced ThinLinc cluster. If this is the first ThinLinc system you are configuring, select master.

Note

In case you want to redo any of the configuration steps done by ThinLinc setup, you can always re-run it by running /opt/thinlinc/sbin/tl-setup.

On SELinux enabled distributions, ThinLinc setup will optionally modify the local system policy. See SELinux enabled distributions for more information.

Sudo configuration

ThinLinc ships with an array of administration commands. Some of these needs root privileges to run. To use these commands with sudo and not have to specify the entire path to the command, sudo needs to be configured to trust ThinLinc paths. This is achieved by editing sudo’s secure_path in /etc/sudoers using visudo:

$ sudo visudo

Add /opt/thinlinc/bin and /opt/thinlinc/sbin to secure_path and save the file.

Example

If this was in /etc/sudoers before:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

Then after you add the ThinLinc paths it should be:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/opt/thinlinc/bin:/opt/thinlinc/sbin

External access behind NAT

As described in ThinLinc architecture, the ThinLinc client first connects to the master machine. The master responds with the IP or domain name of the agent machine assigned to host the session. The client will then directly connect to this agent machine. This is true in all cases, even when you have a standalone ThinLinc server (where a single machine acts both as the master and agent).

By default, the master will respond with the IP address assigned to the agent machine. As this IP will generally only be reachable from within the local area network, ThinLinc requires you to specify the public IP or domain name through which the agent machine in question is externally reachable.

This is done by selecting one of the external connections options in tl-setup or by setting the parameter /vsmagent/agent_hostname to the machine’s publicly reachable IP or domain name and restarting the agent service:

$ sudo tl-config /vsmagent/agent_hostname=thinlinc.example.com
$ sudo systemctl restart vsmagent

As described in Network requirements, each ThinLinc machine should have its own publicly reachable IP. /vsmagent/agent_hostname will thus be unique for each individual machine.

Next steps

Assuming you have a desktop environment installed alongside the ThinLinc server, you should now be able to connect using either the Native Client or the browser based ThinLinc Web Access using the same credentials as when logging in to your server over SSH. See Choosing a client and Authentication in ThinLinc for further information.

Note

Having issues connecting to your ThinLinc server? Take a look at the Troubleshooting ThinLinc chapter.

You should now have a fully functioning ThinLinc setup. If you want to make additional tweaks to your setup, a few starting points are listed below: