VDI su Ubuntu 24.04 e ThinLinc: un'alternativa a Windows Terminal Server (RDP) | INTROSERV

Come distribuire una VDI completa su Ubuntu Linux e ThinLinc: un'alternativa a Windows Terminal Server

Introduzione

Se state cercando un modo per impostare un desktop remoto per i vostri dipendenti e avete bisogno di un'alternativa a RDP su Linux, ThinLinc è una delle soluzioni più stabili per costruire un'infrastruttura VDI.

ThinLinc è una soluzione professionale per l'organizzazione di terminal server basati su Linux dell'azienda svedese Cendio, che sviluppa soluzioni per terminal server dal 1992. A differenza del VNC standard, offre un rendering grafico ad alta velocità, un supporto audio completo e l'inoltro delle risorse locali (stampanti, smart card, cartelle).

Caratteristiche principali della licenza:

  • Versione gratuita: Completamente funzionale e gratuita per sempre per un massimo di 10 utenti contemporanei. Ideale per piccole aziende o per uso personale.
  • Funzionalità unificata: La versione gratuita non presenta limitazioni in termini di funzionalità rispetto alla versione a pagamento.
  • Supporto LDAP: Utilizza gli utenti di Active Directory per accedere al terminal server.
  • Licenze concorrenti: Non vengono concesse licenze agli utenti creati nel sistema, ma alle sessioni simultanee.

Esempio: Potete avere 50 utenti creati, ma se solo 10 lavorano contemporaneamente, la versione gratuita è sufficiente.

Pila tecnica di questa guida

Tutte le azioni descritte in questo manuale sono state convalidate utilizzando il seguente stack software/hardware:

Componente

Versione / Specifica

Sistema operativo

Ubuntu Server 24.04.3 LTS (Noble Numbat)

Guscio grafico

KDE Plasmashell 5.27.12 (pacchetto kde-standard)

Server terminale

Cendio ThinLinc v4.20.0

Macchina virtuale

CPU a 4 core, 8 GB di RAM, SSD NVMe

Utente

Utente standard nel gruppo sudo

Passo 1: Preparare e aggiornare il sistema

Create un utente standard e aggiungetelo al gruppo sudo se non esiste già nel sistema:

sudo adduser USERNAME

Sostituire USERNAME con il proprio nome utente.

Aggiungere un utente al gruppo sudo:

sudo usermod -aG sudo USERNAME

Sostituire USERNAME con il proprio nome utente.

Aggiornamento del sistema:

sudo apt update && sudo apt upgrade -y

Installare e abilitare il sistema di stampa CUPS:

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

Passo 2: Installare l'ambiente desktop KDE

sudo apt install kde-standard -y

Se volete la suite completa di applicazioni (giochi, office, ecc.), usate kde-full, ma per un server, kde-standard è solitamente sufficiente.

Info

Se durante l'installazione appare una finestra blu che chiede di selezionare un display manager, selezionare sddm (nativo di KDE).

Riavviare: Dopo aver installato tutti i pacchetti, è meglio riavviare per assicurarsi che il server X e la shell si avviino correttamente.

sudo reboot now

Andare al sito di Cendio -> scheda Download -> Per gli amministratori -> Scarica il software del server ThinLinc -> Compilare il modulo per ricevere il link

Nella finestra che si apre, fare clic con il tasto destro del mouse su Download server software per ottenere un link all'ultima versione di ThinLinc. È possibile salvarlo nel Blocco note per un'installazione successiva.

Passo 4: Scaricare ThinLinc

ThinLinc non è distribuito attraverso i repository standard di Ubuntu, quindi scaricatelo dal sito ufficiale di Cendio utilizzando il link salvato in precedenza:

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

Sostituite il link con quello ottenuto nel passaggio #3.

Passo 5: decomprimere l'archivio e andare nella cartella con i file decompressi

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

Dove tl-4.20.0-server-è il nome dell'archivio scaricato .

Passo 6: Installazione di ThinLinc Server

Avviare il programma di installazione:ThinLinc è dotato di un comodo script di installazione che inserisce automaticamente le dipendenze necessarie.

sudo ./install-server

Il programma di installazione chiederà di immettere dati in alcuni punti, ad esempio per "Premere Invio per continuare" o per confermare opzioni specifiche.

Utilità di configurazione del server ThinLinc

Dopo l'installazione di ThinLinc, seguirà immediatamente l'utilità di configurazione del server. Si consiglia di proseguire con la configurazione.

Durante la configurazione, verrà richiesto di installare i pacchetti mancanti e di confermare le impostazioni:

  • Eseguire ora l'installazione di ThinLinc [Sì/no]?
  • Tipo di server [Master/agente]? Master
  • Installare automaticamente i pacchetti necessari [Sì/no]?
  • Si desidera continuare l'installazione [Sì/no]?

Installate i componenti LDAP in modo da poter accedere al sistema utilizzando un account in AD.

Installare automaticamente i pacchetti necessari [Sì/no]?

Specificare cosa deve essere usato per l'accesso esterno:

Indirizzo raggiungibile dall'esterno da utilizzare [ip/hostname/manuale]? ip

Inserire l'indirizzo e-mail dell'amministratore del sistema:

