VDI na Ubuntu 24.04 i ThinLinc: alternatywa dla Windows Terminal Server (RDP) | INTROSERV

Jak wdrożyć pełnoprawne VDI na Ubuntu Linux i ThinLinc: alternatywa dla Windows Terminal Server

Wprowadzenie

Jeśli szukasz sposobu na skonfigurowanie zdalnego pulpitu dla swoich pracowników i potrzebujesz alternatywy dla RDP w systemie Linux, ThinLinc jest jednym z najbardziej stabilnych rozwiązań do budowy infrastruktury VDI.

ThinLinc to profesjonalne rozwiązanie do organizowania serwerów terminali opartych na systemie Linux od szwedzkiej firmy Cendio, która opracowuje rozwiązania dla serwerów terminali od 1992 roku. W odróżnieniu od standardowego VNC, zapewnia ono szybkie renderowanie grafiki, pełną obsługę dźwięku oraz przekierowywanie lokalnych zasobów (drukarek, kart inteligentnych, folderów).

Kluczowe funkcje licencjonowania:

  • Wersja darmowa: W pełni funkcjonalna i darmowa na zawsze dla maksymalnie 10 jednoczesnych użytkowników. Idealna dla małych firm lub do użytku osobistego.
  • Ujednolicona funkcjonalność: Wersja darmowa nie ma ograniczeń w zakresie możliwości w porównaniu do wersji płatnej.
  • Obsługa LDAP: Używaj użytkowników Active Directory do logowania się do serwera terminali
  • Jednoczesne licencje: Licencjonowani są nie użytkownicy utworzeni w systemie, ale równoczesne sesje.

Przykład: Możesz mieć 50 utworzonych użytkowników, ale jeśli tylko 10 pracuje w tym samym czasie, darmowa wersja jest dla Ciebie wystarczająca.

Stos techniczny tego przewodnika

Wszystkie działania opisane w tym podręczniku zostały zweryfikowane przy użyciu następującego stosu oprogramowania/sprzętu:

Komponent

Wersja / specyfikacja

system operacyjny

Ubuntu Server 24.04.3 LTS (Noble Numbat)

Powłoka graficzna

KDE Plasmashell 5.27.12 (pakiet kde-standard)

Serwer terminali

Cendio ThinLinc v4.20.0

Maszyna wirtualna

4-rdzeniowy procesor, 8 GB pamięci RAM, dysk SSD NVMe

Użytkownik

Standardowy użytkownik w grupie sudo

Krok 1: Przygotowanie i aktualizacja systemu

Utwórz standardowego użytkownika i dodaj go do grupy sudo, jeśli jeszcze nie istnieje w systemie:

sudo adduser USERNAME

Zastąp USERNAME swoją nazwą użytkownika.

Dodawanie użytkownika do grupy sudo:

sudo usermod -aG sudo USERNAME

Zastąp USERNAME swoją nazwą użytkownika.

Aktualizacja systemu:

sudo apt update && sudo apt upgrade -y

Instalacja i włączenie systemu drukowania CUPS:

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

Krok 2: Instalacja środowiska graficznego KDE

sudo apt install kde-standard -y

Jeśli chcesz mieć pełny pakiet aplikacji (gry, biuro itp.), użyj kde-full, ale dla serwera zwykle wystarczy kde-standard.

Info

Jeśli podczas instalacji pojawi się niebieskie okno z prośbą o wybranie menedżera wyświetlania, wybierz sddm (natywny dla KDE).

Ponowne uruchomienie: Po zainstalowaniu wszystkich pakietów najlepiej jest zrestartować komputer, aby upewnić się, że serwer X i powłoka uruchomią się poprawnie.

sudo reboot now

Wejdź na stronę Cendio we bsite -> zakładka Download -> Dla administratorów -> Pobierz oprogramowanie serwera ThinLinc -> Wypełnij formularz, aby otrzymać link.

