Browser (Chromium) neustarten skript

  • Hallo Leute,

    ich habe mich hier ein kleines Skript angepasst was beim ausführen mein Chromium killen soll (klappt) dann eine gewisse zeit warten soll (klappt auch) Und dann Chromium wieder starten soll, was leider nicht klappt.
    Wenn ich den Befehl zum Starten von Chromium ins Terminal eingebe dann klappt es...

    Code
    sudo killall chromium
    
    
    sleep 3
    
    
    DISPLAY=:0 nohup chromium --kiosk --no-proxy-server --incognito file:///home/pi/cam.html &


    Wenn ich das Skipt starte bekomme ich folgende Rückmeldung:

    Code
    pi@raspberrypi:~$ sudo ./restart_browser.sh 
    
    
    nohup: ignoring input and appending output to `nohup.out'
    
    
    pi@raspberrypi:~$

    Wo liegt der fehler?

    Einmal editiert, zuletzt von Fillip13 (15. Februar 2014 um 15:16)

  • Hab ich genau so.

    Bash
    #!/bin/sh
    URL=/home/pi/start.htm
    killall chromium
    sleep 3
    DISPLAY=:0 nohup chromium --fullscreen --kiosk --no-proxy-server --incognito $URL &

    dir fehlt die shebang #!/bin/sh sowie ein / nach file: zu viel.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Ich verstehe das nicht... Ich habe das jetzt 1zu1 von dir Kopiert aber trotzdem bekomme ich immer folgende Meldung zurück und es passiert nix...

    pi@raspberrypi:~$ nohup: appending output to `nohup.out'

    wie gesagt wenn ich nur

    DISPLAY=:0 nohup chromium --kiosk --no-proxy-server --incognito file:///home/pi/cam.html &

    in das Terminal eingebe dann klappt es ja... :(

    Einmal editiert, zuletzt von Fillip13 (15. Februar 2014 um 20:55)

  • ALso für nohup ist das eine normale Meldung. Sobald nohup gestartet wird schreibt er alle Ausgabe die normaler weise auf STDout landen nache nohup.out.
    Wenn du das ganze als Script startest, hat er keine terminla und es funktioniert so vermutliuch nicht.
    Wenn dann sollte es export

    DISPLAY=:0
    nohup...

    Aber ich glaube nicht, dass das in einem Skript funktioniert.

    Was willst du erreichen?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Moin,

    also ich bin der Meinung, dass du das nur hinbekommst in dem du ein Terminal offen lässt. damit ist ein nohup auch völlig unnötig. Und dann müsste es tatsächlich darauf hinauslaufen in einer Schleife zu checken ob der Prozess noch läuft und gegeben falls nach zu starten. Aber solange du nicht auf dem X- eingeloggt bist wird auch ein nach starten vom Chromium nicht funktionieren:

    Vielleicht macht das ja was du willst:

    Code
    while true; 
    do 
      ps -eaf | grep -v grep | grep -q xclock
      if [ $? -eq 1 ]; then 
         DISPLAY=:0 xclock & 
      else 
         sleep 30
      fi 
    done

    DISPLAY ist vermutlich nicht nötig, es sei denn es soll auf einem anderem X laufen. Aber wie gesagt ausloggen ausgeschlossen, es sei denn du leitest die Ausgabe um, aber ein X muss laufen.

    Was funktioniert ist wenn du das Skript jetzt mit nohup laufen lässt:

    Einloggen und eingeloogt bleiben auf X
    Dann den code als skript speichern z.b. foo.sh
    dann

    nohup ./foo.sh &

    nun kannst du das Terminal schliessen... Aber nicht aus dem X ausloggen.

    Gruß Lunepi

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Grade noch mal den PI geklont und das x-te Display in betrieb genommen.

    Code
    DISPLAY=:0 nohup chromium --kiosk --no-proxy-server --incognito <URL> &


    funktioniert.

    Code
    pi@raspberrypi ~ $ uname -a
    Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!