# Kako namestiti strežnik VNC v sistemu Ubuntu 22.04

Namestitev 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žnikom 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 vsakodnevno delo. S strežnikom VNC lahko dostopate do namizja sistema Ubuntu **od kjerkoli na svetu**. To pomeni, da vam za upravljanje programov in podatkov ni treba biti za pisalno mizo. Ta prilagodljivost je izjemno priročna za zaposlene na daljavo, poslovne potnike ali ljudi, ki želijo delati z različnih lokacij. Poleg tega je nastavitev VNC strežnika relativno enostavna, tako da lahko tudi manj tehnološko podkovani uporabniki hitro vzpostavijo delujočo oddaljeno povezavo.

VNC-strežnik spodbuja tudi sodelovanje znotraj ekip. Omogoča več članom **hkratni dostop do istega namizja**. To ekipam omogoča učinkovito sodelovanje ne glede na lokacijo, skupno delo na projektih in reševanje težav v realnem času. IT-skrbniki in podporna služba lahko napake odpravljajo 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 zanesljive možnosti. Šifrirane povezave in različne metode avtentifikacije ščitijo vaše podatke in zagotavljajo, da imajo dostop do vašega sistema le pooblaščene osebe.

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

Najprej potrebujete delujočo namestitev sistema Ubuntu 22.04. Mnogi strežniki VNC so popolnoma združljivi s tem operacijskim sistemom, vsi potrebni paketi in odvisnosti pa so na voljo v uradnih skladiščih Ubuntuja. Prepričajte se, da je vaš sistem posodobljen, da se izognete morebitnim težavam med namestitvijo. Na splošno morate izpolnjevati naslednje zahteve:

- **Ubuntu 22.04:** Delujoča in posodobljena namestitev sistema Ubuntu 22.04.
- **Omrežna povezava:** Stabilna ethernetna ali brezžična povezava za oddaljeni dostop.
- **Pravice root:** Uporabnik strežnika VNC potrebuje pravice root za namestitev in konfiguracijo.
- **Programski paket:** Namestitev programske 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).
- **Konfiguracija požarnega zidu:** Odprite vrata 5900 ali prilagodite 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 najnovejš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časnejših internetnih povezavah.

### 1. korak: Posodobi pakete

Preden začnete z namestitvijo, se prepričajte, da je vaš sistem posodobljen. Izvedite naslednje ukaze, da namestite vse razpoložljive posodobitve:

```bash
sudo apt update
sudo apt upgrade
```

### Korak 2: Namestite namizno okolje

VNC-strežnik potrebuje namizno okolje, saj prek omrežja zagotavlja 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.

```bash
sudo apt install xfce4 xfce4-goodies
```

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

### Korak 3: Ustvarite novega uporabnika

Ko namestite namizno okolje, morate ustvariti novega uporabnika za upravljanje strežnika VNC. Zaradi varnosti je priporočljivo, da tega ne počnete kot **uporabnik root**. V tem primeru bomo ustvarili novega uporabnika z imenom »john« in mu dodelili potrebna dovoljenja za zagon strežnika VNC pod tem uporabniškim računom.

Najprej morate ustvariti uporabnika »john« in mu dodeliti geslo. To lahko storite z naslednjimi ukazi:

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

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

Ko je uporabnik ustvarjen, ga morate dodati v skupino sudo, da bo lahko izvajal upraviteljske ukaze. To storite z naslednjim ukazom:

```bash
sudo usermod -aG sudo john
```

Ta ukaz omogoča uporabniku »john«, da izvaja ukaze z razširjenimi pravicami, ki jih zagotavlja sudo.

Če želite preveriti, ali ima uporabnik »john« ustrezna pooblastila, se prijavite kot »john« in preizkusite pravice skrbnika. Za to izvedite naslednje ukaze:

```bash
su - john
sudo su
```

Če vnesete `su - john`, se preklopite na uporabnika »john«, če pa vnesete `sudo su`, pridobite pravice root, če je bilo geslo vneseno pravilno. Če je avtentifikacija uspešna, se prikaže poziv, kot je `root@hostname`, ki potrjuje, da imate pravice root.

### 4. korak: Namestite programsko 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:

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

Ta vnos namesti programsko 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:

```bash
vncserver
```

Prosili vas bodo, da vnesete in potrdite geslo. To geslo varuje dostop do vašega strežnika VNC. Izberete lahko tudi možnost nastavitve gesla za samo ogled, če želite, da drugi uporabniki 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:

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

Zapišite si številko zaslona (v tem primeru `:1`), saj jo boste potrebovali za povezavo z odjemalcem VNC.

