Aby zainstalować i skonfigurować serwer VNC na Ubuntu, postępuj zgodnie z poniższym, szczegółowym poradnikiem obejmującym wszystkie kluczowe kroki, wyjaśnienia, konfigurację i zabezpieczenia.
1. Czym jest VNC?
VNC (Virtual Network Computing) umożliwia zdalną obsługę graficznego środowiska pulpitu innego komputera przez sieć. Jest alternatywą dla protokołu RDP i często wykorzystywany w administracji serwerami lub do pracy zdalnej na systemie Linux.
2. Wymagania wstępne
- System operacyjny – Ubuntu (np. 20.04, 22.04)
- Uprawnienia administratora (sudo)
- Połączenie sieciowe
3. Instalacja środowiska graficznego
Większość serwerów Ubuntu instalowana jest bez graficznego środowiska; VNC wymaga pulpitu. Przykładowo, aby zainstalować lekkie XFCE –
sudo apt update sudo apt install xfce4 xfce4-goodies
Możesz wybrać inne środowisko (GNOME, KDE), korzystając np. z tasksel
:
sudo apt install tasksel sudo tasksel
Wybierz preferowane środowisko graficzne.
Uwaga dla użytkowników GNOME – Wyłącz Waylanda, bo VNC nie jest z nim kompatybilny.
4. Instalacja serwera VNC
Najpopularniejsze serwery to TigerVNC, TightVNC oraz x11vnc. Polecamy TigerVNC – jest szybki i aktualny:
sudo apt install tigervnc-standalone-server
Alternatywnie możesz skorzystać z TightVNC:
sudo apt install tightvncserver
W razie problemów możesz użyć pakietu vnc4server:
sudo apt-get install vnc4server
5. Konfiguracja serwera VNC
a) Ustawianie hasła
Uruchom żądanie hasła:
vncpasswd
Podaj dwukrotnie wybrane hasło – będzie ono wymagane przy połączeniu klienta VNC.
b) Uruchamianie instancji VNC – porty
Serwer VNC działa na określonych portach: pierwszy ekran to zwykle :1 (port 5901), kolejny :2 (port 5902), itd.
vncserver :1
Za każdym razem gdy uruchamiasz serwer, możesz wskazać numer ekranu.
Do zatrzymania serwera na ekranie :1 użyj:
vncserver -kill :1
c) Konfiguracja pliku startowego
Plik startowy VNC najczęściej znajduje się w lokalizacji ~/.vnc/xstartup
. Skonfiguruj środowisko pulpitu, które serwer VNC ma uruchamiać.
Edytuj plik, np. dla XFCE:
nano ~/.vnc/xstartup
Dodaj lub zmień zawartość na:
#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
Dla GNOME/KDE zawartość będzie odpowiednio inna.
Nadaj plikowi uprawnienia wykonywania:
chmod +x ~/.vnc/xstartup
6. Połączenie z serwerem VNC
Do połączenia z serwerem VNC potrzebujesz klienta VNC (np. RealVNC, TightVNC Viewer) na komputerze lokalnym.
- Adres – IP lub nazwa hosta serwera
- Port – domyślnie 5901 (dla ekranu :1), 5902 (dla :2) itd.
- Format – np.
192.168.1.10:5901
Wpisz powyższe dane w aplikacji VNC Viewer, podaj ustawione wcześniej hasło i połącz.
7. Bezpieczna konfiguracja (tunel SSH)
VNC przesyła dane w postaci niezaszyfrowanej, dlatego zaleca się tunelowanie połączenia przez SSH:
Na komputerze klienckim uruchom tunel:
ssh -L 5901:localhost:5901 użytkownik@adres_serwera
Potem łączysz się klientem VNC pod adresem:localhost:5901
. Połączenie jest szyfrowane SSH.
8. Uruchamianie VNC jako usługa systemowa
Aby serwer VNC startował automatycznie, możesz utworzyć dedykowany plik usługi systemd (np. dla ekranu :1):
Utwórz plik /etc/systemd/system/[email protected]
o treści:
[Unit] Description=Start TigerVNC server at startup After=syslog.target network.target [Service] Type=forking User=twoja_nazwa PAMName=login PIDFile=/home/twoja_nazwa/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
Aktywuj i uruchom:
sudo systemctl daemon-reload sudo systemctl enable [email protected] sudo systemctl start vncserver@1
9. Przekierowanie portów routera (praca spoza sieci lokalnej)
- Przekieruj odpowiednie porty (np. 5901) na adres serwera VNC w routerze.
- Sprawdź publiczne IP.
- Połącz się przez internet (pamiętaj o zabezpieczeniu tunelami SSH).
10. Rozwiązywanie problemów
- Sprawdź, czy środowisko graficzne jest poprawnie zainstalowane.
- Sprawdź logi VNC:
~/.vnc/*.log
- Upewnij się, że port 5901/tcp jest otwarty w firewallu.
- Jeśli używasz GNOME – wyłącz Waylanda.
Podsumowanie
Dzięki powyższym krokom zainstalujesz, zabezpieczysz i skonfigurujesz serwer VNC na Ubuntu, umożliwiając zdalny dostęp do pulpitu do celów administracyjnych i pracy zdalnej. Jeśli pojawią się szczegółowe potrzeby (np. inne środowisko), dostosuj plik xstartup
lub wybierz inny serwer VNC zgodnie z dokumentacją.