GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

VNC-Server auf Ubuntu 20.04 Focal Fossa Linux

VNC ist ein System, mit dem Sie einen anderen Computer fernsteuern können. Es ermöglicht Ihnen, Ihre Maus- und Tastatureingaben so weiterzuleiten, als ob Sie physisch vor dem System sitzen würden, obwohl Sie sich tatsächlich auf der anderen Seite der Welt befinden könnten.

In diesem Handbuch gehen wir die Schritte zum Einrichten eines VNC-Servers auf Ihrem Ubuntu 20.04-System durch. Wenn wir fertig sind, können Sie von überall aus auf Ihr System zugreifen, vorausgesetzt, Ihr Client-System und der VNC-Server verfügen über eine Internetverbindung.

In diesem Tutorial lernen Sie:

  • So installieren und konfigurieren Sie TightVNC Server
  • So installieren und konfigurieren Sie den XFCE-Desktop-Manager
  • So stellen Sie mit TightVNC Viewer eine Verbindung zu unserem VNC-Server her
  • So tunneln Sie VNC-Verbindungen über SSH
  • Wie man mehrere VNC-Desktops mit einem Systemd-Skript verwaltet

Herstellen einer Verbindung zu einem VNC-Server
Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Ubuntu 20.04 Focal Fossa installiert oder aktualisiert
Software TightVNC-Server, XFCE-Desktop-Manager, TightVNC-Viewer
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

VNC-Server installieren

Wir müssen zuerst ein paar Pakete installieren. Es gibt mehrere Optionen für VNC-Serversoftware, aber für dieses Tutorial verwenden wir TightVNC Server. Neben VNC benötigen wir auch einen grafischen Desktop. XFCE ist eine gute Wahl, also werden wir hier darauf eingehen.

  1. Öffnen Sie zunächst ein Terminal und geben Sie den folgenden Befehl ein, um den TightVNC-Server und die Kerndateien des XFCE-Desktop-Managers zu installieren:
    $ sudo apt install tightvncserver XFCE4 XFCE4-goodies
    
  2. Nachdem die Pakete installiert sind, müssen wir einen Benutzernamen und ein Passwort konfigurieren, die verwendet werden, um sich von einem Client mit dem VNC-Server zu verbinden. Erstellen Sie ein Passwort mit diesem Befehl:
    $ vncpasswd
    
  3. Als Nächstes konfigurieren wir VNC so, dass die XFCE-Desktopumgebung gestartet wird, wenn ein Client eine Verbindung herstellt. Verwenden Sie nano oder den Texteditor Ihrer Wahl (z. B. Atom, Sublime), um die folgende Datei zu erstellen:
    $ nano ~/.vnc/xstartup
    
  4. Fügen Sie die folgenden paar Zeilen ein und speichern Sie dann Ihre Änderungen und beenden Sie die Datei:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    startxfce4 &
    

    xstartup-Konfigurationsdatei
  5. Bearbeiten Sie nach diesen vorgenommenen Änderungen die Berechtigungen der Datei, um sie ausführbar zu machen:
    $ chmod +x ~/.vnc/xstartup
    

VNC-Server starten

VNC läuft als Dienst auf Ihrem System. Damit sich Clients verbinden können, muss der VNC-Server offensichtlich laufen und auf eingehende Verbindungsversuche warten. Nachdem unsere Konfiguration abgeschlossen ist, können wir den VNC-Server mit dem folgenden Befehl starten:

$ vncserver

Wenn Ihr Terminal eine Ausgabe wie im Screenshot unten zurückgibt, läuft Ihr VNC-Server korrekt.

VNC-Server starten

VNC verwendet für jeden erstellten Remote-Desktop einen neuen Port. An diesem Punkt sollte Ihr System auf Port 5901 lauschen für eingehende VNC-Verbindungen. Mit ss -ltn können Sie sich davon überzeugen Befehl:

$ ss -ltn

VNC überwacht Port 5901

Wenn Sie die UFW-Firewall aktiviert haben, müssen Sie Port 5901 öffnen damit eingehende VNC-Verbindungen nicht blockiert werden:

$ sudo ufw allow from any to any port 5901 proto tcp
Rule added
Rule added (v6)

Mit VNC-Server verbinden

Es gibt viele Möglichkeiten für VNC-Clients und jeder von ihnen sollte in der Lage sein, eine Verbindung zu Ihrem neu gestarteten VNC-Server herzustellen. Wenn Sie noch keinen bevorzugten Client zur Verwendung haben, folgen Sie uns, während wir die Anweisungen zum Herstellen einer Verbindung zum VNC-Server mit dem TightVNC Viewer behandeln.

  1. Beginnen Sie mit der Installation des xtightvncviewer Paket auf Ihrem Ubuntu-Client-System:
    $ sudo apt install xtightvncviewer
    
  2. Sobald der VNC-Client installiert ist, können Sie den vncviewer verwenden Befehl, gefolgt von entweder dem Hostnamen oder der IP-Adresse des VNC-Servers, um sich damit zu verbinden.
    $ vncviewer linuxconfig.org:1
    

    Geben Sie Ihr Passwort ein, das wir zuvor beim Einrichten von VNC Server erstellt haben. Wenn alles gut gelaufen ist, wird Ihnen eine XFCE-Desktopsitzung angezeigt, die auf dem Ubuntu-System des Remote-VNC-Servers ausgeführt wird:

    Mit VNC-Server verbinden

