Raspberry Pi Chromium Kiosk - Reload Startpage

Fionas

Cadet 2nd Year
Registriert
Apr. 2009
Beiträge
20
Hallo alle.

Vielleicht könnt ihr mir bei einem Projekt helfen. Ich habe ein Kios System erstellt was erfolgreich eine bestimmte Webseite lädt. Ich müsste es aber irgendwie schaffen das die Startseite nach längerer Inaktivität (keine Eingabe des Users) wieder neu lädt. Gibt es da irgendeinen Schalter für den ich irgendwie einbauen kann ?

LG
 
Das sind jetzt natürlich sehr wenig Informationen, um spezifisch zu werden.
Hiermit kannst du sehen, wie lange Nutzer weder Maus, noch Tastatur angefasst haben:
https://askubuntu.com/a/202145

Das könntest du natürlich alles x Sekunden ausführen, gucken, ob eine Schwelle überschritten ist und dann deinen Chromium neustarten.
 
Ich muss das ja nicht sehen das Gerät steht halt wo rum und soll wenn sagen wir mal jemand seine Infos hat wieder auf die Startseite springen nach ner gewissen zeit. Quasi sowas wie: "Wenn Nutzer keine Eingabe innerhalb 2 Minuten dann spring auf Startpage" Sowas halt irgendwo in die config reinschreiben. Imoment habe ich halt ein System was nach dem Start die Seite aufruft nur halt wenn da wer navigiert bleibt das halt auf dem navigiertem Inhalt. Und das soll halt nach ner Gewissen inaktiv Zeit wieder zurück.
 
Ich hab jetzt an sowas gedacht. Sollte eigentlich exakt tun, was du willst (kannst chrome durch chromium ersetzen):

Bash:
#!/bin/bash

# Start Google Chrome in kiosk mode and save the PID in a variable
google-chrome -kiosk "computerbase.de" &
chrome_pid=$!

# Set the restart timeout (in milliseconds)
restart_timeout=15000

# Initialize a flag to track whether a restart has been performed
restart_performed=false

# Infinite loop
while true; do
    # Sleep for 2 seconds
    sleep 2

    # Check the idle time using xprintidle (in milliseconds)
    idle_time=$(xprintidle)

    # Check if the idle time is greater than the restart timeout
    if [ "$idle_time" -gt "$restart_timeout" ]; then
        # Check if a restart has already been performed in this cycle
        if [ "$restart_performed" = false ]; then
            # Kill the previous Chrome process
            kill $chrome_pid

            # Start Google Chrome in kiosk mode again and save the new PID
            google-chrome -kiosk "computerbase.de" &
            chrome_pid=$!

            # Set the restart flag to true
            restart_performed=true
        fi
    else
        # Reset the restart flag when idle_time is less than restart_timeout
        restart_performed=false
    fi
done
Ergänzung ()

AAS schrieb:
Der reloaded doch aber immer, statt bei Inaktivität alles wieder auf Anfang zu setzen.
 
Zuletzt bearbeitet:
Ja. Kann sein (kenne deine UI nicht), dass du bash als Startprogramm wählen musst und den Pfad zum Script als Startparameter. Vielleicht kannst du auch direkt das Script angeben.
Ergänzung ()

Und denk dran, dass du xprintidle installieren musst.
 
Zuletzt bearbeitet:
Sag dann gern mal, wenn's läuft
 
Leider tut sich da nichts. Ich kann auch nicht erkennen ob das ganze einen Fehler enthält. Zum Testen habe ich mal versucht xprintidle vom hand zu starten. Das wirft mir dann nur ein: couldnt open Display aus
 
@Fionas Führst du das über SSH oder lokal aus?
 
Nutzt du zufällig Wayland?
Ergänzung ()

Mit
echo $XDG_SESSION_TYPE
siehst du das.
 
Statt den ganzen fetten Chrome jedes Mal abzuschießen und neuzustarten bietet sich vielleicht eine Erweiterung an. Eine kurze Recherche ergab zwei Treffer. Der erste ist leider schon recht alt, ich habe nicht erforscht, ob das heute noch geht.
 
Das 1 gibts nicht mehr und das 2 wüsst ich jetzt nicht wie ich das hier einbauen kann (ich bin in der hinsicht 0 Profi)
 
@Fionas Also du hast im Desktop-Modus direkt am Pi das Terminal geöffnet und da
xprintidle
eingegeben?
 
ja habe auf die terminal ebene gewechselt. Ich habe im Netz was vom export Display=:0 gelesen evtl bringt das was in der Config
 
Fionas schrieb:
ja habe auf die terminal ebene gewechselt.
Nee, du musst so ein Fenster-Terminal haben, sonst geht das nicht (außer mit dem export vielleicht).

Also so, dass das in etwas so aussieht:
Screenshot at 2023-09-28 15-22-59.png
 
Zurück
Oben