Tutorial

Installation und Konfiguration von VNC auf Ubuntu 18.04

Published on March 5, 2020
Deutsch
Installation und Konfiguration von VNC auf Ubuntu 18.04

Einführung

Virtual Network Computing oder VNC ist ein Verbindungssystem, das es Ihnen ermöglicht, die Tastatur und die Maus zur Interaktion mit einer grafischen Desktop-Umgebung auf einem entfernten Server zu verwenden. Es vereinfacht die Verwaltung von Dateien, Software und Einstellungen auf einem entfernten Server für Benutzer, die mit der Befehlszeile noch nicht so versiert sind.

In diesem Leitfaden erstellen Sie einen VNC-Server auf einem Ubuntu 18.04 Server und verbinden sich mit diesem über einen sicheren SSH-Tunnel. Dazu verwenden Sie TightVNC, ein schnelles, leichtes Fernsteuerungspaket. Mit dieser Auswahl stellen Sie sicher, dass unsere VNC-Verbindung auch bei langsameren Internet-Verbindungen reibungslos und stabil sein wird.

Voraussetzungen

Um dieses Tutorial zu absolvieren, benötigen Sie:

  • Einen Ubuntu 18.04-Server, der gemäß der Anleitung zum Setup des Ubuntu 18.04-Servers eingerichtet wurde, einschließlich eines Sudo-Benutzers ohne Rootberechtigung und einer Firewall.
  • Einen lokalen Computer mit einem installierten VNC Client, der VNC-Verbindungen über SSH-Tunnel unterstützt.
    • In Windows können Sie TightVNC, RealVNC oder UltraVNC verwenden.
    • Auf MacOS können Sie das integrierte Screen Sharing-Programm verwenden oder eine plattformübergreifende App wie RealVNC.
    • Auf Linux können Sie aus zahlreichen Optionen auswählen, darunter Vinagre, krdc, RealVNC oder TightVNC.

Schritt 1 — Installation der Desktop-Umgebung und des VNC-Servers

Standardmäßig wird ein Ubuntu 18.04 Server nicht mit einer grafischen Desktop-Umgebung oder einem installierten VNC-Server geliefert, daher beginnen wir mit deren Installation. Wir installieren vor allem Pakete für die aktuellste Xfce Desktop-Umgebung und das TightVNC-Paket, das im offiziellen Ubuntu Repository verfügbar ist.

Aktualisieren Sie Ihre Liste der Pakete auf Ihrem Server.

  1. sudo apt update

Installieren Sie jetzt die Xfce Desktop-Umgebung auf Ihrem Server:

  1. sudo apt install xfce4 xfce4-goodies

Wenn diese Installation abgeschlossen ist, installieren Sie den TightVNC Server:

  1. sudo apt install tightvncserver

Um die Erstkonfiguration des VNC-Servers nach der Installation abzuschließen, verwenden Sie den Befehl vncserver, um ein sicheres Passwort einzurichten und die Erstkonfigurationsdateien zu erstellen:

  1. vncserver

Sie werden dazu aufgefordert, ein Passwort einzugeben und zu verifizieren, um ferngesteuert auf Ihren Rechner zuzugreifen.

Output
You will require a password to access your desktops. Password: Verify:

Das Passwort muss zwischen sechs und acht Zeichen lang sein. Passwörter mit mehr als 8 Zeichen werden automatisch verkürzt.

Sobald Sie das Passwort verifiziert haben, können Sie ein schreibgeschütztes Passwort einrichten. Benutzer, die sich mit dem schreibgeschützten Passwort anmelden, können die VCN-Instanz nicht mit der Maus oder Tastatur steuern. Das ist eine hilfreiche Option, wenn Sie mit Ihrem VCN Server anderen etwas zeigen möchten, ist aber nicht erforderlich.

Der Prozess erstellt dann die notwendigen Standard-Konfigurationsdateien und Verbindungsinformationen für den Server.

Output
Would you like to enter a view-only password (y/n)? n xauth: file /home/sammy/.Xauthority does not exist New 'X' desktop is your_hostname:1 Creating default startup script /home/sammy/.vnc/xstartup Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log

Jetzt wollen wir den VCN Server konfigurieren.

Schritt 2 — Konfiguration des VCN Servers

Der VCN Server muss wissen, welche Befehle er beim Start ausführen soll. VCN muss vor allem wissen, mit welchem grafischen Desktop er sich verbinden soll.

