Na­me­sti­tev strežnika VNC v sistemu Ubuntu 22.04 vam omogoča dostop do namizja v sistemu Linux od kjerkoli. Ne glede na to, ali delate od doma, ste na poslovnem potovanju ali pa preprosto želite delati iz druge sobe – s stre­žni­kom VNC boste vedno imeli dostop do svojega delovnega okolja.

Kakšne so prednosti strežnika VNC v sistemu Ubuntu 22.04?

Uporaba strežnika VNC v sistemu Ubuntu 22.04 ponuja številne možnosti za precej lažje vsa­ko­dnev­no delo. S stre­žni­kom VNC lahko dostopate do namizja sistema Ubuntu od kjerkoli na svetu. To pomeni, da vam za upra­vlja­nje programov in podatkov ni treba biti za pisalno mizo. Ta pri­la­go­dlji­vost je izjemno priročna za zaposlene na daljavo, poslovne potnike ali ljudi, ki želijo delati z različnih lokacij. Poleg tega je na­sta­vi­tev VNC strežnika relativno enostavna, tako da lahko tudi manj teh­no­lo­ško podkovani upo­rab­ni­ki hitro vzpo­sta­vi­jo delujočo oddaljeno povezavo.

VNC-strežnik spodbuja tudi so­de­lo­va­nje znotraj ekip. Omogoča več članom hkratni dostop do istega namizja. To ekipam omogoča učin­ko­vi­to so­de­lo­va­nje ne glede na lokacijo, skupno delo na projektih in reševanje težav v realnem času. IT-skrbniki in podporna služba lahko napake od­pra­vlja­jo tudi na daljavo, ne da bi morali biti prisotni na kraju samem. To prihrani čas ter stroške potovanj in dodatnih sestankov. Kar zadeva varnost, imajo številni VNC-strežniki na Ubuntu 22.04 za­ne­slji­ve možnosti. Šifrirane povezave in različne metode av­ten­ti­fi­ka­ci­je ščitijo vaše podatke in za­go­ta­vlja­jo, da imajo dostop do vašega sistema le po­o­bla­šče­ne osebe.

To so zahteve za strežnik VNC v sistemu Ubuntu 22.04

Najprej po­tre­bu­je­te delujočo na­me­sti­tev sistema Ubuntu 22.04. Mnogi strežniki VNC so popolnoma zdru­žlji­vi s tem ope­ra­cij­skim sistemom, vsi potrebni paketi in od­vi­sno­sti pa so na voljo v uradnih skla­di­ščih Ubuntuja. Pre­pri­čaj­te se, da je vaš sistem po­so­do­bljen, da se izognete mo­re­bi­tnim težavam med na­me­sti­tvi­jo. Na splošno morate iz­pol­nje­va­ti naslednje zahteve:

  • Ubuntu 22.04: Delujoča in po­so­do­blje­na na­me­sti­tev sistema Ubuntu 22.04.
  • Omrežna povezava: Stabilna ether­ne­tna ali brezžična povezava za oddaljeni dostop.
  • Pravice root: Uporabnik strežnika VNC potrebuje pravice root za na­me­sti­tev in kon­fi­gu­ra­ci­jo.
  • Pro­gram­ski paket: Na­me­sti­tev pro­gram­ske opreme za VNC strežnik, kot so TigerVNC, RealVNC ali x11vnc iz skladišč Ubuntu.
  • Namizno okolje: Nameščeno mora biti zahtevano namizno okolje (npr. GNOME, XFCE).
  • Kon­fi­gu­ra­ci­ja požarnega zidu: Odprite vrata 5900 ali pri­la­go­di­te pravila požarnega zidu, da omogočite promet VNC.

Kako namestiti strežnik VNC v sistemu Ubuntu 22.04