Email amministratore []? Indicare l'e-mail di contatto.

ThinLink offre un'interfaccia web per l'amministrazione del terminal server. È possibile disattivarla in seguito. Tuttavia, per il momento, inserire una password forte:

Password di amministrazione Web? PASSWORD_AFFIDABILE

Si consiglia di installare la configurazione AppArmor:

Installare la configurazione AppArmor [Sì/no]?

Una volta completata l'installazione e la configurazione, si riceverà un messaggio di conferma dell'avvenuta installazione.

Passo 7: Aggiunta del percorso a sudo

Per garantire che il sistema trovi sempre i comandi ThinLinc, è necessario modificare il file visudo

sudo visudo

e sostituire il valore nella riga "Defaults secure_path=" con

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

Passo 8: Verifica e configurazione delle porte di accesso

ThinLinc opera su SSH (porta 22) per il traffico primario e utilizza le porte 1010 (interfaccia di amministrazione web) e 300 (client web).

Se avete abilitato ufw, consentite l'accesso:

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

Passo 9: Ottimizzare le prestazioni della GUI per l'accesso remoto

Un comando che crea un file di configurazione globale e forza il compositing e le animazioni a essere disabilitati per tutti gli utenti per migliorare la reattività del desktop remoto.

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'

Passo 10: Connessione

È possibile connettersi a un desktop remoto in due modi: attraverso il client ThinLinc nativo o direttamente nel browser https://YOUR_SERVER_IP:300.

Il client può essere scaricato dalla pagina Cendio -> Download -> Per gli utenti.

Come si può vedere, il client è molto simile al client RDP di MS. Le impostazioni consentono di configurare l'inoltro dei dispositivi e gli appunti condivisi. Anche le impostazioni della qualità di visualizzazione del desktop remoto sono piuttosto avanzate.

Fase 11 (facoltativa) Disabilitare l'accesso al server tramite browser web

Poiché l'accesso tramite browser crea ulteriori vettori di attacco, è meglio disabilitare l'accesso al pannello di amministrazione web sulla porta 1010 e l'accesso al client web di desktop remoto.

Questo può essere fatto disabilitando i servizi pertinenti + chiudendo le porte nel firewall.

Disabilitare i servizi:

# Arrestare il client web e il pannello di amministrazione sudo systemctl stop tlwebclient tlwebadm # Vietare il loro avvio automatico sudo systemctl disable tlwebclient tlwebadm

Negare l'accesso alla porta 300:

sudo ufw deny 300/tcp sudo ufw reload

Tip

Ricordare che ThinLinc utilizza SSH come trasporto. Ciò significa che tutti i meccanismi di sicurezza SSH proteggono automaticamente il desktop grafico.

Potenziali problemi e raccomandazioni per l'hardware

Anche se l'installazione è stata eseguita correttamente, possono verificarsi alcuni problemi specifici dei desktop remoti.

Problema n. 1: assenza di audio o ritardi video nel browser

Motivo: Ubuntu 24.04 installa i browser (Firefox, Chromium) in formato Snap per impostazione predefinita. Questi pacchetti vengono eseguiti in una sandbox isolata, che:

  • Non vede i canali audio virtuali ThinLinc.
  • Rendering dell'interfaccia utente più lento a causa dei livelli di containerizzazione.

Esempio di installazione di Google Chrome da un pacchetto .deb:

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

Tip

Per ottenere un suono corretto e una grafica fluida, installare sempre i browser da pacchetti .deb o da repository ufficiali. Evitate le versioni Snap per i terminal server.

Problema n. 2: immagine "sbriciolata" o lag

Motivo: Connessione Internet debole o risorse del processore insufficienti per comprimere il flusso video.

  • Soluzione: Assicurarsi che l'ottimizzazione (compressione adattiva) sia abilitata nelle impostazioni di ThinLinc Client.
  • Soluzione: Assicurarsi di utilizzare una sessione KDE Plasma (X11) e non Wayland.

Requisiti di sistema consigliati

Per garantire un'esperienza davvero confortevole quando si lavora con KDE tramite ThinLinc (senza suoni stuttering o blocchi all'apertura delle schede del browser), si consigliano le seguenti specifiche VPS:

Parametro

Minimo

Consigliato (1 utente)

Processore (CPU)

2 core virtuali

4 core virtuali

Memoria (RAM)

4 GB

4 GB +

Disco (archiviazione)

40 GB SSD

40 GB SSD / NVMe

SISTEMA OPERATIVO

Ubuntu 24.04

Ubuntu 24.04

Anche con una configurazione minima, un server dedicato garantisce prestazioni VDI nettamente superiori. Se si prevede di utilizzare un terminal server come parte di un'infrastruttura aziendale, è meglio considerare risorse dedicate per garantire prestazioni stabili per un sistema multiutente.

ThinLinc può anche utilizzare la GPU per l'elaborazione grafica 3D utilizzando VirtualGL. Ciò richiede l'installazione di driver GPU proprietari e l'esecuzione del comando vglrun per lanciare le applicazioni che richiedono l'elaborazione GPU.

Tip

Se si prevede di utilizzare il VPS per più utenti contemporaneamente, aggiungere 2 GB di RAM e 1 core vCPU per ogni utente attivo aggiuntivo.

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