GUI-Fernsteuerung für MacOS

Smalltalk
Antworten
Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

GUI-Fernsteuerung für MacOS

Beitrag von heisenberg » 18.01.2023 12:03:28

Hallo zusammen,

ich möchte gerade über eine dedizierte VM einen Remote-Zugriff(Desktop-Zugriff) auf ein für einen bestimmten Zweck dediziertes MacBook, das irgendwo in einem Büro hinter einer DSL-Leitung steht, ermöglichen. Die aufgetretenen Seltsamkeiten möchte ich hier gerade mal schildern.

Vorab: AnyDesk ist ein Teamviewerersatz, der im "Wir-ballern-Dich-mit-Werbung-zu-Kachel-Design" gestaltet ist. Also eher eine nervige Software, die halt im Vergleich zu vorgenannter Software etwas günstiger ist.

Zum Setup

Da rustdesk (OpenSource) wohl noch keinen unbeaufsichtigten Modus kann, bei mir die mitgelieferte VNC-Variante von OS X nicht funktioniert hat(habe es da mit Portforwarding des VNC-Ports versucht), habe ich da doch auf das kommerzielle AnyDesk zurückgegriffen und habe eine dedizierte VM installiert und da XRDP drauf laufen lassen. (Wichtige Erkenntnis dabei: Ich kann mich mit RDP überhaupt nur einloggen, wenn der entsprechende Benutzer noch nicht anderweitig eingeloggt ist.)

AnyDesk-Client startet nur, wenn nur ein X-Server läuft

Da ich XRDP noch nie verwendet habe, habe ich gedacht, dass ich zusätzlich noch einen normalen X-Server benötige. Das ist nicht der Fall. XRDP ist sein eigener X-Server. Wenn dann zwei X-Server da sind, dann sucht sich AnyDesk selbst einen aus - vermutlich den ersten - und das war bei mir der falsche.

Dabei bekomme ich beim starten von AnyDesk nur die Meldung "No protocol specified" und der Client startet erst gar nicht. Die Meldung wird nach Recherche angezeigt, wenn keine Berechtigung auf den X-Server da ist. Nach der Deinstallation des normalen, lokalen X-Servers hat der Client dann funktioniert.

Logging

AnyDesk loggt per Default nach $HOME/.anydesk/anydesk.trace. Das Log sieht aufgeräumt aus und ist da durchauch hilfreich. Ansonsten habe ich mir mit strace angeschaut, was das Programm so tut, wo es schreibt und liest.

Konfigurationsverzeichnisse

Nachdem ich mir dann angeschaut habe, wo AnyDesk seine Konfiguration liest und schreibt, war ich etwas überrascht:
  • $USER/.anydesk : Hier liegt nur das Trace-File
  • /root/.anydesk : Hier liegt wohl die normale Konfiguration (WTF!?)
  • /var/lib/lightdm/.anydesk : Hier versucht das Programm erfolglos das Verzeichnis zu erstellen (WTF!?)
Anscheinend haben die Personen, die das unter Linux entwickeln noch nicht wirklich etwas von FHS gehört. Dabei haben die AnyDesk-Entwickler wohl /root als Ablage benutzt für Daten, die nach /etc gehören. Das erzeugt schon etwas Schmerz und wenn ich eine andere Lösung hätte, hätte ich dann hier jetzt abgebrochen.

Nachdem ich hier eine dedizierte VM hatte, habe ich dann das Verzeichnis /root für eine Gruppe "anydesk" umgestellt und r+x gesetzt. Für /root/.anydesk habe ich auch diese Gruppe gesetzt und der Gruppe r+w+x rekursiv für das ganze Verzeichnis gesetzt.

Geschützte Konfigurationseinstellungen

Manche Konfigurationseinstellungen sind geschützt und können nur mit der GUI als root konfiguriert werden. Das finde ich grundsätzlich so auch sehr sinnvoll, dass ich als Admin, das eine oder andere vorgeben kann. Hier hatte ich den Wunsch, dass z. B. Passwörter nicht gespeichert werden können. Leider hat danach die Verbindung zum Zielsystem nicht mehr funktioniert(Es kommt einfach keine Verbindung mehr zu Stande) und ich musste die Konfiguration unter /root/.anydesk löschen und nochmal machen.