Pri izbiri strežnika VNC in namiznega okolja je na voljo veliko možnosti. V tem vodiču bomo namestili naj­no­vej­še pakete za namizno okolje XFCE in paket TigerVNC, ki sta na voljo v uradnem skladišču Ubuntu. XFCE in TigerVNC porabita malo virov in delujeta hitro. Zato povezava VNC ostaja tekoča in stabilna tudi pri po­ča­snej­ših in­ter­ne­tnih povezavah.

1. korak: Posodobi pakete

Preden začnete z na­me­sti­tvi­jo, se pre­pri­čaj­te, da je vaš sistem po­so­do­bljen. Izvedite naslednje ukaze, da namestite vse raz­po­lo­žlji­ve po­so­do­bi­tve:

sudo apt update
sudo apt upgrade
bash

Korak 2: Namestite namizno okolje

VNC-strežnik potrebuje namizno okolje, saj prek omrežja za­go­ta­vlja namizje. Ubuntu 22.04 je privzeto opremljen z GNOME-om, vendar lahko namestite tudi druga namizna okolja, kot je na primer XFCE, ki je še posebej lahkotno.

sudo apt install xfce4 xfce4-goodies
bash

Paket xfce4-goodies vsebuje dodatna uporabna orodja in vtičnike za XFCE.

Korak 3: Ustvarite novega upo­rab­ni­ka

Ko namestite namizno okolje, morate ustvariti novega upo­rab­ni­ka za upra­vlja­nje strežnika VNC. Zaradi varnosti je pri­po­ro­člji­vo, da tega ne počnete kot uporabnik root. V tem primeru bomo ustvarili novega upo­rab­ni­ka z imenom »john« in mu dodelili potrebna do­vo­lje­nja za zagon strežnika VNC pod tem upo­rab­ni­škim računom.

Najprej morate ustvariti upo­rab­ni­ka »john« in mu dodeliti geslo. To lahko storite z na­sle­dnji­mi ukazi:

sudo useradd -m -s /bin/bash john
sudo passwd john
bash

Ukaz sudo useradd -m -s /bin/bash john ustvari novega upo­rab­ni­ka »john« in ustvari njegov domači imenik ter kot privzeti lupinski program nastavi /bin/bash. Nato z sudo passwd john nastavite geslo za tega upo­rab­ni­ka. Izredno pomembno je, da izberete varno geslo.

Ko je uporabnik ustvarjen, ga morate dodati v skupino sudo, da bo lahko izvajal upra­vi­telj­ske ukaze. To storite z na­sle­dnjim ukazom:

sudo usermod -aG sudo john
bash

Ta ukaz omogoča upo­rab­ni­ku »john«, da izvaja ukaze z raz­šir­je­ni­mi pravicami, ki jih za­go­ta­vlja sudo.

Če želite preveriti, ali ima uporabnik »john« ustrezna po­o­bla­sti­la, se prijavite kot »john« in pre­iz­ku­si­te pravice skrbnika. Za to izvedite naslednje ukaze:

su - john
sudo su
bash

Če vnesete su - john, se pre­klo­pi­te na upo­rab­ni­ka »john«, če pa vnesete sudo su, pridobite pravice root, če je bilo geslo vneseno pravilno. Če je av­ten­ti­fi­ka­ci­ja uspešna, se prikaže poziv, kot je root@hostname, ki potrjuje, da imate pravice root.

4. korak: Namestite pro­gram­sko opremo strežnika VNC

V tem navodilu bomo uporabili TigerVNC, saj gre za široko razširjen in dobro podprt VNC-strežnik. TigerVNC namestite s tem ukazom:

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
bash

Ta vnos namesti pro­gram­sko opremo strežnika VNC ter nekaj potrebnih splošnih paketov, ki so potrebni za delovanje.

Korak 5: Ustvarite primer VNC-strežnika

Preden lahko zaženete strežnik VNC, morate nastaviti geslo, ki je potrebno za dostop do strežnika VNC. V terminalu vnesite naslednji ukaz:

vncserver
bash

Prosili vas bodo, da vnesete in potrdite geslo. To geslo varuje dostop do vašega strežnika VNC. Izberete lahko tudi možnost na­sta­vi­tve gesla za samo ogled, če želite, da drugi upo­rab­ni­ki zaslon le vidijo, vendar nimajo nadzora nad njim.

Ob prvem zagonu strežnika se ustvari nov zaslon, običajno :1. Izpis prikazuje točno številko zaslona, ki ga lahko uporabite.

Tukaj je primer:

New 'X' desktop is your-machine-name:1
bash

Zapišite si številko zaslona (v tem primeru :1), saj jo boste po­tre­bo­va­li za povezavo z od­je­mal­cem VNC.

Korak 6: Nastavite primerka strežnika VNC

Ustvarite kon­fi­gu­ra­cij­sko datoteko za strežnik VNC, da se ob zagonu strežnika VNC zagotovi zagon okolja XFCE. Datoteka ~/.vnc/xstartup lahko na primer vsebuje naslednjo vsebino:

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
bash

Datoteka postane iz­ve­dlji­va, ko uporabite ta ukaz:

chmod +x ~/.vnc/xstartup
bash

7. korak: Zaženi strežnik VNC kot sistemsko storitev

Če VNC-strežnik nastavite kot storitev Systemd, ga lahko zaženete, ustavite in ponovno zaženete tako kot katero koli drugo storitev. Z ukazi Systemd lahko VNC-strežnik tudi samodejno zaženete ob zagonu sistema.

Najprej ustvarite novo datoteko v ure­je­val­ni­ku besedil po vaši izbiri:

nano /etc/systemd/system/vncserver@.service
bash

V datoteko vnesite naslednjo vsebino:

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your-username>
PAMName=login
PIDFile=/home/<your-username>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
bash

<your-username> za­me­njaj­te s svojim dejanskim upo­rab­ni­škim imenom. Naložite novo datoteko storitve in storitev ak­ti­vi­raj­te:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@:1
bash

Ukaz sudo systemctl enable vncserver@1.service aktivira storitev VNC strežnika za zaslon :1, tako da se ta samodejno zažene ob na­sle­dnjem zagonu sistema. Za to se uporabi datoteka storitve systemd vncserver@.service, v kateri se %i nadomesti z 1. To omogoča kon­fi­gu­ra­ci­jo VNC strežnika za zaslon :1 in za­go­ta­vlja, da se ta zažene ob vsakem zagonu sistema. Ukaz ustvari potrebne bližnjice, da se storitev vključi v ustrezen zagonski postopek.

Korak 8: Nastavite požarni zid

Če ste na svojem strežniku Ubuntu omogočili požarni zid, morate odpreti VNC-vrata, da omogočite oddaljene povezave. Privzeto VNC-strežnik uporablja vrata 5900, ki jim sledi številka zaslona. Za zaslon :1 so to torej vrata 5901.

Odpri vrata na števil ufw:

sudo ufw allow 5901/tcp
bash

Preverite pravila požarnega zidu in se pre­pri­čaj­te, da je vrata odprta:

sudo ufw status
bash

Tukaj je primer možnega izpisa:

Status: active
To                              Action        From
--                                ------            ----
22/tcp                    	ALLOW       Anywhere
80/tcp                  	ALLOW       Anywhere
443/tcp                  	ALLOW       Anywhere
5901/tcp                	ALLOW       Anywhere
22/tcp (v6)             	ALLOW       Anywhere (v6)
80/tcp (v6)             	ALLOW       Anywhere (v6)
443/tcp (v6)           		ALLOW       Anywhere (v6)
5901/tcp (v6)         		ALLOW       Anywhere (v6)
bash

9. korak: Povežite se s stre­žni­kom VNC

Za vzpo­sta­vi­tev povezave z vašim stre­žni­kom VNC po­tre­bu­je­te odjemalca VNC na svojem lokalnem ra­ču­nal­ni­ku. Pri­lju­blje­ni odjemalci VNC so RealVNC, TigerVNC Viewer in TightVNC Viewer. Da bi povečali varnost vaše povezave VNC, raz­mi­sli­te o uporabi šifrirane povezave prek SSH. To zaščiti ko­mu­ni­ka­ci­jo med vašim od­je­mal­cem VNC in stre­žni­kom.