VNC durch SSH tunneln

Für zusätzliche Sicherheit können Sie die VNC-Verbindung über SSH auf Ihrem VNC-Server tunneln. Dies setzt natürlich voraus, dass Sie SSH-Zugriff auf den VNC-Server haben. Wenn Sie zusätzliche Sicherheit wünschen, befolgen Sie diese Schritte:

  1. Wenn Sie SSH noch nicht installiert haben, ist das eine ziemlich offensichtliche Voraussetzung dafür, dass dies funktioniert:
    $ sudo apt install ssh
    
  2. Erstellen Sie als Nächstes einen SSH-Tunnel auf einem lokalen Port 5901, der zu einem Remote-Port 5901 auf Ihrem VNC-Server führt. Stellen Sie im folgenden Befehl sicher, dass Sie user1 ersetzen und linuxconfig mit dem Benutzernamen und Hostnamen Ihres VNC-Servers:
    $ ssh -L 5901:127.0.0.1:5901 -N -f -l user1 linuxconfig
    

    Der obige Befehl öffnet einen lokalen Port 5901 auf einer Localhost-Loopback-Netzwerkschnittstelle 127.0.0.1 :

    $ ss -ltn
    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port
    LISTEN      0      128       0.0.0.0:22                    0.0.0.0:*
    LISTEN      0      5       127.0.0.1:631                   0.0.0.0:*
    LISTEN      0      128     127.0.0.1:6010                  0.0.0.0:*
    LISTEN      0      128     127.0.0.1:6011                  0.0.0.0:*
    LISTEN      0      128       0.0.0.0:38299                 0.0.0.0:*
    LISTEN      0      128     127.0.0.1:5901                  0.0.0.0:*
    
  3. Verwenden Sie als Nächstes den lokalen Port 5901 um sich über den SSH-Tunnel mit einem entfernten VNC-Server zu verbinden:
    $ vncviewer localhost:1
    

Startskript des VNC-Serversystems

Während diese Konfiguration funktioniert, gibt es möglicherweise ein Szenario, in dem Sie mehrere VNC-Desktopsitzungen verwalten müssen. In diesem Fall kann die Erstellung eines systemd-Startskripts dies erleichtern.

Verwenden Sie nano oder einen anderen Texteditor, um die folgende Datei zu erstellen:

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

Nachdem Sie die Datei geöffnet haben, fügen Sie die folgenden Zeilen ein, während Sie user1 ersetzen username durch den Benutzernamen Ihres VNC-Benutzers auf Zeile 7 und Zeile 10. Ändern Sie optional die Einstellungen für die Bildschirmauflösung und wenden Sie einen anderen vncserver an Optionen oder Argumente:

[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target

[Service]
Type=forking
User=user1
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/user1/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Systemd-Startdatei

Als nächstes laden Sie Systemd neu, damit die Änderungen wirksam werden:

$ sudo systemctl daemon-reload

So starten Sie den VNC-Desktop 1 , geben Sie ein:

$ sudo service vncserver@1 start

So stoppen Sie den VNC-Desktop 1 , ausführen:

$ sudo service vncserver@1 stop

Der folgende Linux-Befehl aktiviert den VNC-Desktop 1 nach Neustart starten:

$ sudo systemctl enable vncserver@1

So starten Sie den VNC-Desktop 2 , geben Sie ein:

$ sudo service vncserver@2 start

Und so weiter…

Schlussfolgerung

In diesem Handbuch haben wir gesehen, wie man TightVNC Server auf Ubuntu 20.04 Focal Fossa installiert und konfiguriert. Wir haben den XFCE-Desktop-Manager für unsere VNC-Clients zur Verwendung beim Herstellen einer Verbindung installiert.

Wir haben auch gelernt, wie man TightVNC Viewer verwendet, um sich remote mit unserem VNC-Server zu verbinden. Darüber hinaus haben wir auch behandelt, wie man VNC-Verbindungen für zusätzliche Sicherheit durch SSH tunnelt und ein benutzerdefiniertes Systemd-Startskript verwendet, um mehrere VNC-Desktop-Verbindungen effizient zu verwalten.


Ubuntu
  1. Dinge, die nach der Installation von Ubuntu 20.04 Focal Fossa Linux zu tun sind

  2. So richten Sie einen FTP-Server unter Ubuntu 20.04 Focal Fossa Linux ein

  3. Standard-Root-Passwort auf Ubuntu 20.04 Focal Fossa Linux

  4. So richten Sie den SFTP-Server unter Ubuntu 20.04 Focal Fossa Linux ein

  5. So installieren Sie LaTex unter Ubuntu 20.04 Focal Fossa Linux

Deaktivieren Sie automatische Updates auf Ubuntu 20.04 Focal Fossa Linux

So installieren Sie Yarn unter Ubuntu 20.04 Focal Fossa Linux

So installieren Sie Go unter Ubuntu 20.04 Focal Fossa Linux

Installieren Sie VirtualBox auf Ubuntu 20.04 Focal Fossa Linux

Installieren Sie Lutris auf Ubuntu 20.04 Focal Fossa Linux

Installieren Sie Python 2 unter Ubuntu 20.04 Focal Fossa Linux