TigerVNC ist eine Anwendung, die es Benutzern ermöglicht, mit grafischen Anwendungen auf Remote-Computern zu interagieren. TigerVNC ist eine Implementierung von Virtual Network Computing (VNC), die ein Client/Server-Modell verwendet. Das von TigerVNC bereitgestellte Leistungsniveau ist in der Lage, 3D-Anwendungen auszuführen und Videospiele zu spielen. Auf der Sicherheitsseite unterstützt TigerVNC die TLS-Verschlüsselung und andere erweiterte Authentifizierungsmethoden. In diesem Handbuch betrachten wir die Installation und Konfiguration von tigervnc unter Arch Linux 2018.01.01.
TigerVNC-Komponenten
Da TigerVNC eine Client-Server-Anwendung ist, schauen wir uns die Client- und Server-Anwendungen an, die auf Ihrem Betriebssystem installiert sind, wenn Sie TigerVNC einrichten.
Serverseitige Komponenten
Linux/Unix
Xvnc – Dies ist der VNC- und X-Server für TigerVNC.
vncserver – Dies ist ein Wrapper-Skript, das zum Verwalten des Startens des Xvnc-Daemons verwendet wird
vncpasswd – Wenn die VNC-Authentifizierung aktiviert ist, ist vncpasswd für die VNC-Server-Passwortverwaltung verantwortlich.
vncconfig – Wird verwendet, um mit einer laufenden Instanz von Xvnc . zu interagieren
x0vncserver – Dies ist eine Demonstration eines einfachen VNC-Servers, der jede X-Anzeige kontinuierlich abfragt, damit VNC sie steuern kann
TigerVNC-Clientseite
Jede Version von TigerVNC-Anwendungen wird mit einem plattformübergreifenden TigerVNC-Viewer geliefert. Dadurch wird eine Verbindung zum VNC-Server hergestellt, sodass Sie mit einem Remote-Desktop interagieren können, der vom VNC-Server angezeigt wird. vncviewer kann verwendet werden, um eine Verbindung zu einem VNC-Server herzustellen, der auf einer beliebigen Plattform (Linux, Unix oder Windows) ausgeführt wird.
Installation von tigervnc auf Arch (Version – 2018.01.01)
TigerVNC kann auf Arch installiert werden, indem das Binärpaket aus dem Community-Repository heruntergeladen und installiert wird. Wenn Sie nach tigervnc suchen, erhalten Sie eine Ausgabe wie:
$ sudo pacman -Ss tigervnc
community/tigervnc 1.8.0-3
Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC.
Um das TigerVNC-Paket zu installieren, führen Sie Folgendes aus:
$ sudo pacman -S tigervnc --noconfirm
Die Installation dieses Pakets stellt den erforderlichen vncserver, x0vncserver und auch vncviewer bereit.
TigerVNC konfigurieren
Es ist gut zu beachten, dass Vncserver zwei wichtige Fernsteuerungsfähigkeiten bietet:
- Virtueller Server im Headless-Modus mit virtueller Konsole
- Direkte Kontrolle von physischen lokalen X-Sitzungen,
Ausführen von vncserver
Wenn Sie vncserver zum ersten Mal ausführen, wird die vncserver-Umgebung initialisiert, die vncserver-Konfiguration generiert und Passwörter für die Benutzerauthentifizierung hinzugefügt. Dies wird durch Ausführen des Befehls erreicht:
$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
New 'dev.jmtai.com:1 (jmutai)' desktop is dev.jmtai.com:1
Creating default startup script /home/jmutai/.vnc/xstartup
Creating default config /home/jmutai/.vnc/config
Starting applications specified in /home/jmutai/.vnc/xstartup
Log file is /home/jmutai/.vnc/dev.jmtai.com:1.log
Dies fordert Sie auf, das Kennwort für den Zugriff auf Ihre Desktops einzugeben, einzugeben und zu überprüfen. Wenn Sie ein schreibgeschütztes Passwort festlegen möchten, drücken Sie bitte Ja bei der nächsten Eingabeaufforderung.
Wie aus der Ausgabe hervorgeht, wird die generierte Konfiguration gespeichert unter ~/.vnc/config und Startskript wird generiert und gespeichert in ~ / .vnc / xstartup. Alle Protokolle von vncserver werden in der Datei gespeichert ~/.vnc/hostname:1.log.
Der :1 bezeichnet die TCP-Portnummer, auf der der virtuelle vncserver läuft. In diesem Fall ist :1 tatsächlich der TCP-Port 5901 (5900+1). Wenn eine andere Instanz von vncserver gestartet wird, wird diese auf der nächst höheren freien Ebene ausgeführt, dh 5902 (5900+2) die enden soll in:2 wie oben. Die Anzahl der VNC-Server, die unter Linux gestartet werden können, ist unbegrenzt, der Speicher ist der einzige limitierende Faktor.
Bearbeiten der Umgebungsdatei
~ / .vnc / xstartup Funktionen wie .xinitrc und es wird beim Start von vncserver bezogen. Benutzer sollten mindestens eine DE aus dieser Datei starten. Als example, um i3wm zu starten, ändern Sie die Datei wie folgt:
$ cat ~/.vnc/xstartup
#!/bin/bash
exec i3 &>/dev/null
Die Datei sollte ausführbar sein:
$ chmod +x ~/.vnc/xstartup
Stoppen von vncserver
Um vncserver zu stoppen, verwenden Sie den Befehl:
$ vncserver -kill :1
Ersetzen :1 mit der beim Start angegebenen Relevanzinstanznummer.
Hinzufügen von vncserver-Optionen
Unterstützte Serveroptionen können durch Bearbeiten der Datei ~/.vnc/config hinzugefügt werden. Die gängigen Optionen sind:
$ cat ~/.vnc/config
securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=1200x700
dpi=96
localhost
alwaysshared
Ändern Sie sie nach Ihren Wünschen und speichern Sie sie.
Starten und Stoppen von vncserver über systemd
Um vncserver mit systemd zu steuern, erstellen Sie zunächst eine systemd-Unit-Datei für den Benutzer,
$ cat /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=jmutai
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
wo :1 ist die Umgebungsvariable $DISPLAY. Ersetzen jmutai mit dem gewünschten Benutzernamen und 1440×900 mit der Auflösung, die Sie einstellen möchten.
Um den Dienst zu starten, führen Sie
$ sudo systemctl start vncserver@:1.service
Um die Ausführung beim Booten zu aktivieren, führen Sie Folgendes aus:
$ sudo systemctl enable vncserver@:1.service
Steuerung der lokalen Anzeige mit vncserver
Zu diesem Zweck wird die Binärdatei x0vncserver bereitgestellt, die eine direkte Kontrolle über eine physische X-Sitzung ermöglicht. Rufen Sie es wie folgt auf:
$ x0vncserver -display :0 -passwordfile ~/.vnc/passwd
Wed Jan 10 01:07:17 2018
Geometry: Desktop geometry is set to 1920x1080+0+0
Main: XTest extension present - version 2.2
Main: Listening on port 5900
systemd-Einheit für dasselbe sieht so aus:
$ cat /etc/systemd/system/x0vncserver.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=foo
ExecStart=/usr/bin/sh -c '/usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/jmutai/.vnc/passwd &'
[Install]
WantedBy=multi-user.target
Verbindung zum vncserver
Eine beliebige Anzahl von Clients kann sich mit einem vncserver verbinden:
$ ip ad show dev wlp1s0
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e4:a7:a0:ef:27:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp1s0
valid_lft 595575sec preferred_lft 595575sec
inet6 fe80::557e:6563:6f86:f8b2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
$ vncviewer
Enter Geben Sie die IP-Adresse ein und klicken Sie auf Verbinden. Als nächstes werden Sie nach einem Passwort gefragt. Verwenden Sie das zuvor festgelegte Passwort.
Installieren von GUI-basierten Clients für tigervnc auf Arch
Für die Verbindung mit vncserver stehen eine Reihe von GUI-Anwendungen zur Verfügung, darunter:
Krdc:
$ sudo pacman -S krdc
Geben Sie beim Starten von krdc die IP-Adresse des vcn-Servers unter URL ein und verbinden Sie sich:
Desktop:
$ sudo pacman -S rdesktop
Remina
$ sudo pacman -S remmina
Um eine dieser GUI-basierten Anwendungen zu verwenden, starten Sie sie und geben Sie die erforderlichen Details an.