Diese Befehle befinden sich in einer Konfigurationsdatei namens xstartup im Ordner .vnc in Ihrem Stammverzeichnis. Das Start-Skript wurde erstellt, als Sie den vncserver im vorherigen Schritt ausgeführt haben, aber wir erstellen unser eigenes, um den Xfce Desktop zu starten.

Wenn VCN das erste Mal eingerichtet wird, startet er eine Standard-Server-Instanz auf Port 5901. Dieser Port wird als *Anzeige-Port *bezeichnet und wird vom VCN :1 genannt. VCN kann mehrere Instanzen auf anderen Anzeige-Ports, wie :2, :3 usw. starten.

Da wir die Konfiguration des VCN Servers ändern werden, müssen wir zunächst die VCN Server-Instanz stoppen, die auf Port 5901 ausgeführt wird. Dazu verwenden wir den folgenden Befehl:

  1. vncserver -kill :1

Die Ausgabe sollte wie folgt aussehen, auch wenn Sie eine andere PID sehen werden:

Output
Killing Xtightvnc process ID 17648

Bevor Sie die Datei xstartup ändern, sollten Sie ein Backup der Originaldatei vornehmen:

  1. mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Erstellen Sie jetzt eine neue xstartup-Datei und öffnen Sie sie im Texteditor:

  1. nano ~/.vnc/xstartup

Die Befehle in dieser Datei werden automatisch ausgeführt, wenn Sie den VCN Server starten oder neu starten. VCN muss unsere Desktop-Umgebung starten, sofern diese noch nicht gestartet wurde. Fügen Sie der Datei diese Befehle hinzu:

~/.vnc/xstartup
#!/bin/bash xrdb $HOME/.Xresources startxfce4 &

Der erste Befehl in der Datei, xrdb $HOME/. Xresources weist das GUI Framework des VNC mit, das des Serverbenutzers zu lesen. Xresources-Datei. . Xresources ist der Ort, an dem ein Benutzer bestimmte Einstellungen des grafischen Desktops ändern kann, wie die Terminal-Farben, Cursor-Gestaltung und das Font-Rendering. Der zweite Befehl weist den Server an, Xfce zu starten, wo Sie die grafische Software finden, die sie zur problemlosen Verwaltung Ihres Servers brauchen.

Um sicherzustellen, dass der VCN Server diese neue Start-Datei ordnungsgemäß verwenden kann, müssen wir sie ausführbar machen.

  1. sudo chmod +x ~/.vnc/xstartup

Starten Sie jetzt den VCN Server.

  1. vncserver

Sie werden eine Ausgabe sehen, die dieser ähnelt:

Output
New 'X' desktop is your_hostname:1 Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log

Sobald die Konfiguration vorgenommen wurde, wollen wir uns über unseren lokalen Rechner mit dem Server verbinden.

Schritt 3 — Eine sichere Verbindung mit dem VCN Desktop

VCN selbst verwendet keine sicheren Protokolle beim Verbinden. Wir verwenden einen SSH-Tunnel, um eine sichere Verbindung mit unserem Server herzustellen und weisen dann unseren VCN Client an, anstelle der Direktverbindung diesen Tunnel zu verwenden.

Erstellen Sie auf Ihrem lokalen Computer eine SSH-Verbindung, die sicher an die localhost-Verbindung für VCN weiterleitet. Sie können dies mit folgendem Befehl über den Terminal auf Linux oder macOS durchführen:

  1. ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

Der -L Switch gibt die Port-Bindung an. In diesem Fall verbinden wir Port 5901 der entfernten Verbindung mit Port 5901 auf Ihrem lokalen Rechner. Der -C Switch ermöglicht eine Kompression, während der -N Switch ssh mitteilt, dass wir keinen entfernten Befehl ausführen wollen. Der -l Switch gibt den entfernten Login-Namen an.

Denken Sie daran, sammy und your_server_ip durch den Sudo-Benutzernamen ohne Rootberechtigung und die IP-Adresse Ihres Servers zu ersetzen.

Wenn Sie einen grafischen SSH Client, wie PuTTY, verwenden, verwenden Sie your_server_ip als Verbindungs-IP und setzen localhost:5901 als einen neuen weitergeleiteten Port in der SSH-Tunnel-Einstellung des Programms ein.

