Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Exec script pi, Chromium neustart

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Exec script pi, Chromium neustart

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      ple last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • bilberry
        bilberry last edited by

        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. viasudo pkill -HUP chromium. In einen Script mit execverpackt, funktioniert nun gerade der Befehl eben leider nicht.

        Hat jemand eine Idee, wie man das lösen könnte?

        1 Reply Last reply Reply Quote 0
        • P
          ple last edited by

          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ß

          bilberry 1 Reply Last reply Reply Quote 0
          • bilberry
            bilberry @ple last edited by

            @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 steht DISPLAY=:0? Was tut das?

            1 Reply Last reply Reply Quote 0
            • P
              ple last edited by

              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ß

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              808
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              javascript
              2
              5
              614
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo