VDI sur Ubuntu 24.04 et ThinLinc : une alternative à Windows Terminal Server (RDP) | INTROSERV

Comment déployer une VDI complète sur Ubuntu Linux et ThinLinc : une alternative à Windows Terminal Server

Introduction

Si vous cherchez un moyen de mettre en place un bureau à distance pour vos employés et que vous avez besoin d'une alternative à RDP sur Linux, ThinLinc est l'une des solutions les plus stables pour construire une infrastructure VDI.

ThinLinc est une solution professionnelle pour l'organisation de serveurs de terminaux basés sur Linux, proposée par la société suédoise Cendio, qui développe des solutions pour les serveurs de terminaux depuis 1992. Contrairement au VNC standard, il offre un rendu graphique à grande vitesse, une prise en charge complète du son et le transfert des ressources locales (imprimantes, cartes à puce, dossiers).

Principales caractéristiques de la licence :

  • Version gratuite : Entièrement fonctionnelle et gratuite à vie pour un maximum de 10 utilisateurs simultanés. Idéale pour les petites entreprises ou pour un usage personnel.
  • Fonctionnalité unifiée : La version gratuite n'est pas limitée en termes de fonctionnalités par rapport à la version payante.
  • Prise en charge LDAP : Utilisez les utilisateurs d'Active Directory pour vous connecter au serveur de terminal.
  • Licences simultanées : Ce ne sont pas les utilisateurs créés dans le système qui font l'objet d'une licence, mais les sessions simultanées.

Exemple : Vous pouvez avoir 50 utilisateurs créés, mais si seulement 10 d'entre eux travaillent en même temps, la version gratuite vous suffit.

Pile technique de ce guide

Toutes les actions décrites dans ce manuel ont été validées à l'aide de la pile logicielle/matérielle suivante :

Composant

Version / Spécification

Système d'exploitation

Serveur Ubuntu 24.04.3 LTS (Noble Numbat)

Shell graphique

KDE Plasmashell 5.27.12 (paquet kde-standard)

Serveur de terminal

Cendio ThinLinc v4.20.0

Machine virtuelle

CPU 4 Core, 8 Go RAM, NVMe SSD

Utilisateur

Utilisateur standard dans le groupe sudo

Étape 1 : Préparer et mettre à jour le système

Créez un utilisateur standard et ajoutez-le au groupe sudo s'il n'existe pas déjà dans le système :

sudo adduser USERNAME

Remplacez USERNAME par votre nom d'utilisateur.

Ajouter un utilisateur au groupe sudo :

sudo usermod -aG sudo USERNAME

Remplacez USERNAME par votre nom d'utilisateur.

Mise à jour du système :

sudo apt update && sudo apt upgrade -y

Installation et activation du système d'impression CUPS :

sudo apt install cups ghostscript -y sudo systemctl enable --now cups

Étape 2 : Installation de l'environnement de bureau KDE

sudo apt install kde-standard -y

Si vous souhaitez disposer de la suite complète d'applications (jeux, bureautique, etc.), utilisez kde-full, mais pour un serveur, kde-standard est généralement suffisant.

Info

Si une fenêtre bleue apparaît pendant l'installation vous demandant de sélectionner un gestionnaire d'affichage, sélectionnez sddm (natif de KDE).

Redémarrez : Après avoir installé tous les paquets, il est préférable de redémarrer pour s'assurer que le serveur X et l'interpréteur de commandes démarrent correctement.

sudo reboot now

Étape 3 : Obtenir le lien du paquet d'installation

Allez sur le site web de Cendio -> onglet Téléchargement -> Pour les administrateurs -> Télécharger le logiciel serveur ThinLinc -> Remplissez le formulaire pour recevoir le lien.

Dans la fenêtre qui s'ouvre, faites un clic droit sur Download server software pour obtenir un lien vers la dernière version de ThinLinc. Vous pouvez l'enregistrer dans le Bloc-notes pour une installation ultérieure.

Étape 4 : Télécharger ThinLinc

ThinLinc n'est pas distribué par les dépôts standards d'Ubuntu, donc téléchargez-le depuis le site officiel de Cendio en utilisant le lien que vous avez sauvegardé plus tôt :

wget https://www.cendio.com/downloads/server/tl-4.20.0-server.zip

Remplacez le lien par celui que vous avez obtenu à l'étape 3.

Étape 5 : Décompressez l'archive et allez dans le dossier contenant les fichiers décompressés

sudo apt install unzip -y unzip tl-4.20.0-server.zip cd tl-4.20.0-server

tl-4.20.0-server-est le nom de l'archive que vous avez téléchargée.

Étape 6 : Installation de ThinLinc Server

Lancer le programme d'installation:ThinLinc est livré avec un script d'installation pratique qui va automatiquement intégrer les dépendances nécessaires.

sudo ./install-server

Le programme d'installation vous demandera de saisir des données à certains moments, par exemple, d'appuyer sur la touche Entrée pour continuer ou de confirmer des options spécifiques.

Utilitaire de configuration du serveur ThinLinc

Après l'installation de ThinLinc, l'utilitaire de configuration du serveur suivra immédiatement. Il est recommandé de poursuivre la configuration.

Pendant l'installation, vous serez invité à installer les paquets manquants et à confirmer vos paramètres :

  • Exécuter l'installation de ThinLinc maintenant [Oui/Non] ? Oui
  • Type de serveur [Maître/agent] ? Maître
  • Installer automatiquement les paquets nécessaires [Oui/non] ? Oui
  • Voulez-vous poursuivre l'installation [Oui/non] ? Oui

Installez les composants LDAP afin de pouvoir vous connecter au système à l'aide d'un compte AD.

Installer automatiquement les paquets nécessaires [Oui/Non] ? Oui

Spécifiez ce qui doit être utilisé pour l'accès externe :

Adresse accessible de l'extérieur à utiliser [ip/hostname/manual] ? ip

Veuillez saisir l'adresse électronique de l'administrateur du système :

Courriel de l'administrateur [] ? Veuillez indiquer votre adresse électronique de contact.

ThinLink offre une interface web pour administrer le serveur de terminal. Vous pourrez la désactiver ultérieurement. Cependant, pour l'instant, veuillez saisir un mot de passe fort :

Mot de passe de l'administration web ? VOTRE_MOT_DE_PASSE_FIABLE

Il est recommandé d'installer la configuration AppArmor :

Installer la configuration AppArmor [Oui/Non] ? Oui

Une fois l'installation et la configuration terminées, vous recevrez un message confirmant la réussite de l'installation.

Étape 7 : Ajout du chemin d'accès à sudo

Pour s'assurer que le système trouve toujours les commandes ThinLinc, vous devez éditer le fichier visudo

sudo visudo

et remplacer la valeur de la ligne "Defaults secure_path=" par

"/sbin:/bin:/usr/sbin:/usr/bin:/opt/thinlinc/bin:/opt/thinlinc/sbin".

Étape 8 : Vérification et configuration des ports d'accès