Sobald der Tunnel läuft, verwenden Sie einen VCN Client, um sich mit localhost:5901 zu verbinden. Sie werden aufgefordert, sich mit dem in Schritt 1 eingestellten Passwort zu authentifizieren.

Sobald die Verbindung steht, sehen Sie den Xfce Standard-Desktop. Es sollte ungefähr so aussehen:

VNC Verbindung mit dem Ubuntu 18.04 Server

Sie können mit dem Dateimanager auf Dateien in Ihrem Stammverzeichnis zugreifen oder von der Befehlszeile aus, wie nachstehend zu sehen ist:

Dateien über die VNC Verbindung mit Ubuntu 18.04

Drücken Sie CTRL+C auf Ihrem Terminal, um den SSH-Tunnel zu stoppen und zu Ihrer Aufforderung zurückzukehren. Damit wird auch Ihre VNC Sitzung unterbrochen.

Als nächstes richten wir unseren VNC Server als Dienst ein.

Schritt 4 — VCN als Systemdienst ausführen

Als nächstes stellen wir den VNC Server als Systemdienst ein, um ihn wie jeden anderen Dienst starten, stoppen und ggf. neu starten zu können. Damit wird auch sichergestellt, dass VCN beim Neustart Ihres Servers gestartet wird.

Erstellen Sie zunächst in Ihrem bevorzugten Texteditor eine neue Unit-Datei mit dem Namen /etc/systemd/system/vncserver@.service:

  1. sudo nano /etc/systemd/system/vncserver@.service

Das @ Symbol am Ende des Namens gestattet uns, ein Argument aufzunehmen, das wir in der Dienstkonfiguration verwenden können. Wir verwenden dies, um den VCN Anzeige-Port anzugeben, den wir bei der Dienstverwaltung einsetzen möchten.

Fügen Sie der Datei folgende Zeilen hinzu. Vergewissern Sie sich, dass Sie den Wert von User, Group, WorkingDirectory und den Benutzernamen im Wert von **PIDFILE **ändern, damit er mit Ihrem Benutzernamen übereinstimmt:

/etc/systemd/system/vncserver@.service
[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=sammy Group=sammy WorkingDirectory=/home/sammy PIDFile=/home/sammy/.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 ExecStartPre Befehl stoppt VCN, wenn er bereits läuft. Der ExecStart Befehl startet VCN und stellt die Farbtiefe auf 24-Bit-Farbe mit einer Auflösung von 1280 x 800. Sie können diese Startoptionen auch je nach Wunsch ändern.

Speichern und schließen Sie die Datei.

Als nächstes müssen Sie das System auf die neue Unit-Datei aufmerksam machen.

  1. sudo systemctl daemon-reload

Aktivieren Sie die Unit-Datei.

  1. sudo systemctl enable vncserver@1.service

Die 1 nach dem Zeichen @ gibt an, über welcher Anzeigenummer der Dienst angezeigt werden soll; in diesem Fall ist der Standard :1, wie wir bereits in Schritt 2 besprochen haben.

Stoppen Sie die aktuelle Instanz des VCN Servers, wenn er noch läuft.

  1. vncserver -kill :1

Starten Sie ihn dann wie jeden anderen Systemdienst.

  1. sudo systemctl start vncserver@1

Sie können verifizieren, dass er mit diesem Befehl gestartet wurde:

  1. sudo systemctl status vncserver@1

Falls er richtig gestartet wurde, sollte die Ausgabe wie folgt aussehen:

Output
● vncserver@1.service - Start TightVNC server at startup Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled) Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS) Process: 22316 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS) Main PID: 22330 (Xtightvnc) ...

Ihr VCN Server steht jetzt beim Neustart des Rechners zur Verfügung.

Starten Sie Ihren SSH-Tunnel erneut:

  1. ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

Stellen Sie dann mit Ihrer VCN Client Software eine neue Verbindung zum localhost:5901 her, um sich mit Ihrem Rechner zu verbinden.

Zusammenfassung

Jetzt läuft ein sicherer VCN Server auf Ihrem Ubuntu 18.04 Server. Jetzt können Sie Ihre Dateien, Software und Einstellungen in einer benutzerfreundlichen, vertrauten grafischen Oberfläche verwalten und grafische Software wie Web-Browser ferngesteuert ausführen.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Default avatar
finid

author


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel