Website-Suche

So installieren und konfigurieren Sie den VNC-Server unter Ubuntu


Virtual Network Computing (VNC) ist ein weit verbreitetes grafisches Desktop-Sharing-System, das es Benutzerkonten ermöglicht, eine Fernverbindung herzustellen und die Desktop-Oberfläche eines Computers von einem anderen Computer oder Mobilgerät aus zu steuern .

In diesem Artikel erklären wir, wie man einen VNC-Server auf einer Ubuntu 18.04-Desktop-Edition über das Programm tigervnc-server installiert und konfiguriert.

Testumgebung

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Installieren Sie eine Desktop-Umgebung in Ubuntu

Wie gesagt, VNC ist ein Desktop-Sharing-System, daher muss auf Ihrem Ubuntu-Server eine Desktop-Umgebung installiert sein. Sie können die DE Ihrer Wahl installieren, indem Sie die entsprechenden Befehle unten ausführen. Für den Zweck dieses Artikels werden wir Ubuntu Gnome (offizielle Variante) installieren.

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

Installieren und konfigurieren Sie einen VNC in Ubuntu

Tigervnc-server ist ein plattformübergreifendes Hochgeschwindigkeits-VNC-Programm, das einen Xvnc-Server ausführt und parallele Sitzungen von Gnome oder einer anderen Desktop-Umgebung auf dem VNC-Desktop startet.

Führen Sie den folgenden Befehl aus, um den TigerVNC-Server und andere zugehörige Pakete in Ubuntu zu installieren.

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Starten Sie nun den VNC-Server, indem Sie als normaler Benutzer den Befehl vncserver ausführen. Durch diese Aktion wird die im Verzeichnis $HOME/.vnc gespeicherte Anfangskonfiguration erstellt und Sie werden außerdem aufgefordert, ein Anmeldekennwort einzurichten.

Geben Sie ein Passwort ein (das mindestens sechs Zeichen lang sein muss) und bestätigen/verifizieren Sie es. Legen Sie dann bei Bedarf wie folgt ein Nur-Anzeige-Passwort fest.

vncserver
ls -l ~/.vnc 

Als nächstes müssen wir die DE so konfigurieren, dass sie mit dem VNC-Server funktioniert. Stoppen Sie also den VNC-Server mit dem folgenden Befehl, um einige Konfigurationen durchzuführen.

vncserver -kill :1

Um GNOME oder den von Ihnen installierten Desktop zu konfigurieren, erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei namens xstartup im Konfigurationsverzeichnis.

vi ~/.vnc/xstartup

Fügen Sie der Datei die folgenden Zeilen hinzu. Diese Befehle werden automatisch ausgeführt, wenn Sie den TigerVNC-Server starten oder neu starten. Beachten Sie, dass die Befehle je nach installiertem DE variieren können.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Speichern Sie die Datei und legen Sie die entsprechende Berechtigung für die Datei fest, damit sie ausgeführt werden kann.

chmod 700 ~/.vnc/xstartup

Starten Sie als Nächstes den VNC-Server, indem Sie den folgenden Befehl als normaler Benutzer ausführen. Legen Sie Ihre eigenen Werte für die Anzeigegeometrie fest. Verwenden Sie außerdem das Flag -localhost, um Verbindungen nur vom localhost und analog nur von auf dem Server authentifizierten Benutzern zuzulassen.

Darüber hinaus verwendet VNC standardmäßig den TCP-Port 5900+N, wobei N die Anzeigenummer ist. In diesem Fall bedeutet :1, dass der VNC-Server auf der Display-Port-Nummer 5901 läuft.

vncserver :1 -localhost -geometry 1024x768 -depth 32

Führen Sie den folgenden Befehl aus, um VNC-Serversitzungen auf Ihrem System aufzulisten.

vncserver -list

Überprüfen Sie nach dem Start des VNC-Servers mit dem Befehl netstat den Port, auf dem er ausgeführt wird.

netstat -tlnp

Herstellen einer Verbindung zum VNC-Server über den VNC-Client

In diesem Abschnitt zeigen wir, wie man eine Verbindung zum VNC-Server herstellt. Bevor wir jedoch darauf eingehen, müssen Sie wissen, dass VNC standardmäßig nicht sicher ist (es ist kein verschlüsseltes Protokoll und kann Paket-Sniffing unterliegen). . Dieses Problem kann behoben werden, indem über SSH ein Tunnel von der Client-zu-Server-Verbindung erstellt wird.

Mithilfe von SSH-Tunneling können Sie Datenverkehr von Ihrem lokalen Computer auf Port 5901 sicher an den VNC-Server auf demselben Port weiterleiten.

Öffnen Sie auf dem Linux-Client-Computer ein neues Terminalfenster und führen Sie den folgenden Befehl aus, um einen SSH-Tunnel zum VNC-Server zu erstellen.

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Installieren Sie als Nächstes den vncviewer-Client wie TigerVNC Viewer wie folgt (Sie können jeden anderen Client Ihrer Wahl installieren).

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

Sobald die Installation abgeschlossen ist, führen Sie Ihren VNC-Client aus und geben Sie die Adresse localhost:5901 an, um eine Verbindung zu Anzeige 1 wie folgt herzustellen.

vncviewer localhost:5901

Alternativ können Sie es auch über das Systemmenü öffnen, die oben angegebene Adresse eingeben und dann auf Verbinden klicken.

Sie werden aufgefordert, das zuvor erstellte VNC-Anmeldekennwort einzugeben. Geben Sie es ein und klicken Sie auf OK, um fortzufahren.

Wenn das Passwort korrekt ist, landen Sie in der Anmeldeoberfläche Ihres Desktops. Geben Sie Ihr Passwort ein, um auf den Desktop zuzugreifen.

Achtung: Wenn Sie sicherheitsbewusst sind, ist Ihnen möglicherweise aufgefallen, dass der VNC-Viewer „Verbindung nicht verschlüsselt“ anzeigt, obwohl wir dies aktiviert haben SSH-Tunneling.

Dies liegt daran, dass es darauf ausgelegt ist, beim Versuch, sich beim Server zu authentifizieren, andere Sicherheitsschemata als SSH-Tunneling zu verwenden. Die Verbindung ist jedoch sicher, sobald Sie das SSH-Tunneling aktiviert haben.

Erstellen einer Systemd-Unit-Datei für TigerVNC Server

Um den VNC-Server unter systemd zu verwalten, d. h. den VNC-Dienst nach Bedarf zu starten, zu stoppen und neu zu starten, müssen wir eine Unit-Datei dafür unter erstellen Verzeichnis /etc/systemd/system/ mit Root-Rechten.

sudo vim /etc/systemd/system/[email 

Fügen Sie dann die folgenden Zeilen in die Datei ein:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Speichern Sie die Datei und schließen Sie sie.

Laden Sie als Nächstes die Konfiguration des Systemd-Managers neu, um die neu erstellte Unit-Datei wie folgt zu lesen.

sudo systemctl daemon-reload

Starten Sie dann den VNC-Dienst, aktivieren Sie den automatischen Start beim Systemstart und überprüfen Sie seinen Status wie gezeigt.


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

Das ist alles! In diesem Artikel haben wir erklärt, wie man den VNC-Server auf der Ubuntu-Linux-Distribution installiert und konfiguriert. Teilen Sie uns Ihre Fragen oder Gedanken über das unten stehende Feedback-Formular mit.