VDI na Ubuntu 24.04 i ThinLinc: alternativa za Windows Terminal Server (RDP) | INTROSERV

Kako implementirati potpuno funkcionalan VDI na Ubuntu Linuxu i ThinLincu: alternativu Windows Terminal Serveru

Uvod

Ako tražite način da postavite udaljenu radnu površinu za svoje zaposlenike i trebate alternativu RDP-u na Linuxu, ThinLinc je jedno od najednostavnijih rješenja za izgradnju VDI infrastrukture.

ThinLinc je profesionalno rješenje za organizaciju Linux-baziranih terminalnih servera švedske kompanije Cendio, koja razvija rješenja za terminalne servere od 1992. godine. Za razliku od standardnog VNC-a, pruža brzo prikazivanje grafike, potpunu podršku zvuka i proslijeđivanje lokalnih resursa (pisači, pametne kartice, mape).

Ključne karakteristike licenciranja:

  • Besplatna verzija: Potpuno funkcionalna i besplatna zauvijek za do 10 istovremenih korisnika. Idealna za mala poduzeća ili osobnu upotrebu.
  • Objedinjena funkcionalnost: Besplatna verzija nema ograničenja u smislu mogućnosti u odnosu na plaćenu verziju.
  • LDAP podrška: Koristite Active Directory korisnike za prijavu na terminalni server
  • Istovremene licence: Ne licenciraju se korisnici kreirani u sustavu, već istovremene sesije.

Primjer: Možda imate 50 kreiranih korisnika, ali ako samo 10 radi istovremeno, besplatna verzija je dovoljna za vas.

Tehnički stack ovog vodiča

Sve radnje opisane u ovom priručniku validirane su korištenjem sljedećeg softvera/hardvera stacka:

Komponenta

Verzija / Specifikacija

Operativni sustav

Ubuntu Server 24.04.3 LTS (Noble Numbat)

Grafička ljuska

KDE Plasmashell 5.27.12 (kde-standard paket)

Terminalni server

Cendio ThinLinc v4.20.0

Virtualna mašina

4 jezgre CPU, 8 GB RAM, NVMe SSD

Korisnik

Standardan korisnik u sudo grupi

Korak 1: Priprema i ažuriranje sustava

Kreirajte standardnog korisnika i dodajte ga u sudo grupu ako već ne postoji u sustavu:

sudo adduser USERNAME

Zamijenite USERNAME sa vašim korisničkim imenom.

Dodavanje korisnika u sudo grupu:

sudo usermod -aG sudo USERNAME

Zamijenite USERNAME sa vašim korisničkim imenom.

Ažuriranje sustava:

sudo apt update && sudo apt upgrade -y

Instalacija i omogućavanje CUPS sustava ispisa:

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

Korak 2: Instalacija KDE okruženja za rad

sudo apt install kde-standard -y

Ako želite kompletan skup aplikacija (igre, ured, itd.), koristite kde-full, ali za server, kde-standard je obično dovoljan.

Info

Ako se tijekom instalacije pojavi plavi prozor tražeći da odaberete upravljač prikazima, odaberite sddm (ugrađen u KDE).

Ponovno pokretanje: Nakon instalacije svih paketa, preporučuje se ponovno pokretanje kako bi se osiguralo ispravno pokretanje X servera i ljuske.

sudo reboot now

Korak 3: Dobivanje veze instalacijskog paketa

Idite na Cendio web stranicu → Preuzimanja → Za administratore → Preuzimanje ThinLinc server softvera → Ispunite obrazac da dobijete vezu

U prozoru koji se otvori, desnom tipkom miša kliknite na "Preuzmi server softver" kako biste dobili vezu na najnoviju verziju ThinLinc-a. Možete je spremiti u Notepad za kasniju instalaciju.

Korak 4: Preuzimanje ThinLinc-a

ThinLinc se ne distribuira kroz standardne Ubuntu repozitorije, pa ga preuzimite s službene Cendio web stranice koristeći vezu koju ste spremili ranije:

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

Zamijenite vezu s onom koju ste dobili u koraku #3.

Korak 5: Raspakuj arhiv i idi u mapu s raspakovanim datotekama

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

Gdje je tl-4.20.0-server naziv arhive koju ste preuzeli

Korak 6: Instalacija ThinLinc servera

Pokretanje instalatora: ThinLinc dolazi s prikladnom instalacijskom skriptom koja će automatski preuzeti potrebne ovisnosti.

sudo ./install-server

Instalator će tražiti unos u određenim točkama, na primjer, da pritisnete "Enter za nastavak" ili da potvrdite specifične opcije.

Utilita za konfiguraciju ThinLinc servera

Nakon instalacije ThinLinc-a, odmah će uslijediti utilita za postavljanje servera. Preporučuje se nastaviti s postavljanjem.

Tijekom postavljanja, trebali biste biti potraženi da instalirate nedostajuće pakete i potvrdite vašu konfiguraciju:

  • Pokreni ThinLinc postavljanje sada [Yes/no]? Yes
  • Tip servera [Master/agent]? Master
  • Automatski instaliraj potrebne pakete [Yes/no]? Yes
  • Želiš li nastaviti s instalacijom [Yes/no]? Yes

Instalirajte LDAP komponente kako biste se mogli prijaviti u sustav koristeći račun unutar AD-a.

Automatski instaliraj potrebne pakete [Yes/no]? Yes

Specificirajte što bi trebalo koristiti za vanjski pristup:

Vanjski dostupna adresa za korištenje [ip/hostname/manual]? ip

