So installierst du VNC Server Ubuntu 22.04

Virtual Network Computing (VNC) ist ein Protokoll für die gemeinsame Nutzung von Desktops, mit dem du einen Computer über die VNC-Client-Software aus der Ferne steuern kannst. VNC arbeitet mit GUI-Umgebungen (Graphical User Interface) und überträgt Mausbewegungen und Tastatureingaben über das Netzwerk mit dem Remote Frame Buffer (RFB) Protokoll.

In der Regel wird VNC von Technikern zur Steuerung von Client-Desktops verwendet oder von jemandem, der von zu Hause aus auf seinen Desktop im Büro zugreifen muss. VNC kann sicher über das VPN-Netzwerk oder über eine SSH-Tunnelverbindung genutzt werden.

In dieser Anleitung zeigen wir dir, wie du den VNC Server auf dem aktuellen Ubuntu Server 22.04 installierst und konfigurierst. In dieser Anleitung erfährst du auch, wie du dich über SSh-Tunneling sicher mit dem VNC-Server verbinden kannst.

Voraussetzungen

  • Ein Ubuntu Server der Version 22.04
  • Ein Nicht-Root-Benutzer mit den Root-Rechten

Installation der Desktop-Umgebung

Als Erstes installierst du die Desktop-Umgebung (DE) auf deinem Server. Es gibt mehrere Desktop-Umgebungen unter Linux, die du verwenden kannst, aber in einer Server-Umgebung wirst du oft leichtgewichtige Desktop-Umgebungen wie XFCE und MATE installieren und verwenden. Das liegt daran, dass die meisten Serverumgebungen in Bezug auf die Ressourcen begrenzt sind.

In diesem Beispiel wirst du XFCE als Standard-Desktop-Umgebung für deine VNC-Server-Installation verwenden, aber du wirst auch lernen, wie du andere DEs auf deinem System installieren kannst. XFCE ist eine mittlere Desktop-Umgebung, die du sowohl auf deinem Server als auch auf deinem Laptop/Computer installieren kannst. Sie ist leichtgewichtig und nimmt nicht mehr als 600 MB auf deiner Festplatte ein. Außerdem ist sie gut für Rechner mit wenig Arbeitsspeicher geeignet: 4 GB RAM sind mehr als genug, um XFCE zu betreiben.

Bevor du mit der Installation der Pakete beginnst, führe den unten stehenden Befehl aus, um deine Ubuntu-Repositories zu aktualisieren und aufzufrischen.

sudo apt update

Installiere nun den XFCE-Desktop mit dem folgenden Befehl auf deinem System.

sudo apt install xfce4 xfce4-goodies

Gib zur Bestätigung Y ein und drücke ENTER, um die Installation zu starten. Die XFCE-Installation wird nun gestartet.

Wenn du einen anderen DE wie Gnome verwenden möchtest, kannst du ihn mit dem folgenden Befehl installieren.

sudo apt install ubuntu-desktop-minimal

Eine weitere gute Möglichkeit, DEs auf deinem Ubuntu-System zu installieren, ist die Verwendung von„tasksel„, das die Installation von Desktop-Umgebungen nach deiner Wahl automatisiert.

Du kannst tasksel mit folgendem Befehl installieren.

sudo apt install tasksel

Gib zur Bestätigung Y ein und drücke ENTER, um die Installation zu starten.

Tasksel installieren

Nachdem die Installation abgeschlossen ist, führe den Befehl tasksel wie folgt aus.

sudo tasksel

Auf dem Screenshot unten siehst du das Menü für die Installation verschiedener DEs auf deinem System. Wähle das DE, das du installieren möchtest, mit der Leertaste aus und bewege den Cursor auf OK, dann wird die Installation gestartet.

DE mit Tasksel installieren

Einrichten eines neuen Benutzers

Nachdem du die Desktop-Umgebung installiert hast, richtest du nun einen neuen Benutzer für deinen VNC-Server ein. Der VNC-Server kann unter jedem Benutzer deines Systems ausgeführt werden, aber es wird nicht empfohlen, den VNC-Server als Root-Benutzer auszuführen.

In dieser Demo wirst du einen neuen Benutzer namens„alice“ mit zusätzlichen Rechten erstellen, indem du den Befehl„sudo su“ ausführst, um die Root-Rechte zu erhalten. Der VNC-Server läuft dann unter diesem Benutzer.

Führe den folgenden Befehl aus, um einen neuen Benutzer„alice“ hinzuzufügen und lege das Passwort für ihn fest. Achte darauf, dass du ein sicheres Passwort für diesen Benutzer verwendest.

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

Füge nun den Benutzer„alice“ mit dem folgenden Befehl zur Gruppe„sudo“ hinzu. Dadurch kann der neue Benutzer „alice“ den Befehl „sudo su“ ausführen, um die Rechte eines Root-Administrators zu erhalten.

sudo usermod -aG sudo alice

Melde dich als neuer Benutzer„alice“ an und führe den Befehl„sudo su“ aus, um die Root-Rechte zu prüfen und zu bestätigen.

su - alice
sudo su