Um das als root das GUI-Programm starten zu können, wenn man keine grafische Sitzung laufen hat, muss man dies so starten:

Code: Alles auswählen

$ user=normalerbenutzer # nur zur Info
$ xhost +               # Zugriffschutz für den X-Server komplett deaktivieren
$ echo $DISPLAY         # nur zur Info
:10.0
$ su - 
# export DISPLAY=10.0
# export XAUTHORITY=/home/normalerbenutzer/.Xauthority
# anydesk
Nachdem Aufruf der GUI als root waren vermutlich die Rechte teilweise so, dass $nomalerbenutzer sie nicht mehr lesen kann und müssen also korrigiert werden. Ich musste also die Rechte nochmal zurücksetzen - wie oben beschrieben.

Sonstiges

Autologin

Zuletzt habe ich für den Benutzer am Macbook auch noch ein autologin aktiviert. Ich bin mir allerdings gerade nicht mehr sicher, ob das noch nötig ist.

Kommandozeilenoptionen

Es gibt noch ein paar Kommandozeilenparameter des CLI-Programmes, die dokumentiert sind:

https://support.anydesk.com/knowledge/c ... -for-linux

Zielsystem rebooten

Manchmal hat der AnyDesk-Client beim Verbindungsaufbau auch eine Gedenkminute eingelegt, bis er mich dann doch mal nach dem Passwort gefragt hat - oder dann doch eben nicht. Zwischendurch das MacBook mal durchstarten hat hier geholfen.

SSH-Portforwarding

Damit ich das Macbook auch per CLI steuern kann, habe ich mir ein Portforwarding gebastelt, dass mir den SSH-Port mittels autossh auf eine andere VM von mir weiterleitet. Damit der dieser mit launchctl erstellte Dienst läuft, muss die Verschlüsselung(FileVault) ausgeschaltet werden. Auch Ruhezustand muss deaktiviert werden, weil sich das Laptop sonst zum schlafen hinlegt. Ansonsten habe ich da noch via homebrew autossh installiert.

Hier ist nochmal die Konfigurationsdatei für den Dienst unter MacOS dafür:

/Library/LaunchDaemons/com.ssh.mein-autossh1.plist

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ssh.mein-autossh1</string>
<key>KeepAlive</key>
    <true/>
<key>RunAtLoad</key>
    <true/>
<key>StandardErrorPath</key>
<string>/tmp/autossh.job.err</string>
<key>StandardOutPath</key>
<string>/tmp/autossh.job.out</string> 
<key>ProgramArguments</key>
    <array>
        <string>/opt/homebrew/bin/autossh</string>
<!-- autossh switches -->
        <string>-M</string>
        <string>0</string>
<!-- ssh switches -->
        <string>-N</string>
        <string>-T</string>
<string>-o</string>
        <string>ControlMaster no</string>
<string>-o</string>
        <string>ServerAliveInterval 60</string>
<string>-o</string>
        <string>ServerAliveCountMax 3</string>
<string>-p</string>
        <string>12345</string>
<string>-l</string>
        <string>remoteusername</string>
<string>-i</string>
        <string>/var/autossh/id_rsa</string>
<string>-R</string>
        <string>127.0.0.1:49225:127.0.0.1:22</string>
<string>remote-host.domain.tld</string>
    </array>
</dict>
</plist>
Zuletzt geändert von heisenberg am 15.05.2023 18:29:21, insgesamt 1-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: AnyDesk unter Linux: WTF?!

Beitrag von Blackbox » 18.01.2023 16:23:14

Konnte in deinen Ausführungen leider keine Frage finden.
Was möchtest du wissen?
Zu Fragen zum proprietären Anydesk befragst du besser deren Support.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: AnyDesk unter Linux: WTF?!

Beitrag von heisenberg » 18.01.2023 16:24:01