### Korak 6: Nastavite primerka strežnika VNC

Ustvarite konfiguracijsko 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:

```bash
#!/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 &
```

Datoteka postane izvedljiva, ko uporabite ta ukaz:

```bash
chmod +x ~/.vnc/xstartup
```

### 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 urejevalniku besedil po vaši izbiri:

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

V datoteko vnesite naslednjo vsebino:

```bash
[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
```

`<your-username>` zamenjajte s svojim dejanskim uporabniškim imenom. Naložite novo datoteko storitve in storitev aktivirajte:

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

Ukaz `sudo systemctl enable vncserver@1.service` aktivira storitev VNC strežnika za zaslon `:1`, tako da se ta samodejno zažene ob naslednjem zagonu sistema. Za to se uporabi datoteka storitve systemd `vncserver@.service`, v kateri se `%i` nadomesti z `1`. To omogoča konfiguracijo VNC strežnika za zaslon `:1` in zagotavlja, 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`:

```bash
sudo ufw allow 5901/tcp
```

Preverite pravila požarnega zidu in se prepričajte, da je vrata odprta:

```bash
sudo ufw status
```

Tukaj je primer možnega izpisa:

```bash
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)
```

### 9. korak: Povežite se s strežnikom VNC

Za vzpostavitev povezave z vašim strežnikom VNC potrebujete odjemalca VNC na svojem lokalnem računalniku. Priljubljeni odjemalci VNC so **RealVNC, TigerVNC Viewer in TightVNC Viewer**. Da bi povečali varnost vaše povezave VNC, razmislite o uporabi šifrirane povezave prek SSH. To zaščiti komunikacijo med vašim odjemalcem VNC in strežnikom.

Vzpostavite povezavo s strežnikom prek SSH in preusmerite VNC-vrata:

```bash
ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>
```

- `ssh`: Ukaz za varno povezavo z oddaljenim strežnikom prek protokola SSH, ki podatke prenaša v šifrirani obliki.
- `-L 59000:localhost:5901`: Omogoča lokalno preusmerjanje vrat. Promet iz vrat 59000 na vašem lokalnem računalniku se preusmeri skozi SSH-tunel na vrata 5901 na oddaljenem strežniku. `localhost` se nanaša na oddaljeni strežnik, na katerem teče strežnik VNC.
- `C`: Vklopi stiskanje podatkovnega 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 oddaljenem strežniku. Ta način je uporaben, če želite le vzpostaviti tunel, ne da bi zagnali lupino na oddaljenem strežniku.
- `-l <your-username>`: Določa uporabniško ime, s katerim se prijavite na oddaljeni strežnik.
- `<server-ip>`: IP-naslov ali ime gostitelja oddaljenega strežnika, s katerim se želite povezati prek SSH.

Note `<your-username>` zamenjajte s svojim uporabniškim imenom, `<server-ip>` pa z IP-naslovom vašega strežnika.

Povežite se z lokalnim vratom 5901, ki ste ga preusmerili prek SSH-tunela, tako da v svojem VNC-pregledovalniku vnesete `localhost:5901`.

Ta metoda zagotavlja, da se vaša povezava VNC vzpostavi prek šifrirane povezave SSH in je zato varnejša.

### Korak 10: Upravljanje strežnika VNC

Za zaustavitev ali ponovni zagon strežnika VNC uporabite naslednje ukaze:

**Ustavite strežnik VNC:**

```bash
vncserver -kill :1
```

**Ponovni zagon strežnika VNC:**

```bash
vncserver :1
```

**Zapri strežnik VNC (s sistemom systemd):**

```bash
sudo systemctl stop vncserver@:1
```

**Preveri stanje:**

```bash
sudo systemctl status vncserver@1
```

Eden od možnih izhodov bi lahko bil:

```bash
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
. . .
```

### Korak 11: Odpravljanje 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 nakazovala na težave.
- **Omrežna povezava:** Preverite, ali omrežne omejitve ali požarni zidovi ne blokirajo dostopa do VNC-vrata.
- **Konfiguracijske datoteke:** Preverite, ali v datoteki `~/.vnc/xstartup` ni napak v konfiguraciji namiznega okolja.

Zdaj imate možnost, da prek strežnika VNC enostavno upravljate svoje datoteke in programe ter sistemske nastavitve. Če raje uporabljate Windows, vam priporočamo naš navodila[»Namestitev strežnika VNC v sistemu Windows](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vnc-streznik-za-windows/)«.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vnc-streznik-ubuntu-2204/](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vnc-streznik-ubuntu-2204/) for AI/LLM consumption.