So installieren und konfigurieren Sie TigerVNC unter Arch Linux

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:

  1. Virtueller Server im Headless-Modus mit virtueller Konsole
  2. 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.