[SOLVED] Remote Desktop mit VNC trotz screen locker?

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

[SOLVED] Remote Desktop mit VNC trotz screen locker?

Beitrag von whiizy » 19.06.2023 21:42:23

Kurz zum Anlass: In einer entfernten Laborumgebung im Gebäude brauche ich vorübergehend einen ferngesteuerten Laptop mit einem VNC Server. Da Debian Bookworm gerade raus ist, habe ich mal versucht auf die Schnelle einem Windows komplett das Bookworm Live Image überzubraten. Nachdem das Live Image auf dem Gerät erfolgreich startete, habe ich es mit Debiancalamares aus der Live-Umgebung installiert. Kleine Stolperfalle dabei übrigens, daß die Installation aus dem Image kurz vor Schluß (!) unbedingt doch noch einen Netzwerk-Connect braucht, um grub zu installieren.

Vorgefunden habe ich dann KDE mit Plasma (Wayland). Scheint irgendwie ein Hybrid aus Wayland im Kern und X11 an der Oberfläche zu sein. Blicke da aber noch nicht ganz durch. Test-Applikationen wie xeyes lassen sich jedenfalls wie eh und je per ssh umlenken.

VNC Server unter Wayland scheinen wohl noch in Progress zu sein. Zumindest KDE's DebianKrfb schien zunächst zu funktionieren. Es stellte sich aber heraus, daß es in Bookworm keyboard und mouse nicht übermittelt. Dieser Bug ist erst in Trixie behoben, aus der ich Krfb dann geholt habe.

Jetzt läuft dieser VNC Server also, aber ich wünsche mir eine Möglichkeit, den Laptop bzw. dessen Desktop für Dahergelaufene zu sperren (z.B. Passwort), aber gleichzeitig von Ferne den entsperrten Desktop per VNC zu bedienen. Wenn ich KDE's Screen Locker benutze, sehe ich ja erwartungsgemäß den geperrten Desktop auch in meinem fernen VNC Client DebianKrdc.

Scheint irgendwie auch folgerichtig bzw. logisch, aber ich weiß von Raspberry Pi Desktops, daß es da mal eine Lösung gab den echten Screen zu Locken, aber im VNC Client einen offenen Desktop zu haben. Raspberry benutzt allerdings den proprietären RealVNC wenn ich mich recht erinnere - und sowas will ich natürlich vermeiden.

Zur Not muß ich halt klassisch wieder einen firefox und Weiteres per X11-Forwarding über SSH heranholen.

Frage:
Habt ihr vielleicht eine Idee, ob und wie man aus dem Dilemma - lokal Desktop gesperrt, remote aber bedienbar - mit dem VNC Server DebianKrfb herauskommen kann?

LG

PS: Etwas blöd finde ich, daß Krfb automatisch auf allen Interfaces lauscht. Ich würde diesen VNC-Server viel lieber einzig auf localhost 127.0.0.1 lauschen lassen und diesen Socket dann durch SSH tunneln.
Zuletzt geändert von whiizy am 23.06.2023 09:52:54, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von MSfree » 20.06.2023 19:50:33

whiizy hat geschrieben: ↑ zum Beitrag ↑
19.06.2023 21:42:23
Scheint irgendwie auch folgerichtig bzw. logisch, aber ich weiß von Raspberry Pi Desktops, daß es da mal eine Lösung gab den echten Screen zu Locken, aber im VNC Client einen offenen Desktop zu haben.
Irgendwie ist das Windows-Denke. Dort kann man die Loginsession per Remote Desktop von der Ferne übernehmen, wobei gleichzeitig der lokale Bildschirm zwangsgesperrt wird.

Ich habe es bei mir so eingerichtet, daß die Remote Session via VNC eine völlig eigenständgie Session ist und mit der Session am lokalen Bildschirm nichts zu tun hat. Man ist dann sozusagen zweimal eingelogt, einmal am lokalen Bildschirm, der natürlic auch gesperrt sein kann. Ein zweites Mal ist man via VNC eingelogt.

Das läßt sich mit lightdm ziemlich einfach einrichten, entsprechende Einträge für eine VNC-Session sind bereits in der Datei /etc/lightdm/lightdm.conf vorhanden aber auskommentiert. Die nötigen Pakete wären Debianlightdm und Debiantightvncserver. Als Desktop habe ich aber LXDE am Laufen. Ob das auch mit KDE klappt, weiß ich nicht. Auf jeden Fall aber emuliert der tightvnssever nur eine X11-Session, Wayland geht damit nicht.
Ich würde diesen VNC-Server viel lieber einzig auf localhost 127.0.0.1 lauschen lassen und diesen Socket dann durch SSH tunneln.
Der SSH-Tunnel ist kein Problem. Die Verbindung von aussen kann man mit Debianiptables oder Debiannftables verhindern.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von whiizy » 20.06.2023 21:44:04