W otwartym oknie kliknij prawym przyciskiem myszy Pobierz oprogramowanie serwera, aby uzyskać link do najnowszej wersji ThinLinc. Możesz zapisać go w Notatniku do późniejszej instalacji.

Krok 4: Pobierz ThinLinc

ThinLinc nie jest dystrybuowany za pośrednictwem standardowych repozytoriów Ubuntu, więc pobierz go z oficjalnej strony Cendio, korzystając z zapisanego wcześniej linku:

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

Zastąp link tym, który otrzymałeś w kroku #3.

Krok 5: Rozpakuj archiwum i przejdź do folderu z rozpakowanymi plikami

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

Gdzie tl-4.20.0-server-to nazwa pobranego archiwum.

Krok 6: Instalacja ThinLinc Server

Uruchomienie instalatora:ThinLinc jest dostarczany z wygodnym skryptem instalacyjnym, który automatycznie pobierze niezbędne zależności.

sudo ./install-server

Instalator poprosi o wprowadzenie danych w niektórych punktach, na przykład, aby "nacisnąć Enter, aby kontynuować" lub potwierdzić określone opcje.

Narzędzie konfiguracji serwera ThinLinc

Po instalacji ThinLinc, natychmiast pojawi się narzędzie konfiguracji serwera. Zaleca się kontynuowanie konfiguracji.

Podczas instalacji zostanie wyświetlony monit o zainstalowanie brakujących pakietów i potwierdzenie ustawień:

  • Run ThinLinc setup now [Yes/no]? Tak
  • Typ serwera [Master/agent]? Master
  • Automatycznie zainstaluj niezbędne pakiety [Tak/Nie]? Tak
  • Czy chcesz kontynuować instalację [Tak/Nie]? Tak

Zainstaluj komponenty LDAP, aby móc zalogować się do systemu przy użyciu konta w usłudze AD.

Automatycznie zainstalować niezbędne pakiety [Tak/Nie]? Tak

Określ, co powinno być używane do dostępu z zewnątrz:

Zewnętrznie osiągalny adres do użycia [ip/hostname/manual]? ip

Wprowadź adres e-mail administratora systemu:

E-mail administratora []? Podaj swój kontaktowy adres e-mail.

ThinLink oferuje interfejs sieciowy do administrowania serwerem terminali. Można go później wyłączyć. Na razie jednak należy wprowadzić silne hasło:

Web Administration password? YOUR_RELIABLE_PASSWORD

Zalecane jest zainstalowanie konfiguracji AppArmor:

Zainstalować konfigurację AppArmor [Tak/Nie]? Tak

Po zakończeniu instalacji i konfiguracji otrzymasz wiadomość potwierdzającą pomyślną instalację.

Krok 7: Dodanie ścieżki do sudo

Aby system zawsze znajdował polecenia ThinLinc, należy edytować plik visudo

sudo visudo

i zastąpić wartość w wierszu "Defaults secure_path=" wartością

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

Krok 8: Sprawdzanie i konfigurowanie portów dostępu

ThinLinc działa przez SSH (port 22) dla głównego ruchu i używa portów 1010 (interfejs administracyjny sieci Web) i 300 (klient sieci Web).

Jeśli masz włączone ufw, zezwól na dostęp:

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

Krok 9: Optymalizacja wydajności GUI dla zdalnego dostępu

Polecenie, które utworzy globalny plik konfiguracyjny i wymusi wyłączenie kompozycji i animacji dla wszystkich użytkowników, aby poprawić responsywność pulpitu zdalnego.

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'

Krok 10: Połączenie

Możesz połączyć się ze zdalnym pulpitem na dwa sposoby: poprzez natywnego klienta ThinLinc lub bezpośrednio w przeglądarce https://YOUR_SERVER_IP:300.

Klienta można pobrać ze strony Cendio -> Download -> For users.

Jak widać, klient jest bardzo podobny do klienta MS RDP. Ustawienia pozwalają na konfigurację przekierowania urządzeń i współdzielonego schowka. Ustawienia jakości wyświetlania pulpitu zdalnego są również dość zaawansowane.

