updated: | 2023 17. August |
published: | 2023 04. February |
VNC
Gnome's VNC Server VinoDas Virtual Network Computing (VNC) erlaubt es einen entfernten Rechner (Server) auf einem lokalen Rechner (Client) anzuzeigen und ggf. zu steuern. Im Gegensatz zu anderer Fernwartungssoftware ist VNC plattformunabhängig.
Befehlsübersicht
netstat -tulpen | grep -i vino # Prüfe ob Vino gestartet ist
pgrep -a vino # Prüfe mit ps
netstat -nl | grep -i 590 # Prüfe Port 590x
ip addr # Lokale IP-Adresse ermitteln
ifconfig # Lokale IP-Adresse ermitteln
systemctl start vino-server --user # VNC-Server starten als user
/usr/lib/vino/vino-server --sm-disable # VNC starten als root
systemctl status vino-server --user # Status prüfen
systemctl restart vino-server --user # VNC-Server restart
systemctl stop vino-server --user # VNC-Server stop
Vino-Server
Vino wird mit dem gleichnamigen Packet installiert. Optionen bzw. Einstellungen für den Vino-Server werden unter Gnome mit einem der folgenden Programme vorgenommen:
gsettings (console)
dconf (console)
dconf-editor (gui)
Server-Optionen
Optionen auf der Konsole ausgegeben:
for i in $(gsettings list-keys org.gnome.Vino); do echo -e "$i:$(gsettings get org.gnome.Vino $i)" | awk -F ":" ' {printf "%30s \t", $1; printf "%s \n", $2}' ; done
Für den Server stehen folgende Optionen bzw. Einstellungen zur Verfügung:
Option | Standardwert | Beschreibung |
---|---|---|
alternative-port | 5900 | |
authentication-methods | [‘vnc’] | |
disable-background | true | Hintergrundbild abschalten. |
disable-xdamage | false | XDamage - Erweiterung von Xorg abschalten bei Problemen mit Videotreiber. |
icon-visibility | ‘client’ | |
lock-screen-on-disconnect | false | |
mailto | '' | |
network-interface | '' | |
notify-on-connect | true | Eine Meldung wird auf dem Desktop des Server angezeigt. |
prompt-enabled | true | Der Benutzer muß die Verbindung zum Client mit einem Mausklick annehmen. |
require-encryption | true | Verschlüsselung an/abschalten. Für Testzwecke auf false setzen und bei Benutzung des VNC-Client xtightvncviewer. Bei der Nutzung von remmina auf true setzen. |
use-alternative-port | false | |
use-upnp | false | |
view-only | false | |
vnc-password | ‘keyring’ |
Einstellungen vornehmen mit dconf-editor (Gui)
Die Einstellungen im dconf-editor
sind unter folgendem Zweig zu finden: .
Sollte dieser Zweig nicht vorhanden sein, dann ist das Packet vino
zu installieren.
Einstellungen mit gsettings (Konsole)
# Bildschirmfreigabe aktivieren ab Ubuntu Jammy 22.04
gsettings set org.gnome.desktop.remote-desktop.rdp enable true
# Listet alle Schlüssel auf
gsettings list-keys org.gnome.Vino
# Schlüssel ändern
gsettings set org.gnome.Vino authentication-methods "['vnc']"
Bildschirmfreigabe in Ubuntu
Freigabe unter Ubuntu Focal 20.04
Unter der Bildschirmfreigabe kann ein VNC-Passwort gesetzt werden. Die Passwortlänge ist in Ubuntu Focal 20.04 auf maximal 8 Zeichen begrenzt. Im Prinzip reicht es jedoch den VNC-Server zu starten.
# VNC-Server starten als user
systemctl start vino-server --user
Ein gesetztes VNC-Passwort wird in den Gnome-Desktop-Optionen des VNC-Server angezeigt.
gsettings get org.gnome.Vino authentication-methods
['vnc']
Freigabe unter Ubuntu Jammy 22.04
In Ubuntu Jammy 22.04 kann die Bildschirmfreigabe auf der Konsole erfolgen:
gsettings set org.gnome.desktop.remote-desktop.rdp enable true
Die Begrenzung der Passwortlänge auf 8 Zeichen wurde aufgegeben.
VNC-Clients
Ein VNC-Client ist ein Programm, das es gestattet, auf einem PC mit installiertem VNC-Server zuzugreifen bzw. dessen Inhalt anzuzeigen. Es existiert eine Vielzahl an freien VNC-Clients z.B. xtightvncviewer oder Remmina.
xtightvncviewer
xtightvncviewer -via <USER-Name>@<IP-Address> -depth 8 -bgr233 -compresslevel 5 -quality 0 localhost:0
Die Option -via
baut eine Verbindung mit SSH-Tunnel auf. Entsprechend ist das SSH-Passwort einzugeben.
Ein gesetztes VNC-Passwort zur Bildschirmfreigabe (authentication-methods = ['vnc']
) ist ebenfalls einzugeben.
Mit der Umgebungsvariable VNC_VIA_CMD
können weitere SSH-Optionen übergeben werden.
export VNC_VIA_CMD="/usr/bin/ssh -f -v -L %L:%H:%R %G sleep 20"
VNC mit Remmina
Benötigt werden die IP-Adresse, der Benutzername sowie der Legitimierungstyp (SSH-Agent).
Ist auf dem VNC-Server die Option prompt-enabled
auf TRUE gesetzt, dann erscheint eine Bildschirmnachricht auf dem VNC-Server und der Benutzer muss die Anmeldung mit einem Mausklick bestätigen.
VNC mit SSH tunneln
Konsole 1: ssh -v -L 5900:localhost:5900 name@192.168.1.33 Konsole 2: xvnc4viewer localhost:0
oder nimm dieses Programm. Damit kannste gleich die Farbtiefe einstellen (geht gut)
xtightvncviewer -via name@xxx.xxx.xxx.xxx -depth 8 localhost:0