Install and Configure ThinLinc Virtual Desktop Infrastructure (VDI) on Ubuntu with GPU Support
Virtual Desktop Infrastructure (VDI) provides a secure and centrally managed desktop operating system environment from a single server. Cendio ThinLinc is an open-source, enterprise-grade remote desktop solution designed for Linux systems.
This guide explains how to deploy a ThinLinc server on a Cloud GPU ccloud³ VM, configure GPU acceleration, and connect to your virtual desktop through both the ThinLinc client application and a web browser.
Prerequisites
- Deploy an Ubuntu 20.04 Server with any of the Nvidia GPUs we are offering.
- Access the server via SSH as a non-root user with sudo privileges.
Install ThinLinc Server
ThinLinc offers a Virtual Desktop Infrastructure (VDI) environment that lets multiple users connect to your Ubuntu Desktop through a web interface or desktop client. Follow the steps below to download and install the ThinLinc server.
Update your system package index:
$ sudo apt update
Download the latest ThinLinc server package from Cendio:
$ wget https://www.cendio.com/downloads/server/tl-4.19.0-server.zip
Extract the downloaded archive:
$ unzip tl-4.19.0-server.zip
Navigate to the extracted directory:
$ cd tl-4.19.0-server
Run the ThinLinc installer:
$ sudo ./install-server
The installation script will guide you through setup, including:
- Accepting the license agreement (enter yes).
- Choosing Master as the server type.
- Entering the externally reachable IP, administrator email, and web admin password.
Allow the wizard to automatically install missing dependencies and configure firewall and AppArmor rules. After completion, ThinLinc services will start automatically.
Verify the running ThinLinc services:
$ sudo systemctl status vsmserver vsmagent tlwebaccess
Service overview:
- vsmserver: Handles authentication and session management.
- vsmagent: Starts and maintains user sessions.
- tlwebaccess: Provides web browser access over HTTPS.
Enable VirtualGL for GPU Acceleration
To enable GPU acceleration, install VirtualGL, which redirects OpenGL commands to the NVIDIA GPU for better rendering performance.
Download the GPG key for the VirtualGL repository:
$ wget -qO- https://packagecloud.io/dcommander/virtualgl/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/virtualgl-archive-keyring.gpg
Add the VirtualGL repository:
$ echo "deb [signed-by=/usr/share/keyrings/virtualgl-archive-keyring.gpg] https://packagecloud.io/dcommander/virtualgl/any any main" | sudo tee /etc/apt/sources.list.d/virtualgl.list
Update and install VirtualGL with GPU testing tools:
$ sudo apt update
$ sudo apt install virtualgl glmark2 xterm -y
Check the installation version:
$ vglrun --version
Configure VirtualGL:
$ sudo /opt/VirtualGL/bin/vglserver_config
Follow the setup prompts to restrict GPU access to the vglusers group and enhance security.
Add your ThinLinc user to the vglusers group:
$ sudo usermod -aG vglusers example-user
Stop display and NVIDIA services before rebooting:
$ sudo systemctl stop sddm nvidia-persistenced
$ sudo modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia
$ sudo reboot
Access Ubuntu Desktop via ThinLinc Client
Download and install the ThinLinc client package from Cendio:
$ wget https://www.cendio.com/downloads/clients/thinlinc-client_4.19.0-4005_amd64.deb
$ sudo apt install ./thinlinc-client_4.19.0-4005_amd64.deb
Launch the ThinLinc client and connect using your server’s IP, username, and password. You will see your Linux desktop running on the GPU VM.
Access Ubuntu Desktop via Web Browser
ThinLinc also enables browser-based access. Open your web browser and navigate to:
Log in with your ThinLinc credentials to access your desktop session within the browser.
Run a graphics benchmark to verify GPU acceleration:
$ glmark2 --show-all-options
Check GPU usage to confirm NVIDIA acceleration:
$ sudo nvidia-smi
Access ThinLinc Control Panel
ThinLinc’s web-based Control Panel allows administrators to manage users, sessions, and settings. Access it at:
Log in using the admin credentials set during installation to manage your environment.
Conclusion
You have successfully deployed a Linux-based Virtual Desktop Infrastructure (VDI) using Cendio ThinLinc on a Cloud GPU VM. You installed and configured the ThinLinc server, enabled GPU acceleration with VirtualGL, and verified performance using benchmarking tools. Finally, you connected to your virtual desktop via both the ThinLinc Client and a web browser, confirming secure, GPU-accelerated access to your Ubuntu environment.


