So installieren und konfigurieren Sie VNC unter Ubuntu 16.04

Einführung

VNC (Virtual Network Computing) ist ein Verbindungssystem, mit dem Sie mit Tastatur und Maus mit einer grafischen Desktopumgebung auf einem Remoteserver interagieren können. Dies erleichtert Benutzern, die noch nicht mit der Befehlszeile vertraut sind, das Verwalten von Dateien, Software und Einstellungen auf einem Remoteserver.

In diesem Handbuch richten wir VNC auf einem Ubuntu 16.04-Server ein und stellen eine sichere Verbindung über einen SSH-Tunnel her. Der VNC-Server, den wir verwenden werden, ist TightVNC, ein schnelles und leichtes Fernsteuerungspaket. Diese Wahl stellt sicher, dass unsere VNC-Verbindung auch bei langsameren Internetverbindungen reibungslos und stabil ist.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • Ein Ubuntu 16.04-Droplet, das überUbuntu 16.04 initial server setup tutorial eingerichtet wurde, einschließlich eines Sudo-Nicht-Root-Benutzers. Beachten Sie, dass dieses Lernprogramm mit Tröpfchen beliebiger Größe abgeschlossen werden kann. Ein VNC, der auf einem kleineren Tröpfchen basiert, hat jedoch möglicherweise mehr Einschränkungen hinsichtlich der Funktionalität als ein größeres.

  • Ein lokaler Computer mit einem installierten VNC-Client, der VNC-Verbindungen über SSH-Tunnel unterstützt. Wenn Sie Windows verwenden, können Sie TightVNC, RealVNC oder UltraVNC verwenden. Mac OS X-Benutzer können das integrierte Screen Sharing-Programm oder eine plattformübergreifende App wie RealVNC verwenden. Linux-Benutzer können aus vielen Optionen wählen:vinagre,krdc, RealVNC, TightVNC und mehr.

[[Schritt 1 - Installieren der Desktop-Umgebung und des VNC-Servers]] == Schritt 1 - Installieren der Desktop-Umgebung und des VNC-Servers

Standardmäßig wird ein Ubuntu 16.04-Droplet nicht mit einer grafischen Desktop-Umgebung oder einem installierten VNC-Server geliefert. Wir beginnen daher mit der Installation dieser Umgebungen. Insbesondere werden wir Pakete für die neueste Xfce-Desktop-Umgebung und das TightVNC-Paket installieren, die im offiziellen Ubuntu-Repository verfügbar sind.

Installieren Sie auf Ihrem Server die Pakete Xfce und TightVNC.

sudo apt-get update
sudo apt install xfce4 xfce4-goodies tightvncserver

Verwenden Sie den Befehlvncserver, um die Erstkonfiguration des VNC-Servers nach der Installation abzuschließen und ein sicheres Kennwort einzurichten.

vncserver

Sie werden aufgefordert, ein Kennwort sowie ein Nur-Anzeige-Kennwort einzugeben und zu bestätigen. Benutzer, die sich mit dem Nur-Ansicht-Kennwort anmelden, können die VNC-Instanz nicht mit ihrer Maus oder Tastatur steuern. Dies ist eine hilfreiche Option, wenn Sie anderen Benutzern, die Ihren VNC-Server verwenden, etwas demonstrieren möchten, dies jedoch nicht erforderlich ist.

Durch Ausführen vonvncserver wird die Installation von VNC abgeschlossen, indem Standardkonfigurationsdateien und Verbindungsinformationen für unseren Server erstellt werden. Wenn diese Pakete installiert sind, können Sie Ihren VNC-Server jetzt konfigurieren.

[[Schritt 2 - Konfigurieren des VNC-Servers]] == Schritt 2 - Konfigurieren des VNC-Servers

Zunächst müssen wir unserem VNC-Server mitteilen, welche Befehle beim Start ausgeführt werden sollen. Diese Befehle befinden sich in einer Konfigurationsdatei mit dem Namenxstartup im Ordner.vnc unter Ihrem Home-Verzeichnis. Das Startskript wurde erstellt, als Sie im vorherigen Schrittvncserver ausgeführt haben. Wir müssen jedoch einige der Befehle für den Xfce-Desktop ändern.

Beim ersten Einrichten von VNC wird eine Standardserverinstanz auf Port 5901 gestartet. Dieser Port wird als Anzeigeport bezeichnet und von VNC als:1 bezeichnet. VNC kann mehrere Instanzen an anderen Anzeigeports wie:2,:3 usw. starten. Denken Sie bei der Arbeit mit VNC-Servern daran, dass:X ein Anzeigeport ist, der sich auf5900+X bezieht.

Da wir die Konfiguration des VNC-Servers ändern werden, müssen wir zuerst die VNC-Serverinstanz stoppen, die auf Port 5901 ausgeführt wird.

vncserver -kill :1

Die Ausgabe sollte mit einer anderen PID wie folgt aussehen:

OutputKilling Xtightvnc process ID 17648

Bevor wir mit der Konfiguration der neuenxstartup-Datei beginnen, sichern wir das Original.

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

Erstellen Sie nun eine neuexstartup-Datei mitnano oder Ihrem bevorzugten Texteditor.

nano ~/.vnc/xstartup

