# Sådan installeres en VNC-server på Ubuntu 22.04

Når du installerer en VNC-server på Ubuntu 22.04, får du mulighed for at få adgang **til** dit **Linux-skrivebord, uanset hvor du befinder dig**. Uanset om du arbejder hjemmefra, er på forretningsrejse eller blot ønsker at arbejde fra et andet rum – med en VNC-server har du altid adgang til dit arbejdsmiljø.

## Hvad er fordelene ved en VNC-server på Ubuntu 22.04?

Brug af en VNC-server på Ubuntu 22.04 giver mange muligheder for at gøre det daglige arbejde meget nemmere. Med en VNC-server kan du få adgang til dit Ubuntu-skrivebord **fra hvor som helst i verden**. Det betyder, at du ikke behøver at sidde ved dit skrivebord for at administrere dine programmer og data. Denne fleksibilitet er yderst praktisk for fjernarbejdere, forretningsrejsende eller folk, der ønsker at arbejde fra forskellige steder. Desuden er det forholdsvis nemt at opsætte en VNC-server, så selv mindre teknisk kyndige brugere hurtigt kan etablere en fungerende fjernforbindelse.

En VNC-server fremmer også samarbejdet i teams. Den giver flere medlemmer **mulighed for samtidig adgang til den samme skrivebord**. Det gør det muligt for teams at arbejde effektivt sammen uanset deres placering, at samarbejde om projekter og løse problemer i realtid. IT-administratorer og support kan også løse fejl eksternt uden at skulle være til stede på stedet. Det sparer tid og omkostninger til rejser og ekstra aftaler. Med hensyn til sikkerhed har mange VNC-servere på Ubuntu 22.04 solide sikkerhedsfunktioner. Krypterede forbindelser og forskellige godkendelsesmetoder beskytter dine data og sikrer, at kun autoriserede personer har adgang til dit system.

## Dette er kravene til en VNC-server på Ubuntu 22.04

Først og fremmest skal du have en fungerende installation af Ubuntu 22.04. Mange VNC-servere er fuldt kompatible med dette operativsystem, og alle nødvendige pakker og afhængigheder findes i de officielle Ubuntu-pakkelagre. Sørg for, at dit system er opdateret for at undgå eventuelle problemer under installationen. Generelt skal du opfylde følgende krav:

- **Ubuntu 22.04:** En fungerende og opdateret installation af Ubuntu 22.04.
- **Netværksforbindelse:** En stabil Ethernet- eller WLAN-forbindelse til fjernadgang.
- **Root-rettigheder:** VNC-serverbrugeren skal have root-rettigheder til installation og konfiguration.
- **Softwarepakke:** Installation af VNC-serversoftware, såsom TigerVNC, RealVNC eller x11vnc fra Ubuntu-repositorierne.
- **Desktopmiljø:** Det krævede desktopmiljø (f.eks. GNOME, XFCE) skal være installeret.
- **Firewall-konfiguration:** Åbn port 5900, eller juster firewall-reglerne for at tillade VNC-trafik.

## Sådan installeres en VNC-server på Ubuntu 22.04

Der findes mange muligheder, når det gælder valg af VNC-server og skrivebordsmiljø. I denne vejledning installerer vi de nyeste pakker til XFCE-skrivebordsmiljøet og TigerVNC-pakken, som findes i det officielle **Ubuntu-arkiv**. Både XFCE og TigerVNC kræver få ressourcer og yder hurtig ydeevne. Derfor forbliver VNC-forbindelsen flydende og stabil, selv ved langsommere internetforbindelser.

### Trin 1: Opdater pakker

Før du går i gang med installationen, skal du sikre dig, at dit system er opdateret. Udfør følgende kommandoer for at installere alle tilgængelige opdateringer:

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

### Trin 2: Installer skrivebordsmiljøet

VNC-serveren kræver et skrivebordsmiljø, da den leverer skrivebordet via netværket. Ubuntu 22.04 leveres som standard med GNOME, men du kan også installere andre skrivebordsmiljøer, såsom XFCE, som er særligt ressourcebesparende.

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