Vzpo­sta­vi­te povezavo s stre­žni­kom prek SSH in pre­u­sme­ri­te VNC-vrata:

ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>
bash
  • ssh: Ukaz za varno povezavo z od­da­lje­nim stre­žni­kom prek protokola SSH, ki podatke prenaša v šifrirani obliki.
  • -L 59000:localhost:5901: Omogoča lokalno pre­u­smer­ja­nje vrat. Promet iz vrat 59000 na vašem lokalnem ra­ču­nal­ni­ku se preusmeri skozi SSH-tunel na vrata 5901 na od­da­lje­nem strežniku. localhost se nanaša na oddaljeni strežnik, na katerem teče strežnik VNC.
  • C: Vklopi stiskanje po­dat­kov­ne­ga prometa. To lahko izboljša hitrost prenosa in zmanjša porabo pasovne širine, še posebej pri počasnih povezavah.
  • N: Prepreči izvajanje ukazov na od­da­lje­nem strežniku. Ta način je uporaben, če želite le vzpo­sta­vi­ti tunel, ne da bi zagnali lupino na od­da­lje­nem strežniku.
  • -l <your-username>: Določa upo­rab­ni­ško ime, s katerim se prijavite na oddaljeni strežnik.
  • <server-ip>: IP-naslov ali ime go­sti­te­lja od­da­lje­ne­ga strežnika, s katerim se želite povezati prek SSH.
Note

<your-username> za­me­njaj­te s svojim upo­rab­ni­škim imenom, <server-ip> pa z IP-naslovom vašega strežnika.

Povežite se z lokalnim vratom 5901, ki ste ga pre­u­sme­ri­li prek SSH-tunela, tako da v svojem VNC-pre­gle­do­val­ni­ku vnesete localhost:5901.

Ta metoda za­go­ta­vlja, da se vaša povezava VNC vzpostavi prek šifrirane povezave SSH in je zato varnejša.

Korak 10: Upra­vlja­nje strežnika VNC

Za za­u­sta­vi­tev ali ponovni zagon strežnika VNC uporabite naslednje ukaze:

Ustavite strežnik VNC:

vncserver -kill :1
bash

Ponovni zagon strežnika VNC:

vncserver :1
bash

Zapri strežnik VNC (s sistemom systemd):

sudo systemctl stop vncserver@:1
bash

Preveri stanje:

sudo systemctl status vncserver@1
bash

Eden od možnih izhodov bi lahko bil:

vncserver@1.service - Start TigerVNC server at startup
      Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-07-29 16:57:26 UTC; 20s ago
     Process: 97088 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
     Process: 97092 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
    Main PID: 97103 (Xtigervnc)
        Tasks: 77 (limit: 4665)
      Memory: 146.7M
          CPU: 4.459s
      CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
. . .
bash

Korak 11: Od­pra­vlja­nje težav

Če naletite na težave, preverite naslednje:

  • Dnevniški datoteki: Dnevniške datoteke strežnika VNC se nahajajo v ~/.vnc. Preverite te datoteke za morebitna sporočila o napakah, ki bi lahko na­ka­zo­va­la na težave.
  • Omrežna povezava: Preverite, ali omrežne omejitve ali požarni zidovi ne blokirajo dostopa do VNC-vrata.
  • Kon­fi­gu­ra­cij­ske datoteke: Preverite, ali v datoteki ~/.vnc/xstartup ni napak v kon­fi­gu­ra­ci­ji namiznega okolja.

Zdaj imate možnost, da prek strežnika VNC enostavno upra­vlja­te svoje datoteke in programe ter sistemske na­sta­vi­tve. Če raje upo­ra­blja­te Windows, vam pri­po­ro­ča­mo naš navodila»Na­me­sti­tev strežnika VNC v sistemu Windows«.

Go to Main Menu