Fügen Sie diese Befehle in die Datei ein, damit sie automatisch ausgeführt werden, wenn Sie den VNC-Server starten oder neu starten. Speichern und schließen Sie dann die Datei.

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

Der erste Befehl in der Datei,xrdb $HOME/.Xresources, weist das GUI-Framework von VNC an, die.Xresources-Datei des Serverbenutzers zu lesen. In.Xresources kann ein Benutzer Änderungen an bestimmten Einstellungen des grafischen Desktops vornehmen, z. B. Terminalfarben, Cursorthemen und Schriftwiedergabe. Der zweite Befehl weist den Server einfach an, Xfce zu starten. Hier finden Sie die gesamte Grafiksoftware, die Sie zur komfortablen Verwaltung Ihres Servers benötigen.

Damit der VNC-Server diese neue Startdatei ordnungsgemäß verwenden kann, müssen wir ihr ausführbare Berechtigungen erteilen.

sudo chmod +x ~/.vnc/xstartup

Starten Sie jetzt den VNC-Server neu.

vncserver

Der Server sollte mit einer Ausgabe ähnlich der folgenden gestartet werden:

OutputNew 'X' desktop is your_server_name.com:1

Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/liniverse.com:1.log

[[Schritt-3 - Testen des VNC-Desktops]] == Schritt 3 - Testen des VNC-Desktops

In diesem Schritt testen wir die Konnektivität Ihres VNC-Servers.

Zunächst müssen wir auf Ihrem lokalen Computer eine SSH-Verbindung herstellen, die sicher an dielocalhost-Verbindung für VNC weiterleitet. Sie können dies über das Terminal unter Linux oder OS X mit dem folgenden Befehl tun. Denken Sie daran,user undserver_ip_address durch den sudo-Benutzernamen und die IP-Adresse Ihres Servers zu ersetzen.

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Wenn Sie einen grafischen SSH-Client wie PuTTY verwenden, verwenden Sieserver_ip_address als Verbindungs-IP und legen Sielocalhost:5901 als neuen weitergeleiteten Port in den SSH-Tunneleinstellungen des Programms fest.

Als Nächstes können Sie jetzt einen VNC-Client verwenden, um beilocalhost:5901 eine Verbindung zum VNC-Server herzustellen. Sie werden aufgefordert, sich zu authentifizieren. Das richtige Passwort ist das, das Sie in Schritt 1 festgelegt haben.

Sobald Sie verbunden sind, sollte der Standard-Xfce-Desktop angezeigt werden. Es sollte ungefähr so ​​aussehen:

VNC connection to Ubuntu 16.04 server

Sie können mit dem Dateimanager oder über die Befehlszeile auf Dateien in Ihrem Ausgangsverzeichnis zugreifen, wie hier gezeigt:

Files via VNC connection to Ubuntu 16.04

[[Schritt-4 -—- Erstellen einer VNC-Dienstdatei]] == Schritt 4 - Erstellen einer VNC-Dienstdatei

Als Nächstes richten wir den VNC-Server als Systemdienst ein. Auf diese Weise können Sie es wie jeden anderen systemd-Dienst nach Bedarf starten, stoppen und neu starten.

Erstellen Sie zunächst mit Ihrem bevorzugten Texteditor eine neue Einheitendatei mit dem Namen/etc/systemd/system/[email protected]:

sudo nano /etc/systemd/system/[email protected]

Kopieren Sie das Folgende und fügen Sie es ein. Stellen Sie sicher, dass Sie den Wert vonUser und den Benutzernamen in den Wert vonPIDFILE ändern, um ihn an Ihren Benutzernamen anzupassen.

/etc/systemd/system/[email protected] [Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=sammy
PAMName=login
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

Speichern und schließen Sie die Datei.

Machen Sie das System als Nächstes auf die neue Unit-Datei aufmerksam.

sudo systemctl daemon-reload

Aktivieren Sie die Gerätedatei.

sudo systemctl enable [email protected]

Das1 nach dem@-Zeichen gibt an, über welcher Anzeigenummer der Dienst angezeigt werden soll, in diesem Fall die Standardeinstellung:1, wie oben erläutert.
Stoppt die aktuelle Instanz des VNC-Server, wenn er noch läuft.

vncserver -kill :1

Starten Sie es dann wie jeden anderen systemd-Dienst.

sudo systemctl start vncserver@1

Sie können überprüfen, ob es mit diesem Befehl gestartet wurde:

sudo systemctl status vncserver@1

Wenn es richtig gestartet wurde, sollte die Ausgabe folgendermaßen aussehen:

Ausgabe

[email protected] - TightVNC server on Ubuntu 16.04
   Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago
  Process: 2924 ExecStop=/usr/bin/vncserver -kill :%i (code=exited, status=0/SUCCESS)

...

 systemd[1]: Starting TightVNC server on Ubuntu 16.04...
 systemd[2938]: pam_unix(login:session): session opened for user finid by (uid=0)
 systemd[2949]: pam_unix(login:session): session opened for user finid by (uid=0)
 systemd[1]: Started TightVNC server on Ubuntu 16.04.

Fazit

Sie sollten jetzt einen gesicherten VNC-Server auf Ihrem Ubuntu 16.04-Server haben. Jetzt können Sie Ihre Dateien, Software und Einstellungen über eine benutzerfreundliche und vertraute grafische Oberfläche verwalten.