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.
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
Krok 3: Pobierz link do pakietu instalacyjnego
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.
.jpg)
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.
.jpg)
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
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
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.
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.