Krok 11 (opcjonalnie) Wyłączenie dostępu do serwera przez przeglądarkę internetową

Ponieważ dostęp przez przeglądarkę tworzy dodatkowe wektory ataku, najlepiej jest wyłączyć dostęp do internetowego panelu administracyjnego na porcie 1010 i dostęp do klienta internetowego pulpitu zdalnego.

Można to zrobić poprzez wyłączenie odpowiednich usług + zamknięcie portów w zaporze sieciowej.

Wyłączanie usług:

# Zatrzymujemy klienta WWW i panel administracyjny sudo systemctl stop tlwebclient tlwebadm # Zabraniamy ich autostartu sudo systemctl disable tlwebclient tlwebadm

Odmawiamy dostępu do portu 300:

sudo ufw deny 300/tcp sudo ufw reload

Tip

Należy pamiętać, że ThinLinc używa SSH jako transportu. Oznacza to, że wszystkie mechanizmy bezpieczeństwa SSH automatycznie chronią pulpit graficzny.

Potencjalne problemy i zalecenia dotyczące sprzętu

Nawet przy prawidłowej instalacji mogą wystąpić pewne niuanse specyficzne dla pulpitów zdalnych.

Problem #1: Brak dźwięku lub opóźnienia wideo w przeglądarce

Powód: Ubuntu 24.04 domyślnie instaluje przeglądarki (Firefox, Chromium) w formacie Snap. Pakiety te działają w odizolowanej piaskownicy, która:

  • Nie widzi wirtualnych kanałów dźwiękowych ThinLinc.
  • Wolniejsze renderowanie interfejsu użytkownika z powodu warstw konteneryzacji.

Przykład instalacji Google Chrome z pakietu .deb:

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

Tip

Aby uzyskać prawidłowy dźwięk i płynną grafikę, zawsze instaluj przeglądarki z pakietów .deb lub oficjalnych repozytoriów. Unikaj wersji Snap dla serwerów terminali.

Problem #2: Obraz "kruszy się" lub opóźnia

Powód: Słabe połączenie internetowe lub niewystarczające zasoby procesora do kompresji strumienia wideo.

  • Rozwiązanie: Upewnij się, że optymalizacja (kompresja adaptacyjna) jest włączona w ustawieniach klienta ThinLinc.
  • Rozwiązanie: Upewnij się, że używasz sesji KDE Plasma (X11), a nie Wayland.

Zalecane wymagania systemowe

Aby zapewnić naprawdę komfortowe wrażenia podczas pracy ze środowiskiem KDE za pośrednictwem ThinLinc (bez zacinającego się dźwięku lub zawieszania się podczas otwierania kart przeglądarki), zalecamy następujące specyfikacje VPS:

Parametr

Minimalne

Zalecane (1 użytkownik)

Procesor (CPU)

2 wirtualne rdzenie

4 wirtualne rdzenie

Pamięć (RAM)

4 GB

4 GB +

Dysk (Storage)

40 GB SSD

40 GB SSD / NVMe

SYSTEM OPERACYJNY

Ubuntu 24.04

Ubuntu 24.04

Nawet przy minimalnej konfiguracji serwer dedykowany zapewni znacznie wyższą wydajność VDI. Jeśli planujesz używać serwera terminali jako części infrastruktury biznesowej, najlepiej rozważyć dedykowane zasoby, aby zapewnić stabilną wydajność systemu dla wielu użytkowników.

ThinLinc może również wykorzystywać GPU do przetwarzania grafiki 3D za pomocą VirtualGL. Wymaga to zainstalowania zastrzeżonych sterowników GPU i uruchomienia polecenia vglrun w celu uruchomienia aplikacji wymagających przetwarzania GPU.

Tip

Jeśli planujesz korzystać z VPS dla wielu użytkowników jednocześnie, dodaj 2 GB pamięci RAM i 1 rdzeń vCPU dla każdego dodatkowego aktywnego użytkownika.

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