MSfree hat geschrieben: ↑ zum Beitrag ↑
20.06.2023 19:50:33
Irgendwie ist das Windows-Denke. Dort kann man die Loginsession per Remote Desktop von der Ferne übernehmen, wobei gleichzeitig der lokale Bildschirm zwangsgesperrt wird.
Kann ich nicht beurteilen, ich habe überhaupt kein Windows :)
Es gibt in diesem Fall schlicht die Notwendigkeit, den Desktop auf dem Laptop fernzubedienen, aber sich gleichzeitig davor zu schützen, daß jemand die Aktivitäten am lokalen Laptop-Display beobachten oder im schlimmsten Fall den Laptop dort kapern kann.
Ich habe es bei mir so eingerichtet, daß die Remote Session via VNC eine völlig eigenständgie Session ist und mit der Session am lokalen Bildschirm nichts zu tun hat. Man ist dann sozusagen zweimal eingelogt, einmal am lokalen Bildschirm, der natürlic auch gesperrt sein kann. Ein zweites Mal ist man via VNC eingelogt.
Das klingt vernünftig, scheint aber gleichzeitig den höchsten Aufwand zu bedeuten, wenn gleich zwei desktop-sessions parallel gerechnet werden. Aber ist immerhin ein Ausweg aus dem Dilemma, daß in einer Einzel-Session beide User (lokal und remote) vor dem gleichen screenlocker sitzen.

Die Auslassungen zu lightdm sind interessant, allerdings läuft unter KDE hier der sddm. Etwas versteckt kann man unten links im Greeter die Desktop Session umstellen von Plasma (Wayland) auf Plasma (X11). Vielleicht funktionieren bei Rückfall auf Plasma (X11) ja die KlassikerDebiantigervnc-standalone-server oder Debiantightvncserver wieder. Unter der Wayland Session funktionierten die bei mir leider nicht mehr, deshalb war ich zu Debiankrfb gewechselt. Wenn es mit Wayland und krfb keine Möglichkeit für zwei unabhängige Desktop-Sessions gibt, werde ich wohl wieder auf Plasma (X11) zurückgehen und dort mein Glück versuchen.
Der SSH-Tunnel ist kein Problem. Die Verbindung von aussen kann man mit Debianiptables oder Debiannftables verhindern.
... danke für diesen Tip. An dieser Stelle hat man zum Glück deutlich mehr Optionen.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von MSfree » 20.06.2023 22:05:49

whiizy hat geschrieben: ↑ zum Beitrag ↑
20.06.2023 21:44:04
Das klingt vernünftig, scheint aber gleichzeitig den höchsten Aufwand zu bedeuten, wenn gleich zwei desktop-sessions parallel gerechnet werden.
Zumindest bei mir mit LXDE ist das überhaupt kein Problem. Das Bißchen CPU-Last, das dabei verursacht wird, ist nicht der Rede Wert. Die beiden Sessions belegen allerdings Hauptspeicher, man sollte also mindestens 1.5GB RAM haben, wenn man zwei Sessions laufen lassen will.
Die Auslassungen zu lightdm sind interessant, allerdings läuft unter KDE hier der sddm.
Das ist technisch gesehen falsch. KDE wird von sddm nach dem Login gestartet. Es läuft also nicht sddm unter KDE sondern KDE unter sddm.

Davon abgesehen kann man einfach lightdm installieren. Das ersetzt normalerweise sddm und dann läuft KDE halt unter lightdm.
Vielleicht funktionieren bei Rückfall auf Plasma (X11) ja die KlassikerDebiantigervnc-standalone-server oder Debiantightvncserver wieder. Unter der Wayland Session funktionierten die bei mir leider nicht mehr, deshalb war ich zu Debiankrfb gewechselt.
Diese Art von Remote Desktop ist in meinen Augen von hinten durch die Brust ins Auge. Warum sollte man eine lokale Session starten, und in dieser ein Programm, das 60 Screenshots pro Sekunde macht und diese dann per VNC oder RFB an den entfernten Rechner überträgt. Genau das lastet den Rechner stark aus.

Wenn man es so einrichtet wie ich es skiziziert habe. läuft einfach ein zweiter X-Server auf dem System, nämlich der, den tightvncserver direkt zur Verfügung stellt. lightdm und der Desktop zeichnen dann direkt in den Xserver, was dieses umständliche Snapshooting des Desktops völlig unnötig macht.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von whiizy » 20.06.2023 22:52:26

