VNC (Virtual Network Computing) ermöglicht es Ihnen, Ihren Server genau wie Ihren Computer zu nutzen – mit der grafischen Benutzeroberfläche (GUI), dem Desktop sowie Ihrer Maus und Tastatur. Es erleichtert Benutzern, die neu in der Arbeit mit Servern sind, die Bedienung.
CloudSigma ermöglicht Ihnen den Zugriff auf VNC direkt nach der Erstellung des Servers. Darüber hinaus werden Sie in diesem Tutorial einen VNC-Server auf Ubuntu 18.04 einrichten und über einen sicheren Tunnel eine Verbindung dazu herstellen. Für dieses Tutorial verwenden Sie TigerVNC, ein leichtgewichtiges und schnelles VNC-Server-Paket. Es ermöglicht eine reibungslose Nutzung, selbst bei langsamen Netzwerken.
Voraussetzungen
Zuerst müssen Sie eine Maschine erstellen. Das können Sie ganz einfach im Compute-Bereich der CloudSigma WebApp tun:

Für dieses Tutorial können Sie die folgenden Ressourcen verwenden:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB
Sie können die Festplatte mit dem Ubuntu 18.04 LTS-Image mounten, das in der Bibliothek von CloudSigma verfügbar ist:
Ubuntu 18.04: Vorinstalliertes 64-Bit-System mit VirtIO-Treibern, Superuser, Python 2.7.17, Pip 20.0.2, OpenSSL 1.1.1d, Cloud-init und den neuesten Updates bis zum 03.03.2019.
Nach dem Starten der Maschine können Sie alle vorhandenen Repositories und Pakete auf der Maschine aktualisieren, indem Sie die folgenden Befehle ausführen:
|
1 2 |
sudo apt update sudo apt upgrade |
CloudSigma VNC-Funktion
CloudSigma bietet Ihnen eine einfache Möglichkeit, über VNC auf Ihre Maschinen zuzugreifen.

Sie können auf die Umschaltfläche des VNC-Tunnels klicken, um ihn zu aktivieren. Sobald Sie das tun, sehen Sie diesen Bildschirm.

Wenn Sie einen SSH-Schlüssel hinterlegt haben, müssen Sie auf den Server zugreifen und das Passwort mit dem folgenden Befehl ändern:
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
Wenn Sie keinen SSH-Schlüssel hinterlegt haben, können Sie den obigen Schritt überspringen. Sie finden das Passwort in den Installationshinweisen.
Sie können entweder auf ‘Display VNC’ klicken, um das VNC-Fenster im Browser zu öffnen, oder auf ‘Display VNC URL’, um die für die Verbindung mit einem VNC-Client erforderlichen Details anzuzeigen. Wenn Sie auf ‘Display VNC’ klicken, öffnet sich ein neuer Tab und fragt nach Ihren Anmeldedaten. Sie können es genauso verwenden, wie Sie die VM mit einem VNC-Client verwenden würden.

Nun werden wir uns die andere Möglichkeit ansehen, VNC auf einem Server zu installieren.
Installation des VNC-Servers
Das Ubuntu-Image enthält standardmäßig keine GUI-Pakete. Wir werden Pakete für die neueste XFCE-Desktop-Umgebung und das im Ubuntu-Repository verfügbare TigerVNC-Paket installieren.
Sie können das XFCE-Paket mit dem folgenden Befehl installieren:
sudo apt install xfce4 xfce4-goodies
Nach der Installation der XFCE-Pakete können Sie den TigerVNC-Server mit dem folgenden Befehl installieren:
|
1 |
sudo apt install tightvncserver |
Um die Konfiguration abzuschließen, führen Sie den folgenden Befehl aus und richten Sie ein Passwort für die VNC-Verbindung ein:
|
1 |
vncserver |
Während der Ausführung des obigen Befehls werden Sie gefragt, ob Sie sich mit einem schreibgeschützten Passwort (View-Only) anmelden möchten. Mit einem schreibgeschützten Passwort können Sie den Bildschirm nur sehen, aber das System nicht bedienen. Diese Option ist relevant, wenn Sie möchten, dass jemand anderes den Bildschirm sehen, aber nicht steuern kann.
Als Nächstes erstellt der Befehl alle erforderlichen Konfigurationen. Sie können den VNC-Server zu diesem Zeitpunkt von einem Remote-System oder Ihrem Computer aus verwenden. Im Rahmen dieses Tutorials werden wir unseren Server vor der Verwendung noch weiter konfigurieren.
Konfiguration des VNC-Servers
In diesem Abschnitt zeigen wir Ihnen, wie Sie den bevorzugten Desktop für die Verwendung konfigurieren.
Sie müssen diese Befehle in einer Datei namens ‘xstartup’ im Ordner .vnc Ihres Home-Verzeichnisses konfigurieren. Als Sie den Befehl vncserver das erste Mal ausgeführt haben, wurde das Startup-Skript erstellt. Sie werden ein weiteres erstellen, um den XFCE-Desktop zu starten.
Darüber hinaus hat der Befehl vncserver bei der ersten Ausführung eine Standard-Serverinstanz auf Port 5901 gestartet. Dieser Port wird als Display-Port bezeichnet und von VNC als “:1” referenziert. Wenn Sie den Befehl erneut ausführen, erstellt VNC eine weitere Instanz “:2” auf anderen Ports und so weiter.
Da Sie den VNC-Server konfigurieren werden, stoppen Sie die bereits laufenden Instanzen:
|
1 |
vncserver -kill :1 |
Bevor Sie die Startdatei ändern, erstellen Sie ein Backup der Originaldatei:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Jetzt können Sie die Originaldatei mit dem Vim-Editor bearbeiten und ihren Inhalt durch Folgendes ersetzen:
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Inhalt: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Wann immer Sie den vncserver starten oder neu starten, führt der Prozess die Befehle dieser Datei aus. Diese Befehle starten die Desktop-Umgebung, falls sie nicht bereits gestartet ist.
Der erste Befehl, “xrdb $HOME/.Xresources” weist das GUI-Framework an, die Konfigurationen von diesem Speicherort zu lesen. Sie können verschiedene Einstellungen des Desktops wie Terminalfarben, Cursor-Designs usw. konfigurieren. Der zweite Befehl startet XFCE.
Um sicherzustellen, dass der VNC-Server die Datei ausführen kann, müssen Sie deren Berechtigungen ändern:
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Nach der Änderung der Berechtigungen können Sie nun den VNC-Server ausführen:
|
1 |
vncserver |