Blackbox hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:23:14
Konnte in deinen Ausführungen leider keine Frage finden. Was möchtest du wissen? Zu Fragen zum proprietären Anydesk befragst du besser deren Support.
Ich möchte andere Personen hier nur an meinen Erfahrungen teilhabenlassen, wie ich das im Beitrag schrieb:
heisenberg hat geschrieben:Die aufgetretenen Seltsamkeiten möchte ich hier gerade mal schildern.
Zuletzt geändert von heisenberg am 18.01.2023 16:28:48, insgesamt 1-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: AnyDesk unter Linux: WTF?!

Beitrag von Blackbox » 18.01.2023 16:27:41

heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:24:01
Ich möchte andere Personen hier nur an meinen Erfahrungen teilhabenlassen.
Mich interessiert viel mehr die Fragestellung: Wieso überhaupt Anydesk?
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: AnyDesk unter Linux: WTF?!

Beitrag von heisenberg » 18.01.2023 16:30:45

Blackbox hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:27:41
Mich interessiert viel mehr die Fragestellung: Wieso überhaupt Anydesk?
Auch das steht im Beitrag. Nochmal etwas genauer: Meine Firma benötigt eine Remote-Desktop Software. Als Open Source für OSX kenne ich da nix.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
debilian
Beiträge: 1199
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: AnyDesk unter Linux: WTF?!

Beitrag von debilian » 18.01.2023 16:35:37

https://www.nomachine.com/de

geht das nicht für mac?
das hatten wir mal für Linux-Clients anscheinend geht das auch für OSX...
-- nichts bewegt Sie wie ein GNU --

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: AnyDesk unter Linux: WTF?!

Beitrag von Blackbox » 18.01.2023 16:41:39

heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:30:45
Meine Firma benötigt eine Remote-Desktop Software.
Wäre es nicht geschickter gewesen, hier im Forum nach OSS Alternativen zu fragen, das hätte dir möglicherweise jede Menge Frust erspart und du hättest keinen Schriftsteller-Nachwuchswettbewerb besuchen müssen. :wink:
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: AnyDesk unter Linux: WTF?!

Beitrag von heisenberg » 18.01.2023 18:00:31

Blackbox hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:41:39
heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 16:30:45
Meine Firma benötigt eine Remote-Desktop Software.
Wäre es nicht geschickter gewesen, hier im Forum nach OSS Alternativen zu fragen, das hätte dir möglicherweise jede Menge Frust erspart und du hättest keinen Schriftsteller-Nachwuchswettbewerb besuchen müssen. :wink:
Hast Du konkrete OSS-Alternativen? Die schaue ich mir gerne an. Ansonsten bin ich zufrieden, dass das die Anforderung schnell erfüllt werden konnte, wenn auch mit einer Closed-Source Software. Bei mir ist da keineswegs großer Frust. Das ist das normale Admin-Leben. Ich gebe gerne auch Informationen an andere weiter. Mein Computer-Leben besteht nicht nur aus OSS. Deswegen denke ich, dass Berichte darüber auch für andere nützlich sind.

@debillian:

Danke. Nomachine kann ich mir mal anschauen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: AnyDesk unter Linux: WTF?!

Beitrag von heisenberg » 18.01.2023 20:53:19

Nomachine habe ich eben mal getestet. Zugriff über Portforwarding funktioniert.