MSfree hat geschrieben: ↑ zum Beitrag ↑
20.06.2023 22:05:49
Das ist technisch gesehen falsch. KDE wird von sddm nach dem Login gestartet. Es läuft also nicht sddm unter KDE sondern KDE unter sddm.
Ich meinte das auch mehr in dem Sinn, daß mit KDE zusammen meist sddm verwendet wird, schon klar. Auf meinem Home-PC nutze ich übrigens auch LXDE mit lightdm.
Davon abgesehen kann man einfach lightdm installieren. Das ersetzt normalerweise sddm und dann läuft KDE halt unter lightdm.
... mit solchen Anwandlungen habe ich allerdings eher schlechte Erfahrungen gemacht. Zu leicht wird so ein konsistentes System ohne Not "strubbelig". So modular wie gehofft sind Displaymanager und Session dann oftmals doch nicht.
Diese Art von Remote Desktop ist in meinen Augen von hinten durch die Brust ins Auge. Warum sollte man eine lokale Session starten, und in dieser ein Programm, das 60 Screenshots pro Sekunde macht und diese dann per VNC oder RFB an den entfernten Rechner überträgt. Genau das lastet den Rechner stark aus.

Wenn man es so einrichtet wie ich es skiziziert habe. läuft einfach ein zweiter X-Server auf dem System, nämlich der, den tightvncserver direkt zur Verfügung stellt. lightdm und der Desktop zeichnen dann direkt in den Xserver, was dieses umständliche Snapshooting des Desktops völlig unnötig macht.
So ähnlich muß das auf dem Raspian-System gelaufen sein, an das ich mich eingangs vage erinnert hatte. Ich weiß noch, daß ich mich dort per ssh eingeloggt hatte und an der Kommandozeile 'vncserver -localhost' gestartet habe. Diese Session hatte ich dann von 127.0.0.1 über ssh getunnelt und mit tigervnc-viewer bedient. Ist im Detail aber nicht mehr wichtig, denn das war ja auch ein klassisches X11 System.

Mein Interesse in diesem Thread galt vielmehr der KDE Desktop Session Plasma (Wayland) und ob man hier möglicherweise irgendwie den lokalen Screen locken kann, ohne daß das gleichzeitig auch im remote VNC-client (hier z.B. krdc) passiert.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von MSfree » 21.06.2023 08:11:41

whiizy hat geschrieben: ↑ zum Beitrag ↑
20.06.2023 22:52:26
So ähnlich muß das auf dem Raspian-System gelaufen sein, an das ich mich eingangs vage erinnert hatte. Ich weiß noch, daß ich mich dort per ssh eingeloggt hatte und an der Kommandozeile 'vncserver -localhost' gestartet habe.
Und genaus diesen Aufruf (vncserver) führt lightdm in seinr Abwandlung als Xvnc aus, so daß du dich darum nicht kümmern mußt. Im Übrigen hatte ich bisher nie Probleme damit, lightdm zu installieren. Das hat hier noch nie etwas durcheinander gebracht. Der lightdm hat den vormals installierten Displaymanager einfach ersetzt und beim nachästen Boot hatte sich halt lightdm gemeldet statt beispielsweise sddm. Ob man damit nun eine KDE-Session, eine Gnome-Session oder eine anderen Desktop oder WIndowmanager startet, spielt keine Rolle.
Mein Interesse in diesem Thread galt vielmehr der KDE Desktop Session Plasma (Wayland) und ob man hier möglicherweise irgendwie den lokalen Screen locken kann, ohne daß das gleichzeitig auch im remote VNC-client (hier z.B. krdc) passiert.
Wie gesagt, wenn man einfach eine zweite Xsession mittels vncserver aufmacht, erübrigt sich das Problem des gelockten Bildschirms von selbst, weil es zwei getrennte Sessions sind.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von whiizy » 22.06.2023 14:04:37

Habe jetzt erstmal eine akzeptable Lösung für mich gefunden.
Was mich weitergebracht hat, war auf dem Laptop überhaupt keine KDE Desktop Session zu starten, also weder Plasma (Wayland) noch Plasma (X11). Ich lasse den Laptop nach dem Hochfahren direkt am grafischen Login-Bildschirm verharren.

Offenbar konkurriert eine Desktop-Session nämlich mit der VNC-Session. Außerdem ist so schonmal das erste Problem gelöst, daß der Bildschirm am Gerät gelockt bleibt.

