Xscreensaver mit Notify ansprechen

Begonnen von KML, 25 November 2016, 16:39:48

Vorheriges Thema - Nächstes Thema

KML

Erstmal Guten Tag!
Ich beschäftige mich seit mehreren Monaten mit Fhem, bin aber trotzdem blutiger Anfänger. Zu meiner Frage:

An meinem Raspi läuft ein Makibes 5 Zoll Monitor, den ich per xscreensaver aktivieren bzw. deaktivieren will. Auf dem Raspi klappt das mit dem Befehl opt/fhem/monactivate.sh tadellos.

Inhalt der monactivate.sh: xscreensaver-command -display :0.0 -activate

Aus Fhem möchte ich diesen screensaver mit einem notify starten: RPi_System { if (( Value("RPi_System") eq "activate")) { system(" /opt/fhem/monactivate.sh")}}

Der Logfile sagt dazu:
No protocol specified
xscreensaver-command: can't open display :0.0
2016.11.25 15:48:00 3: RPi_activate_Notify return value: -1

Baue ich ein sudo vor /opt/fhem... ein, schreibt das Logfile:
sudo: no tty present and no askpass program specified
2016.11.25 16:26:30 3: RPi_activate_Notify return value: -1

Was ich bisher probiert habe:

Thema: Raspberry Pi OS Restart
sudoers bearbeitet mit NOPASSWD
Fhem /bin/false auf bin/bash geändert

Gruß,
KML



justme1968

der user der den xserver gestartet hat muss der gleiche sein unter dem fhem läuft oder du muss mit xauth dafür sogen das er zugriff hat.

du kannst den ganzen { system(...) } sparen. "/opt/fhem/monactivate.sh" reicht.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

KML

#2
Dies hier hatte ich schon ausprobiert, habe dafür fhem ein Passwort geben müssen.
Zitat


su - <otheruser> -c "unset XAUTHORITY; xauth add $(xauth list)"
.

Letztlich endet es damit, das auth nicht in die von mir angelegte .Authority mit fhem als Besitzer schreiben kann.
Kann mich mal jemand "an die Hand nehmen" und es mir schrittweise erklären?
Danke,
KML

KML

Ich antworte mir mal selbst. Die Lösung besteht darin, am Display xhost local:fhem einzugeben.