Wie kann man mit VNC eine Verbindung zu einer laufenden X-Session herstellen?
- Einleitung
- Grundlagen der X-Session und VNC
- Warum direkt auf die laufende X-Session verbinden?
- Voraussetzungen für den Zugriff auf die laufende X-Session
- Technische Umsetzung
- Sicherheitsaspekte
- Fazit
Einleitung
VNC (Virtual Network Computing) ist eine beliebte Methode, um einen entfernten Desktop zu steuern.
Dabei wird oft eine virtuelle X-Session gestartet, die vom aktuell angemeldeten Benutzer unabhängig ist.
In manchen Fällen möchte man jedoch direkt auf die tatsächlich laufende X-Session eines Benutzers zugreifen,
Dies ist besonders bei Multi-User-Systemen oder Servern mit lokalem grafischem Login wichtig.
Grundlagen der X-Session und VNC
Eine X-Session ist die grafische Benutzersitzung, die unter dem X Window System läuft. Üblicherweise ist diese Sitzung an einen bestimmten Display gebunden, meist :0 für den lokalen Bildschirm.
Standardmäßig starten viele VNC-Server eigene virtuelle Displays wie :1, :2 usw., die unabhängig von der lokalen Anzeige sind.
Dadurch sind Anwendungen und der Desktop innerhalb der VNC-Sitzung von denen des lokal angemeldeten Benutzers getrennt.
Warum direkt auf die laufende X-Session verbinden?
Das direkte Verbinden mit der laufenden X-Session ermöglicht es, genau das zu sehen, was am lokalen Bildschirm angezeigt wird, inklusive laufender Programme und Fensteranordnungen.
Dies ist in Situationen hilfreich, in denen mehrere Personen denselben Desktop teilen oder ein Administrator den aktuellen Status eines lokalen Benutzers überwachen oder unterstützen möchte.
Voraussetzungen für den Zugriff auf die laufende X-Session
Um VNC nutzen zu können, um eine existierende X-Session zu steuern, benötigt man im Allgemeinen:
Die Steuerungssitzung muss auf diese X-Session zugreifen dürfen, was bedeutet, dass die Zugriffsrechte korrekt gesetzt sein müssen, denn X-Sitzungen sind aus Sicherheitsgründen oft auf den lokalen Benutzer begrenzt.
Technische Umsetzung
Ein verbreitetes Werkzeug, um mit einer laufenden X-Session per VNC zu verbinden, ist x11vnc. Im Gegensatz zu anderen VNC-Servern, die eigene virtuelle Displays starten, erlaubt x11vnc die Spiegelung der bereits laufenden X-Session.
Der Server wird auf dem Rechner gestartet und bindet sich an das echte Display, typischerweise :0. Das VNC-Protokoll stellt dann die Verbindung zum entfernten Client her, der in Echtzeit die Ausgabe dieser Session empfängt und Eingaben zurücksendet.
Die typische Vorgehensweise beinhaltet das Installieren von x11vnc und das Starten mit einer Kommandozeile wie x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever.
Die Angabe der -auth-Datei ist notwendig, damit das Programm die Zugriffsrechte auf die X-Session gewährleisten kann.
Sicherheitsaspekte
Beim Zugriff auf eine laufende X-Session via VNC ist es wichtig, die Verbindung abzusichern, da sonst sensible Eingaben und Ausgaben unverschlüsselt übertragen werden.
Deshalb empfiehlt sich der Einsatz von SSH-Tunneling oder die Verwendung von verschlüsselten VNC-Varianten.
Außerdem sollte das Passwortmanagement des VNC-Servers bedacht und nur autorisierten Personen Zugriff gestattet werden.
Fazit
Die Verbindung mittels VNC zu einer laufenden X-Session ist dank Tools wie x11vnc problemlos möglich und bietet den Vorteil, die aktuell aktive grafische Sitzung remote zu steuern und zu beobachten.
Dabei sind Berechtigungen und Sicherheit wichtige Faktoren, die vor der Einrichtung sorgfältig geprüft und konfiguriert werden sollten.