Eine VNC-Session baue ich dann wieder auf, wie oben schonmal angedeutet:

Ich logge mich von Ferne als User per SSH auf dem Laptop ein und starte dann den VNC-Server mit dem Kommando 'vncserver -localhost'. Paket ist Debiantigervnc-standalone-server. Dann lauscht der Server nur auf 127.0.0.1 und exponiert sich erst gar nicht in angeschlossenen Netzen.

Dafür muß ich dann aber den lokalen VNC Port 5901 per ssh tunneln - was aber gleichzeitig dazu dient die unsichere VncAuth zu schützen.

Früher habe ich in solchen Fällen den ssh-Tunnel mit einem Einzeiler erstellt. In diesem Fall hier benutze ich aber den VNC-Viewer DebianKRDC von KDE. Über eine wählbare Option nimmt der einem den Tunnelaufbau bequem ab.

Etwas weniger "bequem" ist es, daß man sich durch drei Logins quälen muß bis man auf dem remote Desktop landet:

1.) SSH password
2.) VncAuth
3.) PolicyKit1 (NetworkManager / Allow control of network connections)

Natürlich kann man die Passwörter auch an verschiedenen Stellen speichern, das ist am Ende jedem selbst überlassen.

Will ich eine Plasma-Session am Laptop starten bzw. den Laptop wieder lokal nutzen, muß ich daran denken den VNC-Server erst wieder zu stoppen. Hier:

Code: Alles auswählen

vncserver -kill :1
Ansonsten hängt der Plasma-Desktop nach der Login-Eingabe und kann bestenfalls mit ...

Code: Alles auswählen

systemctl restart sddm.service
oder Reboot
... wiederbelebt werden.

Ob überhaupt und wie man zwei Desktop-Sitzungen separat unter sddm/KDE betreiben kann, habe ich mit diesem Lösungsszenario also unelegant umschifft. Tut's aber erstmal :)

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von MSfree » 22.06.2023 14:30:49

whiizy hat geschrieben: ↑ zum Beitrag ↑
22.06.2023 14:04:37
Etwas weniger "bequem" ist es, daß man sich durch drei Logins quälen muß bis man auf dem remote Desktop landet:
Deswegen ja lightdm. :wink:

Du startest nur den VNCviewer auf dem getunnelten Port, bekommst sofort das graphische Login des Displaymanagers und nach dem Login startet dein Desktop.
Ansonsten hängt der Plasma-Desktop nach der Login-Eingabe und kann bestenfalls mit ...
Ich fürchte, das liegt an Akonadi. Früher konnte man als ein und derselbe Benutzer mehrere KDE-Sessions offen haben, ohne daß die sich gegenseitig auf die Füße getreten sind. Seit Akonadi mit KDE 4.1 eingeführt wurde, habe ich mich von KDE veraschiedet, weil ich das Konzept, das dahinter steckt, als sehr lästig und fehlerträchtig erlebt habe.

Gnome funktioniert übrigens aus ählichen Gründen nicht in zwei Sessions desselben Benutzers.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von whiizy » 22.06.2023 15:43:04

Weiß ich nicht, jedenfalls läuft hier kein Prozess akonadi, weder in Bullseye noch Bookworm. Ich erinnere mich allerdings, daß mich vor Jahren solcher Bloat in KDE auch genervt hatte. Mittlerweile gefällt mir KDE aber wieder, finde ich auch wieder aufgeräumt genug.

Nochmal zurück zum Thema, du sagst also, mit lightdm und LXDE kannst du zwei Desktop-Sessions komplett parallel fahren, also eine am Geräte-Display und die andere per VNC?

Auch wenn ich jetzt nicht mehr mit lightdm herumspielen werde - wäre einfach gut zu wissen, daß andere Desktop-Umgebungen das Problem tatsächlich irgendwie gelöst haben.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Remote Desktop mit VNC trotz screen locker?

Beitrag von MSfree » 22.06.2023 15:55:06

whiizy hat geschrieben: ↑ zum Beitrag ↑
22.06.2023 15:43:04
du sagst also, mit lightdm und LXDE kannst du zwei Desktop-Sessions komplett parallel fahren, also eine am Geräte-Display und die andere per VNC?
Ich kann sogar 3 und mehr Sessions komplett parallel fahren, eine am lokalen Bildschirm und alle weiteren per VNC. (Zumindest solange das RAM nicht ausgeht).

Was die Funktionsweise von Akonadi angeht, gitb es einen kurzen und verständlichen Wiki-Artikel:
https://de.wikipedia.org/wiki/Akonadi

Antworten