# VNC-Server unter Ubuntu 24.04 einrichten: Schritt für Schritt

Mit einem VNC-Server können Sie unter Ubuntu 24.04 eine grafische Desktopoberfläche aus der Ferne steuern und Ihren Server komfortabel per Remote-Zugriff verwalten. Die Einrichtung ermöglicht es Ihnen, Programme zu bedienen, Einstellungen vorzunehmen oder Dateien zu verwalten, als säßen Sie direkt vor dem Rechner.

## Schritt 1: Voraussetzungen prüfen

Für die Installation eines VNC-Servers benötigen Sie zunächst ein geeignetes System wie Ubuntu 24.04 und Zugriff auf das Terminal. Der Zugriff kann lokal oder per SSH erfolgen, beispielsweise über einen [VPS](https://www.ionos.at/digitalguide/server/knowhow/was-ist-ein-virtual-private-server-vps/) oder einen [Dedicated Server](https://www.ionos.at/digitalguide/server/knowhow/was-ist-ein-dedizierter-server/). Außerdem sollten Sie über ein Benutzerkonto mit [sudo](https://www.ionos.at/digitalguide/server/konfiguration/linux-sudo-befehl/)-Rechten verfügen, damit sich benötigte Pakete installieren lassen.

Damit die grafische Fernsteuerung funktioniert, muss eine **Desktopumgebung** vorhanden sein. Falls auf Ihrem Server noch keine grafische Oberfläche installiert ist, können Sie beispielsweise eine schlanke Umgebung wie XFCE nachinstallieren. Diese benötigt deutlich weniger Ressourcen als umfangreiche Desktops wie GNOME und eignet sich daher besonders gut für Server.

Zusätzlich benötigen Sie einen **VNC-Client** auf Ihrem lokalen Rechner. Programme wie RealVNC Viewer oder TigerVNC Viewer ermöglichen die Verbindung zum Server über die [IP-Adresse](https://www.ionos.at/digitalguide/server/knowhow/was-ist-eine-ip-adresse/). Eine Freigabe des VNC-Ports in der Firewall ist nicht erforderlich, wenn Sie die Verbindung über einen SSH-Tunnel herstellen.

## Schritt 2: System aktualisieren

Stellen Sie vor Beginn der Installation sicher, dass Ihr System auf dem aktuellen Stand ist. Nutzen Sie hierzu folgende Terminalbefehle:

```bash
sudo apt update
sudo apt upgrade -y
```

## Schritt 3: TigerVNC installieren

Unter Ubuntu 24.04 empfiehlt sich die Nutzung von TigerVNC, da dieses Paket aktiv gepflegt wird und eine stabile Verbindung ermöglicht. Die Open-Source-Software eignet sich zur Einrichtung von VNC-Servern und ermöglicht den Zugriff auf eine grafische Linux-Oberfläche. Sie gilt als stabil, performant und wird regelmäßig gepflegt. TigerVNC unterstützt verschlüsselte Verbindungen und lässt sich vergleichsweise einfach konfigurieren, weshalb die Lösung auch für Einsteigerinnen und Einsteiger gut geeignet ist. Installieren Sie den VNC-Server mit folgendem Befehl:

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

Nach der Installation steht der Befehl `vncserver` zur Verfügung.

## Schritt 4: VNC-Passwort festlegen

Starten Sie den VNC-Server zum ersten Mal, um ein [sicheres Passwort](https://www.ionos.at/digitalguide/server/sicherheit/sensible-daten-durch-ein-sicheres-passwort-schuetzen/) zu vergeben:

```bash
vncpasswd
```

Sie werden aufgefordert, ein Passwort festzulegen, wobei nur die ersten acht Zeichen berücksichtigt werden. Anschließend können Sie optional ein reines Ansichtspasswort festlegen.

Nach dem ersten Start wird automatisch eine grundlegende Konfiguration erstellt. Beenden Sie anschließend die Sitzung wieder:

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

## Schritt 5: VNC-Startkonfiguration erstellen

Damit beim Start automatisch die gewünschte Desktopumgebung geladen wird, erstellen Sie eine **Konfigurationsdatei**. Wir nutzen hierzu den Texteditor nano, Sie können aber jeden beliebigen Texteditor hierzu nutzen.

```bash
nano ~/.vnc/xstartup
```

Fügen Sie folgenden Inhalt in die Datei ein:

```txt
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -r "$HOME/.Xresources" ] && xrdb "$HOME/.Xresources"
exec startxfce4
```

Speichern Sie anschließend die Datei und beenden Sie den Editor. Die Konfiguration sorgt dafür, dass beim Aufbau einer Verbindung automatisch die XFCE-Oberfläche gestartet wird. Machen Sie die Datei nun mit folgendem Befehl ausführbar:

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

## Schritt 6: VNC-Server starten

Starten Sie nun den VNC-Server erneut:

```bash
vncserver :1
```

Mit diesem Befehl wird eine neue VNC-Sitzung mit der Display-Nummer `:1` gestartet. Jede Display-Nummer entspricht dabei einer eigenen grafischen Sitzung und einem **festen Netzwerkport**.

Nach dem Start sollten Sie eine Beispielausgabe ähnlich der folgenden sehen:

```bash
new Xtigervnc server 'server:1 (user)' on port 5901
```

Die Anzeige `:1` entspricht dem Netzwerkport 5901, über den die Verbindung hergestellt wird. Die Portnummer ergibt sich aus der Display-Nummer: Display `:1` verwendet Port 5901, Display `:2` würde beispielsweise Port 5902 verwenden. Diese Angaben benötigen Sie später für die Verbindung mit Ihrem VNC-Client.

## Schritt 7: Verbindung zum VNC-Server herstellen

Um eine sichere Verbindung zum VNC-Server herzustellen, wird ein sogenannter SSH-Tunnel verwendet. Dabei wird die VNC-Verbindung durch eine verschlüsselte SSH-Verbindung geleitet, sodass der VNC-Port nicht direkt im Internet erreichbar sein muss. Öffnen Sie zunächst ein Terminal auf Ihrem lokalen Rechner und stellen Sie die Verbindung zum Server mit folgendem Befehl her:

```bash
ssh -L 5901:localhost:5901 USERNAME@IP-ADRESSE
```

Hinweis Die SSH-Verbindung muss **während der gesamten Nutzung aktiv** bleiben, da der Tunnel sonst geschlossen wird. Wenn Sie die Verbindung trennen, wird auch die VNC-Sitzung im Client unterbrochen.

Ersetzen Sie `USERNAME` durch Ihren Benutzernamen auf dem Server und `IP-ADRESSE` durch die öffentliche IP-Adresse Ihres Servers. Nach erfolgreicher Anmeldung bleibt die SSH-Verbindung aktiv und leitet alle Anfragen von Ihrem lokalen Port 5901 an den VNC-Server auf dem Zielsystem weiter.

Starten Sie anschließend den VNC-Client und geben Sie folgende Adresse ein:

```bash
localhost:5901
```

Alternativ können einige VNC-Clients auch die kürzere Schreibweise verwenden:

```bash
localhost:1
```

Beide Varianten verweisen auf dieselbe VNC-Sitzung. Nach dem Verbindungsaufbau werden Sie zur Eingabe des zuvor festgelegten VNC-Passworts aufgefordert. Anschließend sollte die grafische Desktopoberfläche Ihres Ubuntu-Systems im VNC-Fenster erscheinen und kann wie ein normaler Desktop bedient werden.

Hinweis TigerVNC unterstützt verschlüsselte Verbindungen über TLS (z. B. Security-Type `TLSVnc`), die jedoch explizit über die Option `-SecurityTypes` aktiviert werden müssen. Ohne diese Angabe nutzt der `tigervncserver`-Wrapper nur `VncAuth` und lauscht standardmäßig ausschließlich auf `localhost` (127.0.0.1), der VNC-Port ist also von außen nicht direkt erreichbar. Erst mit `-localhost no` wird der Dienst auf allen Netzwerkinterfaces geöffnet. Für den Fernzugriff empfiehlt sich deshalb der SSH-Tunnel: Er erlaubt die Verbindung, ohne den VNC-Port nach außen öffnen zu müssen, und sichert die Übertragung zusätzlich durch Verschlüsselung und starke Authentifizierung ab.

## Schritt 8: VNC-Server automatisch starten (optional)

Damit der VNC-Server nach einem Neustart automatisch verfügbar ist, können Sie einen sogenannten `systemd`-Dienst einrichten. Dadurch startet die VNC-Sitzung automatisch beim Hochfahren des Systems, ohne dass Sie den Server manuell starten müssen. Erstellen Sie zunächst eine Service-Datei:

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

Fügen Sie in die erstellte Datei den folgenden Inhalt ein:

```txt
[Unit]
Description=VNC Server
After=network.target
[Service]
Type=forking
User=USERNAME
WorkingDirectory=/home/USERNAME
ExecStart=/usr/bin/vncserver -geometry 1280x800 -localhost yes :%i
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
PIDFile=/home/USERNAME/.vnc/%H:%i.pid
[Install]
WantedBy=multi-user.target
```

Ersetzen Sie dabei `USERNAME` durch Ihren tatsächlichen Benutzernamen auf dem Server. Auf diese Weise wird sichergestellt, dass der VNC-Server mit dem richtigen Benutzerkonto gestartet wird. Laden Sie anschließend die `systemd`-Konfiguration neu und aktivieren Sie den Dienst:

```bash
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1
```

Starten Sie den Dienst anschließend manuell:

```bash
sudo systemctl start vncserver@1
```

Mit folgendem Befehl können Sie prüfen, ob der Dienst korrekt läuft:

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

Wenn der Dienst aktiv ist, steht Ihnen der VNC-Server nach jedem Neustart automatisch zur Verfügung. Sie können sich dann jederzeit per Remote-Desktop verbinden und die grafische Oberfläche Ihres Ubuntu-Systems bequem aus der Ferne nutzen.


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