Pakken `xfce4-goodies` indeholder yderligere nyttige værktøjer og plugins til XFCE.

### Trin 3: Opret en ny bruger

Når du har installeret skrivebordsmiljøet, skal du oprette en ny bruger til at betjene VNC-serveren. Af sikkerhedsmæssige årsager anbefales det ikke at gøre dette som **root-bruger**. I dette tilfælde opretter vi en ny bruger ved navn »john« og giver ham de nødvendige rettigheder til at køre VNC-serveren under denne brugerkonto.

Først skal du oprette brugeren »john« og tildele ham en adgangskode. Det kan du gøre med følgende kommandoer:

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

Kommandoen `sudo useradd -m -s /bin/bash john` opretter en ny bruger ved navn »john« og opretter en hjemmemappe, hvor standard-shell indstilles til `/bin/bash`. Brug derefter `sudo passwd john` til at indstille en adgangskode for denne bruger. Det er vigtigt at vælge en sikker adgangskode.

Når brugeren er oprettet, skal du føje vedkommende til sudo-gruppen, så vedkommende kan udføre administrative kommandoer. Det gør du med følgende kommando:

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

Denne kommando giver ‘john’ mulighed for at udføre kommandoer med udvidede rettigheder via sudo.

For at kontrollere, om »john« har de rette rettigheder, skal du logge ind som »john« og teste root-rettighederne. Det gør du ved at køre følgende kommandoer:

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

Ved at taste `su - john` skifter du til brugeren »john«, og ved at taste `sudo su` får du root-rettigheder, forudsat at adgangskoden er indtastet korrekt. Hvis godkendelsen lykkes, vises der en prompt som f.eks. `root@hostname`, der bekræfter, at du har root-rettigheder.

### Trin 4: Installer VNC-serversoftwaren

I denne vejledning bruger vi **TigerVNC**, da det er en udbredt og velunderstøttet VNC-server. Installer TigerVNC med denne kommando:

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

Denne installation installerer VNC-serversoftwaren samt nogle nødvendige standardpakker, der kræves for at programmet kan fungere.

### Trin 5: Opret en VNC-serverinstans

Inden du kan starte VNC-serveren, skal du oprette en adgangskode, som er nødvendig for at få adgang til VNC-serveren. Indtast følgende kommando i terminalen:

```bash
vncserver
```

Du bliver bedt om at indtaste og bekræfte en adgangskode. Denne adgangskode beskytter adgangen til din VNC-server. Du kan også vælge en indstilling, der opretter en adgangskode til visning, hvis du ønsker, at andre brugere kun skal kunne se skærmen, men ikke have kontrol over den.

Når serveren startes for første gang, oprettes der en ny skærm, typisk `:1`. I udskriften vises det nøjagtige nummer på den skærm, du kan bruge.

Her er et eksempel:

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

Notér skærmnummeret (i dette tilfælde `:1`), da du skal bruge det for at oprette forbindelse til VNC-klienten.

### Trin 6: Konfigurer VNC-serverinstansen

Opret en konfigurationsfil til VNC-serveren for at sikre, at XFCE indlæses, når VNC-serveren startes. Filen `~/.vnc/xstartup` kan f.eks. have følgende indhold:

```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 &
```

Filen bliver eksekverbar, når du bruger denne kommando:

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

### Trin 7: Kør VNC-serveren som en systemtjeneste

Ved at konfigurere VNC-serveren som en Systemd-tjeneste kan du starte, stoppe og genstarte den på samme måde som enhver anden tjeneste. Du kan også bruge Systemd-kommandoer til at starte VNC-serveren automatisk, når systemet starter op.

Start med at oprette en ny fil i et tekstredigeringsprogram efter eget valg:

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

Indsæt følgende indhold i filen:

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

Erstat `<your-username>` med dit egentlige brugernavn. Indlæs den nye servicefil, og aktiver tjenesten:

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