Molimo unesite email adresu sistemskog administratora:

Administrator email []? Molimo navedite vašu kontakt email adresu.

ThinLinc nudi web sučelje za administriranje terminalnog servera. Kasnije ga možete onemogućiti. Međutim, za sada, molimo unesite jaku lozinku:

Lozinka web administracije? VAŠA_POUZDANA_LOZINKA

Instalacija AppArmor konfiguracije je preporučena:

Instaliraj AppArmor konfiguraciju [Yes/no]? Yes

Nakon što je instalacija i konfiguracija dovršena, dobit ćete poruku koja potvrđuje uspješnu instalaciju.

Korak 7: Dodavanje puta u sudo

Kako bi sustav uvijek pronašao ThinLinc naredbe, trebate urediti datoteku visudo

sudo visudo

i zamijeniti vrijednost u liniji "Defaults secure_path=" s

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

Korak 8: Provjera i konfiguracija portova pristupa

ThinLinc radi kroz SSH (port 22) za primarni promet i koristi portove 1010 (web sučelje administracije) i 300 (web klijent).

Ako imate ufw omogućen, dozvoli pristup:

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

Korak 9: Optimizacija performansi korisničkog sučelja za udaljeni pristup

Naredba koja će kreirati globalnu datoteku konfiguracije i prisiliti onemogućavanje sastavnog iscrtavanja i animacija za sve korisnike kako bi se poboljšala reagencija udaljene radne površine.

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'

Korak 10: Povezivanje

Možete se povezati na udaljenu radnu površinu na dva načina: putem nativnog ThinLinc klijenta ili izravno u pregledniku https://VAŠA_IP_SERVERA:300

Klijent se može preuzeti sa Cendio → Preuzimanja → Za korisnike stranice.

Kao što vidite, klijent je vrlo sličan MS RDP klijentu. Postavke vam omogućavaju konfiguriranje proslijeđivanja uređaja i zajedničke memorije. Postavke kvalitete prikaza udaljene radne površine su također sasvim napredne.

Korak 11 (Opciono) Onemogućavanje pristupa serveru putem web preglednika

Budući da pristup preko preglednika stvara dodatne vektore napada, najbolje je onemogućiti pristup web admin panelu na portu 1010 i pristup klijentskoj aplikaciji udaljene radne površine.

To se može učiniti onemogućavanjem relevantnih servisa + zatvaranjem portova u vatrozidu.

Onemogućavanje servisa:

# Zaustavite web klijent i admin panel sudo systemctl stop tlwebclient tlwebadm # Zabranimo njihov automatski start sudo systemctl disable tlwebclient tlwebadm

Zabrana pristupa portu 300:

sudo ufw deny 300/tcp sudo ufw reload

Tip

Zapamtite da ThinLinc koristi SSH kao transport. To znači da svi SSH mehanizmi sigurnosti automatski štite vašu grafičku radnu površinu.

Mogući problemi i preporuke za hardver

Čak i s pravilnom instalacijom, mogu postojati neke nijanse specifične za udaljene radne površine.

Problem #1: Nema zvuka ili video zaostaje u pregledniku

Razlog: Ubuntu 24.04 instalira preglednike (Firefox, Chromium) u Snap formatu prema zadanom. Ti paketi se pokreću u izoliranom sandbox-u, što:

  • Ne vidi ThinLinc virtualne kanale zvuka.
  • Sporije iscrtavanje sučelja zbog slojeva kontejnerizacije.

Primjer instalacije Google Chromea iz .deb paketa:

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

Tip

Za odgovarajući zvuk i glatku grafiku, uvijek instalirajte preglednike iz .deb paketa ili službenih repozitorija. Izbjegavajte Snap verzije za terminalne servere.

Problem #2: Slika se "raspada" ili zaostaje

Razlog: Slab internetski spoj ili nedovoljan procesni resursi za komprimiranje video toka.

  • Rješenje: Provjerite je li optimizacija (Adaptive Compression) omogućena u postavkama ThinLinc klijenta.
  • Rješenje: Provjerite koristite li KDE Plasma (X11) sesiju, a ne Wayland.

Preporučeni sistemski zahtjevi

Kako bi osigurali stvarno udobno iskustvo pri radu s KDE-om putem ThinLinc-a (bez mucanja zvuka ili zamrzavanja pri otvaranju kartice preglednika), preporučujemo sljedeće VPS specifikacije:

Parametar

Minimalno

Preporučeno (1 korisnik)

Procesor (CPU)

2 virtualne jezgre

4 virtualne jezgre

Memorija (RAM)

4 GB

4 GB +

Disk (Pohrana)

40 GB SSD

40 GB SSD / NVMe

OS

Ubuntu 24.04

Ubuntu 24.04

Čak i s minimalnom konfiguracijom, dedicirani server će pružiti znatno veće VDI performanse. Ako planirate koristiti terminalni server kao dio poslovne infrastrukture, najbolje je razmotriti dedicirane resurse kako bi se osigurala stabilna performansa za sustav s više korisnika.

ThinLinc može također koristiti GPU za obrada 3D grafike korištenjem VirtualGL-a. To zahtijeva instalaciju vlasničkih GPU drajvera i pokretanje vglrun naredbe za pokretanje aplikacija koje zahtijevaju GPU obradu.

Tip

Ako planirate koristiti vaš VPS za više korisnika istovremeno, dodajte 2GB RAM-a i 1 vCPU jezgru za svakog dodatnog aktivnog korisnika.

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