Gib dein richtiges Passwort für den Benutzer„alice“ ein. Wenn die Authentifizierung erfolgreich war, erhältst du eine neue Eingabeaufforderung wie „root@hostname„, was bedeutet, dass du die Root-Administratorrechte erhalten hast.

Neuen Benutzer einrichten

Installation von TigerVNC Server

Jetzt ist es an der Zeit, die VNC Server Pakete auf deinem Ubuntu Server zu installieren. In diesem Beispiel wirst du das TigerVNC Server-Paket für deinen VNC-Server installieren und verwenden. Das TigerVNC-Paket ist für die meisten Linux-Distributionen verfügbar, auch für Ubuntu. Außerdem bietet TigerVNC komplette Pakete, die den VNC Server, den VNC Viewer/Client und zusätzliche Tools für VNC enthalten.

Installiere das TigerVNC Server-Paket mit dem folgenden apt-Befehl.

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

Gib zur Bestätigung Y ein und drücke ENTER, um die Installation fortzusetzen. Jetzt wird die Installation gestartet.

tigervncserver installieren - alternativ tightvnc oder Vino

Nachdem die Installation aller Pakete abgeschlossen ist, gehst du zum nächsten Schritt über, um die VNC Server Konfigurationen zu initialisieren. Eine Alternative als VNC client wäre z.B. tightvnc bzw. Ubuntu vino.

VNC Server initialisieren

Nachdem du nun die Installation der TigerVNC-Pakete auf deinem Ubuntu Server abgeschlossen hast, ist es an der Zeit, den VNC-Server mit den TigerVNC-Paketen einzurichten und zu konfigurieren.

In diesem Beispiel wird der VNC-Server unter dem nicht-root Benutzer „alice“ mit der Standard-Desktop-Umgebung XFCE – The Lightweight and yet Powerful DE laufen.

Melde dich nun mit dem unten stehenden Befehl als Benutzer„alice“ an.

su - alice

Initialisiere die Konfiguration des VNC-Servers mit dem folgenden Befehl. Mit dem Befehl vncserver kannst du die Konfiguration deines VNC-Servers verwalten, z. B. initialisieren, den Status überprüfen, das Startskript einrichten usw.

vncserver

Nun wirst du nach der folgenden Konfiguration des VNC-Servers gefragt:

  • Passwortkonfiguration für den VNC-Server: Gib das neue Passwort für deinen VNC-Server ein. Dieses Passwort wird verwendet, um sich bei deinem VNC Server anzumelden. Das Passwort darf maximal 8 Zeichen lang sein. Wenn du mehr als 8 Zeichen eingibst, wird eine Fehlermeldung angezeigt. Achte also darauf, dass dein Passwort nicht mehr als 8 Zeichen lang ist und wiederhole es zur Überprüfung.
  • Kennworteinstellungen, die nur angezeigt werden: Mit dieser Option kannst du einen VNC-Server oder eine Sitzung mit einem anderen Benutzer mit Nur-Ansichtsrecht teilen. Dies kann verwendet werden, wenn du anderen Nutzern etwas zeigen möchtest, aber nur eine begrenzte Ansichtsberechtigung hast. In diesem Beispiel brauchen wir das Passwort für die Ansicht nicht, also gib n für no ein.

Mit diesem Befehl wird auch ein neues Konfigurationsverzeichnis für den VNC-Server mit dem Namen„~/.vnc“ unter dem Home-Verzeichnis erstellt.

Wenn die Initialisierung des VNC-Servers erfolgreich abgeschlossen ist, erhältst du die unten stehende Meldung. Der VNC Server läuft jetzt auf „ubuntu-machine:1“ mit dem Standard-TCP-Port 5901. ubuntu-machineist der Hostname deines Systems und :1 bedeutet, dass der VNC-Server auf dem Display :1 läuft.

New Xtigervnc server 'ubuntu-machine:1 (alice)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 to connect to the VNC server.

vnc-Server initialisieren terms

Als Nächstes beenden wir den VNC Server ‚ubuntu-machine:1‚ und beginnen mit der Konfiguration des Startskripts.

Beende den VNC-Server-Prozess „ubuntu-machine:1“ mit dem unten stehenden Befehl vncserver.

vncserver -kill ubuntu-machine:1

Erstelle nun mit dem nano-Editor ein neues Startskript ~/.vnc/xstartup.

nano ~/.vnc/xstartup

Füge das folgende Skript hinzu. Dieses Skript wird automatisch den XFCE-Desktop ausführen, wenn der VNC-Server gestartet wird.

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

Speichere und schließe die Datei, wenn du fertig bist.

Zum Schluss führst du den Befehl chmod aus, um das Startskript ausführbar zu machen.

chmod +x ~/.vnc/xstartup

Damit hast du die Initialisierung und Grundkonfiguration des VNC-Servers unter Ubuntu 22.04 mit dem XFCE-Desktop abgeschlossen.

Hinzufügen eines neuen Benutzers zum TigerVNC Server

