VNC/RFB

Zugriff auf den Benutzerdesktop wegen Fehlersuche o.ä.:
Hier geht es nicht um eine allgemeine Remotedesktopbenutzung !!!
Es soll die Oberfläche des gerade angemeldeten Benutzers vom Administrator übernommen werden !!!

funktioniert unter Leap 15.1 (ohne Verschlüsselung!)
Server:

zypper in xorg-x11-Xvnc
x0vncserver -SecurityTypes=none

Client: Ultravnc oder Tightvncclient starten und servernamen:0 angeben.

unter SLED15:

KDE

zypper in krfb

Der Benutzer wird vom Administrator aufgefordert das Programm krfb zu starten.
Das Programm legt sich rechtsunten in die Taskleiste. Er soll das Symbol jetzt anklicken und eine „neue persönliche Einladung“ erstellen.
Das Programm zeigt jetzt an wie remote sich verbunden werden kann.
z.B.

Rechner: 192.168.2.111:5900
Passwort: xyz123AB

Diese Infos gibt der Benutzer an den Admin weiter. Das Programmfenster wird geschlossen.Das Programm läuft aber weiter als Icon in der Taskleiste.
Der Administrator versucht remote sich mit einem VNC-Viewer auf den Rechner 192.168.2.111:5900 zu verbinden.
Jetzt geht beim Benutzer ein Hinweisfenster von krfb auf, ob er die Remoteconnection akzeptieren will. Ja,akzeptieren!!!
Jetzt wird der Administrator aufgefordert, das ihm zuvor mitgeteilte Passwort einzugeben.
Ist das getan, wird die Verbindung hergestellt und der Administrator erhält Zugriff auf den Desktop des Benutzers.

GNOME

Auf dem Benutzerpc muss mit root-Rechten das Programm vino installiert werden:

zypper in vino

Der Benutzer wird vom Administrator aufgefordert das Programm vino-server zu starten.
Das Programm liegt ( auch bei 64 BIT) im Verzeichnis /usr/lib/vino/ .

/usr/lib/vino/vino-server

Der Administrator versucht jetzt mit seinem VNC-Client (nicht mit seinem Web-Browser!) auf den Client zuzugreifen,
indem er den einfachen Hostnamen des VNC-Servers angibt:

Auf dem Desktop erscheint jetzt eine Abfrage, ob der Benutzer den Remotezugriff auf seinen Desktop zulassen will:


Nach dem Allow kann der Administrator jetzt auf den Desktop zugreifen.

Debian

apt install x11vnc xrdp

Datei /usr/lib/systemd/system/x11vnc.service erstellen.

x11vnc.service
[Unit]
Description=Start x11vnc
After=multi-user.target
 
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -localhost -rfbport 5900 -shared -ncache 10
 
[Install]
WantedBy=multi-user.target
systemctl enable x11vnc
systemctl enable xrdp
systemctl start x11vnc
systemctl start xrdp

danach ist der Zugriff mittel mstsc auf den server möglich.

mögliche Fehler:

Firewall gestartet?
Falsche Daten vom Benutzer?
Rechner anpingbar?
Programm wieder geschlossen?
falsche Konfiguration im Verzeichnis ~/.vnc ?
offene Ports können mit nmap pcnr1234 gefunden werden.

Clientzugriff

auf Server:

x11vnc -ncache 10 -passwd geheim
#nur linken Monitor anzeigen:
x11vnc -ncache 10 -password geheim -clip xinerama0
#nur rechten Monitor anzeigen:
x11vnc -ncache 10 -password geheim -clip xinerama1

auf Windowsclient:

"C:\Program Files\TightVNC\tvnviewer.exe" myserver -password=geheim

Javazugriff

Problem: Der Javazugriff funktioniert nicht mehr wegen veraltetem Zertifikat.
Lösung: jar.Datei einfach in der Konsole starten

java -jar TightVncViewer.jar HOST myserver PORT 5900


VNC über einen Webbrowser:
Datei tightvnc-jviewer.jar in ein Verzeichnis /vnc eines Webservers kopieren.
Dann diese Datei vnc.jnlp auch dort erstellen.

vnc.jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://meinserver/vnc/" href="vnc.jnlp">
    <information>
        <title>VNC-Starter</title>
        <vendor>Richard</vendor>
        <description>VNC-Starter für JAVA</description>
    </information>
    <resources>
        <j2se version="1.4+" />
        <jar href="tightvnc-jviewer.jar" />
    </resources>
    <security>
        <all-permissions/>
    </security>
    <offline-allowed/>
    <application-desc main-class="com.glavsoft.viewer.Viewer" />

Zugriff über http://meinserver/vnc/vnc.jnlp jetzt möglich
zurück