Bildschirmschoner 7 Zoll Display

Begonnen von mani, 10 Juli 2017, 21:18:37

Vorheriges Thema - Nächstes Thema

mani

Hallo,

habe auf meinem Raspberry 3 das 7 Zoll Touch Display installiert und so eingestellt das sich nach einer Minute der Bildschirmschoner(Xsrcreensaver glslideshow)aktiviert.
Nun möchte ich mit FHEM den Bildschirmschoner beenden können nur wie?
im Terminal geht das mit export DISPLAY=:0 und xscreensaver-command -deaktivate....nur von FHEM heraus nicht, andere System befehle funktionieren .z.B so {system("sudo reboot");;}..
{system("export DISPLAY=:0")};{system("xscreensaver-command -deaktivate");;} ergibt
-1
-1
jedoch keine reaktion :-[

hat jemand Rat?

Mfg Mani

RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

Kann/darf  der User fhem diese Kommandos ausführen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

Habe in der /etc/group den eintrag gemacht =>root:x:0:fhem,pi und  in der  /etc/sudoers diesen eintrag  fhem ALL=(ALL) NOPASSWD: ALL sollte reichen oder?
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

 /etc/sudoers  hilft nur, wenn Du "sudo kommandoxxxxxx" machst.
/etc/group hilft nur, wenn die gewünschte Kommandos der Gruppe gehören, bzw. von der Gruppe ausführbar sind.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

Ok, kannst du mir sagen wie ich fhem die Berechtigung geben kann das Kommando auszuführen?
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

#5
Mit deiner sudoers Definition (sowas wie ALL ALL NOPASSWD ist eigentlich nicht zu empfehlen, aber gut...) , kannst Du einfach folgendes probieren:{system("sudo export DISPLAY=:0 && sudo xscreensaver-command -deaktivate");;}

EDIT: wäre auch zu prüfen, ob "deaktivate" richtig ist. Mit k oder mit c?

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

Hallo,
Geht leider auch nicht brauch auch im Terminal kein sudo....hab was gelesen das man wenn man das Display  öffnet so eine Art id bekommt um dann die Befehle ans Display senden zu können....
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

Zitatbrauch auch im Terminal kein sudo
Ja aber im Terminal bist Du wahrscheinlich nicht als Benutzer "fhem" angemeldet.

Aber wenn es auch nicht funktioniert... bin ich ratlos.

Mich irritiert aber vom Anfang an das "export Display". Warum brauchst Du ein export Display? Versuchst Du dich graphisch auf einem anderen Rechner zu schalten? Mit fhem ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

Grafisch nicht ich hab am Raspberry das 7 Zolldisplay angeschlossen und um an dieses befehle abgeben zu können brauch ich den export.. befehl......im Terminal bin ich als pi angemeldet.
event gibts auch eine andere Lösung eine Bewegung vorzutäuschen, jedenfalls danke für deine Tipps. :)
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

#9
Sorry, aber ich verstehe es immer noch nicht.
Man macht ein "export DISPLAY", wenn man per ssh (z.B.) aus einem anderen Computer den Xserver des Raspis übertragen will: ich möchte von meinem PC aus die grafische Oberfläsche des Pi sehen / steuern.
Anders gesagt: Wenn Du remote auf dem Pi eingeloggt bist, brauchst Du dann den export Display, "um dieses Befehl abgeben zu können."

Aber fhem läuft auf dem Pi, oder? Warum sollte er das export Display brauchen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#10
Probier mal mit:
"sudo XAUTHORITY=/home/pi/.Xauthority xscreensaver-command -deaktivate"

Und wenn es nicht geht, dann mit:
"sudo XAUTHORITY=/home/pi/.Xauthority DISPLAY=:0.0 xscreensaver-command -deaktivate" (aber wiederum: m.A. ist DISPLAY nicht nötig, das Problem liegt irgendwo anders)

PS: deactivate oder deaktivate?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

Hallo wow Super, jetzt gehts... :)

{system("sudo XAUTHORITY=/home/pi/.Xauthority xscreensaver-command -deactivate");;}

Besten Dank könntest du mir sagen warum das so ist?

Mfg Mani
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

Da das 7" Display direkt am Pi hängt, wird die X-session vom User "pi" gestartet.

Wenn ein User eine X-Session startet, werden deren Credentials in ~/.Xauthority gespeichert, damit kein anderer Benutzer diese Xsession sehen / ansteuern kann.

Wie kann ich mich jetzt als User "fhem" in dieser X-session, die mir nicht gehört, involvieren? Indem ich als sudoer (sonst darf ich nicht aufs home Verzeichnis von jemandem anderen) sudo,
die Credentials von dieser Sitzung übernehme (dafür setze ich die Environment Variable XAUTHORITY auf die Credentials vom user "pi")XAUTHORITY=/home/pi/.Xauthority um mein Kommando auszuführen xscreensaver-command -deactivate

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mani

RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

amenomade

Jetzt ware es m.A. eine gute Idee, deine sudoers Datei ein bisschen zu beschränken. Der User fhem darf im Moment alles auf allen Maschinen als alle Benutzer ohne Authentifizieung durchführen...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus