Ubuntu Remote Desktop (grafični vmesnik)
Ubuntu Server privzeto ne vsebuje grafičnega vmesnika. Vendar ga lahko namestite in se z njim povežete na daljavo prek VNC ali RDP. Ta vodnik obravnava obe metodi.
Vrat 5901 (VNC) ali 3389 (RDP) ne izpostavljajte neposredno internetu. Za varno povezavo uporabite SSH-tunel, WireGuard ali drugo rešitev VPN. Če morate te vrata dovoliti skozi požarni zid, dostop omejite izključno na zaupanja vredna območja IP-naslovov.
Za večino produkcijskih strežnikov Ubuntu je priporočena kombinacija: namizno okolje Xfce, xrdp za oddaljeni dostop ter WireGuard ali SSH-tunel za varno povezavo.
Kaj potrebujete
- Ubuntu strežnik (20.04 / 22.04 / 24.04)
- Dostop kot root ali sudo
- Odjemalski računalnik (Windows ali macOS), s katerega se boste povezovali
Namestite namizno okolje
Posodobite seznam paketov:
apt update && apt upgrade -y
Namestite minimalno namizno okolje GNOME:
apt install ubuntu-desktop-minimal -y
Za produkcijske strežnike se na splošno priporoča Xfce — porabi manj virov in deluje zanesljiveje prek VNC in xrdp:
apt install xfce4 xfce4-goodies -y
Ko se namestitev zaključi, nastavite privzeti cilj zagona na grafični način in ponovno zaženite računalnik:
systemctl set-default graphical.target reboot
Ukaz systemctl set-default graphical.target trajno spremeni privzeti način zagona, tako da se grafično okolje samodejno zažene po vsakem ponovnem zagonu. Na strežniku brez zaslona, kjer potrebujete le oddaljeni dostop do namizja, lahko ta korak preskočite in preprosto ponovno zaženete računalnik.
Možnost 1. Povezava prek VNC
VNC (Virtual Network Computing) vam omogoča oddaljen ogled in upravljanje namizja. V tem poglavju uporabljamo TigerVNC.
Namestite strežnik TigerVNC
apt install tigervnc-standalone-server tigervnc-common -y
Ustvarite uporabnika VNC
Zaženite VNC kot uporabnik brez pravic root. Ustvarite ga, če ga še nimate:
adduser vncuser
Uporabnika VNC ne dodajajte v skupino sudo. Če bi napadalec pridobil dostop do seje VNC, bi mu dostop do sudo omogočil popoln nadzor nad strežnikom.
Preklopite na tega uporabnika:
su - vncuser
Nastavite geslo za VNC
vncpasswd
Vnesite in potrdite geslo. Ko vas vpraša »Ali želite vnesti geslo samo za ogled?«, vnesite n.
VNC zahteva Xorg backend. V Ubuntu 24.04 GNOME privzeto teče na Waylandu. Če nameravate uporabljati VNC z GNOME-om, najprej onemogočite Wayland, kot je opisano v spodnjem odstavku o xrdp (WaylandEnable=false v datoteki /etc/gdm3/custom.conf). Brez tega se lahko pojavi črn zaslon.
V sistemu Ubuntu 24.04 program dbus-launch morda ni privzeto nameščen. Če se ob zagonu seje VNC pojavi napaka »ukaz ni najden«, ga najprej namestite: apt install dbus-x11 -y
Nastavite sejo VNC
Ustvarite mapo config in datoteko za zagon:
mkdir -p ~/.vnc nano ~/.vnc/xstartup
Vnesite naslednje:
#!/bin/bash export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR exec dbus-launch --exit-with-session gnome-session --session=ubuntu
Če ste namesto GNOME namestili Xfce, zadnjo vrstico zamenjajte z: exec startxfce4
Določite datoteko kot izvedljivo:
chmod +x ~/.vnc/xstartup
Zaženite strežnik VNC
vncserver :1 -geometry 1920x1080 -depth 24
S tem se zažene VNC-seja na zaslonu :1 (vrata 5901). Zaslon :2 bi uporabljal vrata 5902 in tako naprej.
Za ustavitev strežnika:
vncserver -kill :1
Odprite vrata požarnega zidu
ufw allow 5901/tcp
Če je mogoče, omejite dostop na določen IP-razpon namesto da dovolite vse vire: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp
Povezava iz sistema Windows
Prenesite in namestite TightVNC ali RealVNC Viewer.
Odprite odjemalca in vnesite: vaš-naslov-strežnika:5901

Ko vas program za to zaprosi, vnesite geslo za VNC. Ko se povežete, se bo prikazal oddaljeni namizje:

Povezava iz macOS
macOS vključuje vgrajeno stranko VNC. Odprite Finder, pritisnite Cmd+K in vnesite:
vnc://your-server-ip:5901
Ko vas program za to zaprosi, vnesite geslo.
Promet VNC po privzetem ni šifriran. Povezavo usmerite prek SSH: ssh -L 5901:localhost:5901 user@vaš-IP-strežnika, nato pa se iz svojega VNC-odjemalca povežite z localhost:5901.
Možnost 2. Povezava prek RDP
RDP (Remote Desktop Protocol) je standardni protokol, ki ga uporablja Windows Remote Desktop. V Ubuntu ga zagotavlja paket xrdp.
Seje GNOME prek xrdp so lahko na nekaterih različicah Ubunta nestabilne, zlasti če je omogočen Wayland. Xfce na splošno zagotavlja zanesljivejšo izkušnjo oddaljenega namizja.
Onemogočite Wayland
xrdp zahteva Xorg backend. Odprite konfiguracijsko datoteko GDM:
nano /etc/gdm3/custom.conf
Poiščite vrstico #WaylandEnable=false, odstranite komentar in shranite datoteko:
WaylandEnable=false
Namestite xrdp
apt install xrdp -y
Omogočite in zaženite storitev:
systemctl enable --now xrdp
Dodajte uporabnika xrdp v skupino ssl-cert
adduser xrdp ssl-cert
Nastavite datoteko za zagon seje
Odprite datoteko /etc/xrdp/startwm.sh in pred zadnjo vrstico exec dodajte naslednje vrstice:
export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR
Odprite vrata požarnega zidu
ufw allow 3389/tcp
Če je mogoče, omejite dostop na določen razpon IP-naslovov: ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
Znova zaženite xrdp
systemctl restart xrdp
Povežite se iz sistema Windows
Pritisnite Win+R, vpišite mstsc in pritisnite Enter. Vnesite IP naslov strežnika in kliknite Poveži.

Na prijavnem zaslonu xrdp pustite sejo kot Xorg in vnesite svoje uporabniško ime in geslo za Ubuntu:

Po prijavi se prikaže oddaljena namizja:

Povezava iz macOS
Namestite Microsoft Remote Desktop iz App Store.
Kliknite »Dodaj računalnik« in vnesite IP-naslov strežnika.
Prijavite se s svojim uporabniškim imenom in geslom za Ubuntu.
Primerjava: VNC proti RDP
| VNC | RDP | |
|---|---|---|
| Protokol | Odprti standard | Microsoft (odprtokodna implementacija prek xrdp) |
| Odjemalec za Windows | Potrebna je programska oprema tretjih ponudnikov | Vgrajen (mstsc) |
| Odjemalec za macOS | Vgrajen (Finder) | Microsoft Remote Desktop (App Store) |
| Šifriranje | Privzeto ni šifriranja (uporaba SSH-tunela) | TLS (upravlja ga xrdp) |
| Zmogljivost | Zmerna | Na splošno bolj tekoče |
| Podpora več uporabnikom | Omejena | Boljša |
Odpravljanje težav
Črn zaslon po prijavi prek RDP — preverite, ali so potrebne spremenljivke okolja dodane v datoteko /etc/xrdp/startwm.sh, kot je opisano zgoraj, in ali je Wayland onemogočen v datoteki /etc/gdm3/custom.conf. Nato ponovno zaženite xrdp: systemctl restart xrdp
VNC povezava zavrnjena — preverite, ali strežnik VNC deluje: vncserver -list. Preverite, ali je v požarnem zidu odprt vrat 5901.
VNC-seja se ne zažene — prekinite sejo in izbrišite zaklenjene datoteke, nato pa ponovno zaženite:
vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1
Povezava se prekine ali se po vnosu gesla v xrdp prikaže siv zaslon — ustvarite ali uredite datoteko ~/.xsessionrc za uporabnika in dodajte:
export XDG_SESSION_TYPE=x11
Prav tako se prepričajte, da uporabnik ni hkrati prijavljen v lokalno namizno sejo — pred povezovanjem prek xrdp se odjavite iz lokalne seje.
Napaka pri avtentifikaciji v xrdp — preverite, ali se prijavljate z veljavnim uporabniškim imenom in geslom sistema Ubuntu, ne z geslom VNC.
xrdp se poveže, a se takoj odklopi — preverite stanje obeh storitev:
systemctl status xrdp systemctl status xrdp-sesman
GNOME se ne more zagnati prek VNC — v Ubuntu 24.04 boste morda morali ločeno namestiti paket xorg: apt install xorg -y