ThinLinc fonctionne sur SSH (port 22) pour le trafic primaire et utilise les ports 1010 (interface d'administration web) et 300 (client web).

Si vous avez activé ufw, autorisez l'accès :

sudo ufw default deny incoming && \Nsudo ufw default allow outgoing && sudo ufw allow 22/tcp && \Nsudo ufw allow 300/tcp && \Nsudo ufw reload

Étape 9 : Optimiser les performances de l'interface graphique pour l'accès à distance

Une commande qui créera un fichier de configuration global et forcera la désactivation de la composition et des animations pour tous les utilisateurs afin d'améliorer la réactivité du bureau à distance.

sudo cp /etc/xdg/kwinrc /etc/xdg/kwinrc.backup 2>/dev/null ||true sudo bash -c 'cat > /etc/xdg/kwinrc << EOF [Compositing] Enabled=false OpenGLIsUnsafe=true [Plugins] blurEnabled=false contrastEnabled=false kwin4_effect_translucencyEnabled=false slideEnabled=false zoomEnabled=false [Windows] ElectricBorderDelay=0 ElectricBorderCooldown=0 [Effect-PresentWindows] BorderActivate=9 [KWin] AnimationDurationFactor=0 EOF'

Étape 10 : Connexion

Vous pouvez vous connecter à un bureau à distance de deux manières : via le client ThinLinc natif ou directement dans le navigateur https://YOUR_SERVER_IP:300.

Le client peut être téléchargé depuis la page Cendio -> Download -> For users.

Comme vous pouvez le voir, le client est très similaire au client MS RDP. Les paramètres vous permettent de configurer la redirection de périphériques et le presse-papiers partagé. Les paramètres de qualité d'affichage du bureau à distance sont également assez avancés.

Étape 11 (facultative) Désactiver l'accès au serveur via un navigateur web

Étant donné que l'accès par navigateur crée des vecteurs d'attaque supplémentaires, il est préférable de désactiver l'accès au panneau d'administration web sur le port 1010 et l'accès au client web de bureau à distance.

Pour ce faire, il convient de désactiver les services concernés et de fermer les ports dans le pare-feu.

Désactivation des services :

# Arrêter le client web et le panneau d'administration sudo systemctl stop tlwebclient tlwebadm # Interdire leur démarrage automatique sudo systemctl disable tlwebclient tlwebadm

Interdire l'accès au port 300 :

sudo ufw deny 300/tcp sudo ufw reload

Tip

Rappelez-vous que ThinLinc utilise SSH comme moyen de transport. Cela signifie que tous les mécanismes de sécurité SSH protègent automatiquement votre bureau graphique.

Problèmes potentiels et recommandations pour le matériel

Même avec une installation correcte, il peut y avoir quelques nuances spécifiques aux bureaux distants.

Problème n° 1 : Absence de son ou lenteur de la vidéo dans le navigateur

Raison : Ubuntu 24.04 installe par défaut les navigateurs (Firefox, Chromium) au format Snap. Ces paquets s'exécutent dans un bac à sable isolé, qui :

  • Ne voit pas les canaux sonores virtuels ThinLinc.
  • Le rendu de l'interface utilisateur est plus lent en raison des couches de conteneurisation.

Exemple d'installation de Google Chrome à partir d'un paquet .deb :

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb

Tip

Pour obtenir un son correct et des graphiques fluides, installez toujours les navigateurs à partir de paquets .deb ou de dépôts officiels. Évitez les versions Snap pour les serveurs de terminaux.

Problème n°2 : L'image s'effrite ou est décalée

Raison : Faible connexion internet ou ressources processeur insuffisantes pour compresser le flux vidéo.

  • Solution : Assurez-vous que l'optimisation (compression adaptative) est activée dans les paramètres du client ThinLinc.
  • Solution : Assurez-vous que vous utilisez une session KDE Plasma (X11) et non Wayland.

Configuration système recommandée

Pour garantir une expérience vraiment confortable lorsque vous travaillez avec KDE via ThinLinc (sans bégaiement du son ou gel lors de l'ouverture des onglets du navigateur), nous recommandons les spécifications VPS suivantes :

Paramètre

Minimale

Recommandé (1 utilisateur)

Processeur (CPU)

2 cœurs virtuels

4 cœurs virtuels

Mémoire (RAM)

4 GO

4 GB +

Disque (stockage)

40 GB SSD

40 Go SSD / NVMe

SYSTÈME D'EXPLOITATION

Ubuntu 24.04

Ubuntu 24.04

Même avec une configuration minimale, un serveur dédié offrira des performances VDI nettement supérieures. Si vous prévoyez d'utiliser un serveur de terminal dans le cadre d'une infrastructure d'entreprise, il est préférable d'envisager des ressources dédiées afin de garantir des performances stables pour un système multi-utilisateurs.

ThinLinc peut également utiliser le GPU pour le traitement des graphiques 3D à l'aide de VirtualGL. Cela nécessite l'installation de pilotes GPU propriétaires et l'exécution de la commande vglrun pour lancer les applications qui nécessitent un traitement GPU.

Tip

Si vous prévoyez d'utiliser votre VPS pour plusieurs utilisateurs en même temps, ajoutez 2 Go de RAM et 1 cœur vCPU pour chaque utilisateur actif supplémentaire.

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria