NEWS
blockly exec scrot
-
@bananajoe said in blockly exec scrot:
iobroker ALL=(ALL) NOPASSWD: ALL
Hallo BananaJoe,
Danke für deine schnelle Antwort!
Ich habe zum testen mal den "großen Hammer" in die /etc/sudoers eingefügt.
Wenn ich dann als user iobroker scrot mit sudo starte, erhalte ich folgende Fehlermeldung:No protocol specified
Can't open X display. It is running, yeah? [:0]Hast du noch eine Idee?
VG,
Schween -
@schween unter welchem Benutzer funktioniert es denn? Wenn das zufällig auch der ist der an der GUI angemeldet ist ... müsste man zu diesem wechseln per sudo.
Ich hab mir mal schnell die Anleitung dazu angesehen, das scheint ja eher dafür gedacht zu sein für einen selbst Screenshots durchzuführen.
Funktioniert das Tool in einer SSH Sitzung von einem anderen Rechner aus?
Wie oft / wann / aus welchem Grund / bei welchem Ereignis brauchst du die Screenshots? -
Ja, der Desktop und die Anwendung (Divera247 / Einsatzmonitor für die Feuerwehr, eine Webseite im Kioskmodus) laufen unter einem anderen User. Wenn ich mich von einem anderen Rechner per SSH einlogge, dann funktioniert Scrot per Konsole einwandfrei. Es liegt eindeutig an den Rechten vom IOBroker-User. Wie kann ich das bloß umgehen?
Ich möchte per Telegram mit dem Screenshot nur auf die Schnelle kontrollieren können ob der Einsatzmonitor noch einwandfrei angezeigt wird. Ansonsten müsste ich aktiv werden. Also starte ich Scrot per Telegram und Text2Commands um mir dann den Screenshot per Telegram anzeigen zu lassen. Das funktioniert soweit auch gut, aber nur wenn ich Scrot manuell pet SSH mit dem anderen User Aufrufe. Per Blockly-Exec läuft das dann ja über den IObroker-User der das scheinbar nicht darf.
Wie kann man das evtl. umgehen?
Vielen Dank schon mal für deine Mühe!
VG,
Schween -
@schween sagte in blockly exec scrot:
Wie kann ich das bloß umgehen?
Am besten gar nicht.
Und auch am besten gar keinen Desktop auf einem Server laufen lassen.Versuch es mit dem divera24-Adapter:
https://forum.iobroker.net/topic/41095/neuer-adapter-divera-24-7?_=1662728859069Der dürfte solche Verrenkungen nicht erfordern.
-
@schween du könntest auf dem anderen rechner auch lokal einen Cron-Job laufen lassen der alle x Minuten einen Screnshot ablegt (und überschreibt).
Dann müsstest du nur noch prüfen ob ein Screenshot da ist, wie alt der ist (Änderungsdatum) und kannst ihn dir senden lassen.
Ob du per SSH, SCP oder NFS Freigabe etc. holst - wie du willst.
Der cronjob könnte die Bilddatei auch gleich rüberschieben, z.B. per scp -
Den Divera-Adapter habe ich selbstverständlich am laufen.
Der bietet allerdings keine Screenshot von dem Alarmmonitor im Webbrowser.Der Raspi ist an einem 50"-Fernseher angeschlossen der sich im Alarmfall einschaltet und alle Einsatzdaten anzeigt sowie die Rückmeldungen der Kameraden. Das erfolgt über eine Webseite die immer wieder aktualisiert wird.
Der IOBroker wird dafür nicht zwingend benötigt. Damit kontrolliere ich nur den Raspi da er 24/7 unbeaufsichtigt läuft. Den eigentlichen Desktop habe ich auch überwiegend abgeschaltet. Der Kioskmodus mit der Webseite benötigt keinen Desktop.
Das ist also soweit alles kein Problem, das Thema hier sind die Rechte des Users iobroker und die Probleme damit.VG,
Schween -
Danke für den Tipp! Das könnte funktionieren, ich werde es heute Abend mal testen.
Schöner wäre es allerdings, wenn es auch einfach per Exec mit dem User iobroker gehen würde. Dann würde Scrot nur laufen wenn ich sporadisch per Telegram einen Screenshot anfordere. Das erspart mir den Aufbau einer VPN-Verbindung und dem Einloggen per VNC, um den Bildschirminhalt zu kontrollieren....
Gibt es da keine Möglichkeit Scrot auch für den User iobroker zum laufen zu bekommen?VG,
Schween -
@schween sagte in blockly exec scrot:
Gibt es da keine Möglichkeit Scrot auch für den User iobroker zum laufen zu bekommen?
DISPLAY
exportieren. Aber wie gesagt, das will man nicht. -
@thomas-braun said in blockly exec scrot:
@schween sagte in blockly exec scrot:
Gibt es da keine Möglichkeit Scrot auch für den User iobroker zum laufen zu bekommen?
DISPLAY
exportieren. Aber wie gesagt, das will man nicht.Da weiss ich leider nicht was du damit meinst. In Linux bin ich leider schlecht.
Kannst Du mir das mal erklären? Vielleicht will ich das ja?VG
-
@schween sagte in blockly exec scrot:
In Linux bin ich leider schlecht.
Dann fummel das ganze Rechte- und Sicherheitskonzept beim X-Server erst auseinander, wenn du nicht mehr 'schlecht' bist.
-
vielen Dank für Deine wertvollen Kommentare und Tipps! ...von solchen Usern lebt ein Forum
-
@schween Gerne.
-
Danke für diese einfache, aber gute Idee! Per Cron-Job funktioniert Scrot und ich kann mir nach Bedarf per Telegram den letzten Screenshot zuschicken lassen. Das reicht mir so vollkommen!
DANKE!!!