Jetzt musst du den VNC-Benutzer in der Konfigurationsdatei des TigerVNC-Servers hinzufügen und definieren. Dein Benutzer für VNC Server sollte in der Datei /etc/tigervnc/vncserver.users zu finden sein.

Bearbeite die Datei /etc/tigervnc/vncserver.users mit dem Editor nano.

sudo nano /etc/tigervnc/vncserver.users

Füge die folgende Konfiguration hinzu. Das Format hier ist „:display=alice„, und in diesem Beispiel läuft der VNC Server auf display „:1“ für den VNC-Benutzer„alice„. Du kannst auch mehrere Benutzer in die Datei eintragen, wenn du mehrere VNC Server Prozesse hast.

:1=alice

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um den VNC Server zu starten und zu aktivieren, damit er „:1“ anzeigt. Wenn du mehrere VNC Server-Prozesse mit mehreren Bildschirmen hast, kannst du die Nummer des Bildschirms am Ende des Dienstnamens ändern, z. B. „tigervncserver@:N.service“, wobei das N hier die Nummer ist.

sudo systemctl start tigervncserver@:1.service
sudo systemctl enable tigervncserver@:1.service

Führe abschließend den folgenden Befehl aus, um den Status des VNC Server-Dienstes zu überprüfen.

sudo systemctl status tigervncserver@:1.service

Im folgenden Screenshot kannst du sehen, dass tigervncserver@:1.service aktiv ist und läuft. Der VNC-Server läuft unter dem Benutzer„alice“ in der Anzeige „:1“ mit dem Standard-TCP-Port 5901.

start enable vnc server

Wenn während des Startvorgangs des VNC-Servers ein Fehler auftritt, kannst du die Protokolldatei im Verzeichnis ~/.vnc überprüfen. In diesem Beispiel ist der Benutzer alice, also melde dich als Benutzer„alice“ an und überprüfe die detaillierten Protokolldateien unten.

su - alice
cd ~/.vnc/; ls -lah

Du wirst zwei Logdateien des VNC Server-Dienstes sehen. Überprüfe diese Logdateien immer dann, wenn du beim Starten des VNC Server-Dienstes einen Fehler erhalten hast.

Jetzt hast du die Installation und Konfiguration des VNC-Servers auf Ubuntu 22.04 abgeschlossen und kannst dich von deinem lokalen Rechner aus mit deinem VNC-Server verbinden.

Sichere Verbindung zum VNC Server mit SSH-Tunnel

In diesem Abschnitt überprüfst du die Installation des VNC-Servers, indem du eine sichere Verbindung zu deinem VNC-Server mit dem SSL-Tunnel herstellst.

Bevor du dich mit dem VNC-Server verbindest, musst du sicherstellen, dass der VNC-Client auf deinem lokalen Computer installiert ist. Für Windows und macOS kannst du RealVNC verwenden, für Linux-Desktop-Rechner den TigerVNC Viewer, der meist standardmäßig in deinem Distributions-Repository enthalten ist.

Bevor du dich mit dem VNC-Server verbindest, führe den folgenden ssh-Befehl auf deinem lokalen Rechner aus, um dich mit deinem Server zu verbinden. Dieser Befehl erstellt einen sicheren SSH-Tunnel zu deinem Server. Auf deinem lokalen Rechner öffnest du den TCP-Port 5901, der zu deinem Server auf demselben Port 5901 getunnelt ist.

ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15

Gib das Passwort für deinen Benutzer ein. In diesem Beispiel verwenden wir den gleichen Benutzer namens„alice„.

ssh tunneling vnc server

Als Nächstes öffnest du deine VNC-Client-Anwendung und verbindest dich mit deinem VNC-Server mit der Adresse „localhost:5901“. Dadurch wird die Verbindung automatisch und sicher über einen SSH-Tunnel an deinen VNC-Server gesendet.

In diesem Beispiel ist der VNC-Client hier TigerVNC Viewer. Klicke jetzt auf Verbinden, um die Verbindung zum Server herzustellen.

mit dem VNC-Server verbinden

Gib das Passwort für deinen VNC-Server ein und klicke auf OK, um fortzufahren. Du kannst auch die Meldung sehen, dass die Verbindung nicht sicher ist. Du kannst sie ignorieren, denn in diesem Fall verbindest du dich mit localhost.

passwort vnc server

Wenn das Passwort korrekt ist, siehst du den VNC Server mit dem XFCE Desktop wie unten abgebildet. Du kannst das Terminal auf deinem Desktop öffnen und einige Befehle ausführen, um dein System zu überprüfen.

mit dem VNC-Server verbinden inkl. Mau Bedienung

Fazit

Herzlichen Glückwunsch! Du hast nun erfolgreich den VNC Server auf dem neuesten Ubuntu 22.04 Server mit XFCE als Standard-Desktopumgebung installiert und konfiguriert. Außerdem hast du gelernt, wie du andere Desktop-Umgebungen auf dem Ubuntu-Server installieren kannst. Zuletzt hast du auch gelernt, wie du dich über einen SSH-Tunnel sicher mit dem VNC-Server verbinden kannst.

Das könnte dich auch interessieren …