Da der Server nun bereit ist, können wir von unserem Computer aus eine Verbindung zu ihm herstellen.
Erstellen eines sicheren Tunnels für die VNC-Verbindung
Da VNC beim Verbinden keine sicheren Protokolle verwendet, werden wir SSH verwenden, um eine sichere Verbindung herzustellen. Wir können einen sicheren SSH-Tunnel verwenden, um uns mit unserem virtuellen Desktop zu verbinden.
Um einen SSH-Tunnel zu erstellen, der die Verbindung sicher an den Localhost weiterleitet, können Sie den folgenden Befehl im Terminal oder in der PowerShell (für Windows) verwenden:
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
Im obigen Befehl,
-L: Wird verwendet, um die Portbindungen anzugeben. In diesem Fall leiten wir den Port 5901 des Servers an den Port 5901 unseres Systems weiter
-C: Wird verwendet, um die Komprimierung zu aktivieren
-N: Wird verwendet, um anzugeben, dass keine Remote-Ausführung des Befehls erforderlich ist
-l: Gibt den Remote-Anmeldenamen an
-i: Gibt den Speicherort des Schlüssels an

Sobald der Tunnel läuft, verwenden Sie einen VNC-Client, um eine Verbindung zu localhost:5901 herzustellen. Sie werden aufgefordert, das zuvor eingerichtete Passwort einzugeben.
Sobald Sie verbunden sind, sehen Sie einen Bildschirm ähnlich wie diesen.

Sie können den SSH-Tunnel stoppen, indem Sie Strg + C drücken.
VNC als Systemdienst ausführen
Sie können VNC nun als Systemdienst einrichten, um ihn mithilfe von systemd-Befehlen zu starten, neu zu starten oder seinen Status zu überprüfen. Dies stellt auch sicher, dass der VNC-Server beim Neustart des Servers gestartet wird.
Erstellen Sie dazu eine neue Unit-Datei – /etc/systemd/system/vncserver@.service.
|
1 |
touch /etc/systemd/system/vncserver@.service |
Sie werden feststellen, dass im obigen Dateinamen ein ‘@’-Symbol enthalten ist. Damit können Sie ein Argument übergeben, das Sie in der Serverkonfiguration verwenden können.
Fügen Sie der Datei den folgenden Inhalt hinzu:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Starten TightVNC Server beim Systemstart After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
Der Befehl ‘ExecStartPre’ stoppt VNC, falls es bereits läuft, während der Befehl ‘ExecStart’ VNC mit einer Farbtiefe von 24-Bit-Farbe und einer Auflösung von 1280×800 startet. Sie können diese Datei an Ihre Bedürfnisse anpassen.
Jetzt können Sie die Units für systemd mit dem folgenden Befehl neu laden:
|
1 |
sudo systemctl daemon-reload |
Da systemctl nun die neue Unit kennt, können Sie diese mit dem folgenden Befehl aktivieren:
|
1 |
sudo systemctl enable vncserver@1.service |
Die Nummer 1 nach dem @ gibt an, auf welcher Display-Nummer der Dienst erscheinen soll. Beispiel:1, :2, etc.
Um die aktuelle Instanz zu stoppen, führen Sie folgenden Befehl aus:
|
1 |
vncserver -kill :1 |

Jetzt können Sie den VNC-Server starten, wie Sie auch jeden anderen Dienst starten würden.
|
1 |
sudo systemctl start vncserver@1 |
Um zu überprüfen, ob der Dienst aktiv ist, führen Sie folgenden Befehl aus:
|
1 |
sudo systemctl status vncserver@1 |
Der VNC-Server ist nun verfügbar, wenn Sie Ihren Server neu starten.
Da Sie nun wissen, wie Sie einen VNC-Server einrichten, können Sie Ihren Server ganz einfach verwalten, genau wie Ihren Computer.
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.