Kommandoen `sudo systemctl enable vncserver@1.service` aktiverer VNC-servicetjenesten for skærm `:1`, så den starter automatisk næste gang systemet startes. Til dette bruges systemd-tjenestefilen `vncserver@.service`, hvor `%i` erstattes af `1`. Dette gør det muligt at konfigurere VNC-serveren til skærm `:1` og sikre, at den starter hver gang systemet starter op. Kommandoen opretter de nødvendige genveje for at inkludere tjenesten i den korrekte opstartsproces.

### Trin 8: Konfigurer brandmuren

Hvis du har aktiveret en firewall på din Ubuntu-server, skal du åbne VNC-porten for at tillade fjernforbindelser. Som standard bruger VNC-serveren port 5900 efterfulgt af skærmnummeret. For skærm `:1` er porten altså 5901.

Åbn port `ufw`:

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

Kontroller firewall-reglerne for at sikre dig, at porten er åben:

```bash
sudo ufw status
```

Her er et eksempel på et muligt resultat:

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

### Trin 9: Opret forbindelse til VNC-serveren

For at oprette forbindelse til din VNC-server skal du have en VNC-klient installeret på din lokale computer. Populære VNC-klienter er **RealVNC, TigerVNC Viewer og TightVNC Viewer**. For at øge sikkerheden på din VNC-forbindelse bør du overveje at bruge en krypteret forbindelse via SSH. Dette sikrer kommunikationen mellem din VNC-klient og serveren.

Opret en forbindelse til din server via SSH, og videresend VNC-porten:

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

- `ssh`: Kommandoen til oprettelse af en sikker forbindelse til en fjernserver via SSH-protokollen, som overfører data i krypteret form.
- `-L 59000:localhost:5901`: Aktiverer lokal portvideresendelse. Trafik fra port 59000 på din lokale computer videresendes gennem SSH-tunnelen til port 5901 på fjernserveren. `localhost` henviser til den fjernserver, hvor VNC-serveren kører.
- `C`: Aktiverer komprimering af datatrafik. Dette kan forbedre transmissionshastigheden og reducere båndbreddeforbruget, især ved langsomme forbindelser.
- `N`: Forhindrer, at kommandoer udføres på fjernserveren. Denne tilstand er nyttig, hvis du kun vil oprette tunnelen uden at starte en shell på fjernserveren.
- `-l <your-username>`: Angiver det brugernavn, du logger ind på fjernserveren med.
- `<server-ip>`: IP-adressen eller værtsnavnet på den fjernserver, som du vil oprette forbindelse til via SSH.

Note Erstat `<your-username>` med dit brugernavn og `<server-ip>` med din servers IP-adresse.

Opret forbindelse til den lokale port 5901, som du har videresendt via SSH-tunnelen, ved at indtaste `localhost:5901` i din VNC-viewer.

Denne metode sikrer, at din VNC-forbindelse oprettes via en krypteret SSH-forbindelse og dermed er mere sikker.

### Trin 10: Administrer VNC-serveren

Brug følgende kommandoer til at stoppe eller genstarte VNC-serveren:

**Stop VNC-serveren:**

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

**Genstart VNC-serveren:**

```bash
vncserver :1
```

**Afslut VNC-serveren (med systemd):**

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

**Tjek status:**

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

Et muligt resultat kunne være:

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

### Trin 11: Fejlfinding

Hvis du støder på problemer, skal du tjekke følgende:

- **Logfiler:** Logfilerne for VNC-serveren findes i `~/.vnc`. Gennemgå disse filer for fejlmeddelelser, der kan tyde på eventuelle problemer.
- **Netværksforbindelse:** Sørg for, at ingen netværksbegrænsninger eller firewalls blokerer adgangen til VNC-porten.
- **Konfigurationsfiler:** Sørg for, at der ikke er fejl i konfigurationen af skrivebordsmiljøet i filen `~/.vnc/xstartup`.

Du har nu mulighed for nemt at administrere dine filer og programmer samt dine systemindstillinger via en VNC-server. Hvis du foretrækker at bruge Windows, anbefaler vi vores vejledning[»Installer VNC-server på Windows](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/vnc-server-til-windows/)«.


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/server/konfiguration/vnc-server-ubuntu-2204/](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/vnc-server-ubuntu-2204/) for AI/LLM consumption.