NEWS
Exec script pi, Chromium neustart
-
Hallo zusammen,
ich hänge gerade an einem Problem, welches ich auf die schnelle nicht lösen kann.
Ich habe eine frische iobroker installation nach der neuen Anleitung auf einem Tinkerboard mit Armbian.
Als User, welcher auch automatisch auf den Desktop startet, habe ich den pi angelegt.
soweit so gut.
Nun lädt der schön meine Vis und es läuft alles.
Nach etlichen Stunden jedoch läuft mir der Ram langsam voll und er fängt an zu swappen. Die Vis wird dann extrem träge.
Ein Neustart von Chromium löst das Problem erst mal. Naja, soweit ich es bisher beurteilen kann.
Ich habe mal ein Script eben angelegt, welches Chromium neustarten soll. Dieses liegt auf dem Desktop vom User pi. User iobroker hat auch Rechte.
Händisch (user pi) per klick schließt dieses Chromium und öffnet dieses wieder.
Leider nur nicht per Javascript.
Wenn ich per Terminal Adapter das Script ausführe bekomme ich folgende Meldung./opt/iobroker$ bash /home/pi/Desktop/start.sh 3665 2308 2262 2259 1853 1713 kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] Pepper Flash detected. (process:1425): Gtk-WARNING **: 06:52:26.049: Locale not supported by C library. Using the fallback 'C' locale. (chromium-browser:1425): Gtk-WARNING **: 06:52:26.062: cannot open display:
Anscheinend macht das Script alles richtig, nur schließt er Chromium vom Benutzer iobroker, nicht dem vom pi.
Somit bleibt Chromium weiterhin auf dem pi geöffnet.Und jetzt kommen die Linux Spezis ins Spiel, wie kann man diesen Umstand lösen? Denke user iobroker wird nicht so viele Rechte haben, dass er Prozesse vom pi killen darf.
Oder müsste ich statt user pi den iobroker anmelden lassen. Dafür braucht dann user iobroker ein Passwort, bin mir aber nicht sicher ob das weitere Probleme verursacht.Anbei noch das Script.
#!/bin/sh -e pfad="file:///opt/iobroker/iobroker-data/files/vis.0/source/index_start/index.html" if pidof chromium-browse; then sudo killall chromium-browser sleep 3 chromium-browser --kiosk --incognito "$pfad" else chromium-browser --kiosk --incgnito "$pfad" fi exit 0
Gruß und vielen Dank.
-
Hallo zusammen,
auch wenn die Frage von @ple schon ein paar Monate alt ist...
Ein Antwort gabs ja offenbar noch nicht. Ich bin ebefalls auf der Suche nach einer Möglichkeit Chromium auf einem Raspi zu beenden, da der Browser bei mir gleich beim Hochfahren im Kioskmodus startet und sich dann mit Maus/Touch nicht schließen lässt, wenn man das mal bräuchte.Per SSH geht das recht unkompliziert z.B. via
sudo pkill -HUP chromium
. In einen Script mitexec
verpackt, funktioniert nun gerade der Befehl eben leider nicht.Hat jemand eine Idee, wie man das lösen könnte?
-
versuch es mal hiermit.
DISPLAY=:0 sudo -u pi /home/pi/Desktop/start.sh
in der start.sh kannst dann
sudo killall chromium-browser
eingeben.
Könnte direkt klappen, wenn der User pi angelegt ist.Gruß
-
@ple
Danke für den Tipp. Wollte mich gerade mal dransetzen und es ausprobieren.Die Idee mit einem Bash-Skript hatte ich ja auch schonmal aber ohne Erfolg.
Bevor ich loslege aber noch eine Verständnisfrage: Was bewirkt dieser Befehl?
DISPLAY=:0 sudo -u pi /home/pi/Desktop/start.sh
Ändert das die Rechte der start.sh?
Vorallem wofür stehtDISPLAY=:0
? Was tut das? -
Bin kein Linuxexperte,
Das Script soll vom User pi ausgeführt werden und das Display 0 muss da rein, damit chromium in der aktuellen Session Neugestalten wird.
Alles mal von Google irgendwo zusammengeschustert.Gruß