Das zeigt mir den entfernten Bildschirm nicht vollständig. (Mac OS X Dock(Anwendungs- bzw. aktive Fensterleiste am unteren Bildschirmrand fehlt). Das scheint wohl ein Bug zu sein, der in der Vergangenheit öfters aufgetaucht ist und aktuell noch besteht. Damit ist das für mich erst einmal unbrauchbar.

Ansonsten finde ich an NX etwas seltsam, dass es in das Debian-Paket nochmal tar-Archive einpackt und man mit den Standardbefehlen(dpkg -L) erst mal gar nicht schauen kann, was das Dingens überhaupt installiert. Aber locate hat geholfen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: AnyDesk unter Linux: WTF?!

Beitrag von letzter3 » 18.01.2023 21:35:16

heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 12:03:28

Nachdem ich mir dann angeschaut habe, wo AnyDesk seine Konfiguration liest und schreibt, war ich etwas überrascht:
  • $USER/.anydesk : Hier liegt nur das Trace-File
  • /root/.anydesk : Hier liegt wohl die normale Konfiguration (WTF!?)
  • /var/lib/lightdm/.anydesk : Hier versucht das Programm erfolglos das Verzeichnis zu erstellen (WTF!?)
Anscheinend haben die Personen, die das unter Linux entwickeln noch nicht wirklich etwas von FHS gehört. Dabei haben die AnyDesk-Entwickler wohl /root als Ablage benutzt für Daten, die nach /etc gehören. Das erzeugt schon etwas Schmerz und wenn ich eine andere Lösung hätte, hätte ich dann hier jetzt abgebrochen.
Hilft dir jetzt vielleicht nicht weiter, aber (unter MANJARO)

Code: Alles auswählen

ls /home/letzter/.anydesk/
anydesk.trace  connection_trace.txt  service.conf  system.conf  thumbnails  user.conf
Unter root gibt es kein .anydesk.
Der Rest liegt unter /usr
anydesk v6.2.1

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: AnyDesk unter Linux: WTF?!

Beitrag von Blackbox » 20.01.2023 22:13:17

heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.01.2023 18:00:31
Hast Du konkrete OSS-Alternativen?
  • RustDesk und dessen Fork HopToDesk
  • TightVNC
  • UltraVNC
  • X2Go
  • MeshCentral
  • TigerVNC
  • Remotely
  • Dayon!
Um nur die Bekanntesten zu nennen.
Durchtesten musst du allerdings selbst.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: AnyDesk unter Linux: WTF?!

Beitrag von heisenberg » 15.05.2023 18:24:00

Jetzt, da ich das MacBook neben mir stehen habe, und AnyDesk auch nicht mehr funktionieren will, habe ich es nochmal mit RustDesk probiert. Funktioniert einwandfrei.

Die Verbindung funktioniert nicht, wenn das Display im Stromsparmodus ist. Dann bekommt man am RustDesk-Client die Anzeige Verbunden, warten auf Bild.... Den Stromsparmodus des Displays komplett auszuschalten ist nicht empfohlen, weil sich sonst wohl die Lebensdauer des Displays sonst möglicherweise stark verkürzt. Workaround für mich ist, dass ich mich per ssh auf das Gerät einlogge und mit caffeinate -u true das Display aktiviere. true ist dabei nur irgend ein NoOp-Kommando, nach dessen Ausführung sich caffeinate direkt beendet.

Zum test kann man das Display per SSH ausschalten mit: pmset displaysleepnow

Ansonsten ist das Bild bei mir im Rustdesk-Client rechts abgeschnitten. Dazu muss ich die Einstellung "Bild schrumpfen" im Rustdesk-Client (bei offener Verbindung in der Menüzeile oben) noch aktivieren und alles ist super.

Um den Powersave-Modus zu verhindern braucht es noch einen pmset -a disablesleep 1, damit das Gerät immer erreichbar bleibt. Der Display-Sleep-Modus ist damit nicht abgeschaltet.

Weiterhin muss noch verhindert werden, dass das Gerät sich herunterfährt, wenn der Deckel geschlossen wird. Das geht unter System Preferences -> Power Adapter -> Prevent your Mac from automatically sleeping when the display is off.

Das "Power Adapter" steht dabei für den Modus, wenn das Netzteil eingesteckt ist. Läuft das Gerät im Batteriemodus, wird also beim zuklappten trotzdem noch der Suspend aktiviert.

Jetzt testet der Hauptbenutzer die Umgebung nochmal und dann kommt dass Dings ins RZ. Da steht es dann für diverse Tests bei der MacOS-App-Entwicklung.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: GUI-Fernsteuerung für MacOS

Beitrag von heisenberg » 17.05.2023 13:07:29

Ein Problem, was ich noch habe ist, dass nicht alle Sonderzeichen funktionieren. "-" wird auf der Mac-Seite z. B. zu "ß".

Das scheint insgesamt noch problematisch zu sein.

Siehe:

https://github.com/rustdesk/rustdesk/issues/1547
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Antworten