So öffnen Sie Chromium im Vollbild-Kioskmodus in einer minimalen Windows-Manager-Umgebung (z. B. openbox / jwm)


12

Ich versuche, eine einfache Ubuntu-Kiosk-Box (14.04) einzurichten, auf der nur Chromium in einer sehr minimalen Windows-Manager-Umgebung ausgeführt wird. Schritte, die ich erfolgreich durchgeführt habe:

  • Automatisch einloggen: exec /bin/login -f kiosk_user < /dev/tty1 > /dev/tty1 2>&1in/etc/init/tty1.conf
  • X-Umgebung starten ( startxin .profile)
  • Starten Sie die Chromium in X-Umgebung in .xinitrc
  • Starten Sie Windows - Manager (versucht fluxbox, jwmund openboxbis jetzt) in.xinitrc

Was ich derzeit habe, ist Chromium richtig zu starten, aber im halbnormalen Modus. Ich muss explizit F11 auf der Tastatur drücken, damit Chromium in den Vollbild- und Kioskmodus wechselt.

Ein Chromiumbenutzerkollege von einer Mailingliste sagte, dass dies in einer vollständigen GNOME-Umgebung ohne Tricks (sogar xdotool) gut funktionieren würde - dies könnte also irgendwie mit diesen minimalen Windows-Managern zusammenhängen.

Ich habe sogar versucht, Chromium selbst ohne Windows-Manager zu starten (Chromium hat etwas namens Aura, ein eigenes WM für ChromiumOS?). In diesem Modus konnte ich nicht erreichen, dass das Chrom den gesamten Bildschirm ausfüllt. Diese Methode ist auch nicht vorzuziehen, da es keine Möglichkeit gibt, andere Anwendungen einfach zu öffnen, um beispielsweise Fehler zu beheben.


.xinitrc

#!/bin/sh

rm ~/tmp/ -Rf
xset s off
xset dpms 600 60 60
xset +fp "$X_FONTPATH"
xset fp rehash

env > ~/.xenv

# Run chromium start
~/start_chromium.sh &

# Run window manager
exec openbox

start_chromium.sh

#!/bin/sh

set -e

CHROMIUM_TEMP=~/tmp/chromium
rm -Rf ~/.config/chromium/
rm -Rf $CHROMIUM_TEMP
mkdir -p $CHROMIUM_TEMP

chromium-browser \
    --disable \
    --disable-translate \
    --disable-infobars \
    --disable-suggestions-service \
    --disable-save-password-bubble \
    --disk-cache-dir=$CHROMIUM_TEMP/cache/ \
    --user-data-dir=$CHROMIUM_TEMP/user_data/ \
    --start-maximized \
    --kiosk "file:///home/kioskuser/kiosk.html" &
sleep 5
xdotool search --sync --onlyvisible --class "chromium" key F11

Ich nehme an, Sie haben versucht, nur zu rennen chromium-browser --kiosk?
Saiarcot895

Ja, ich habe es einfach versucht chromium-browser --kioskund es funktioniert genauso wie in meinem Beispiel oben.
Ville Mattila

Antworten:


4

Schließen Sie den Browser und bearbeiten Sie ihn /home/user/.config/chromium/Default/Preferences. Es wird einen Abschnitt in Bezug auf geben window_placement.

Für eine Auflösung von 1920x1080 zum Beispiel:

...

"window_placement": {
   "bottom": 1080,
   "left": 0,
   "maximized": true,
   "right": 1920,
   "top": 0,
   "work_area_bottom": 1080,
   "work_area_left": 0,
   "work_area_right": 1920,
   "work_area_top": 0
}

...

Ich habe nie einen Weg gefunden, dies beim Start zu spezifizieren, und es kann sich ändern, wenn Sie neue Browserfenster öffnen.


3

Da ich dieses Thema recherchiert habe, möchte ich einen Link zu einer Lösung freigeben, aber es funktioniert möglicherweise nicht in einem minimalen Fenstermanager. Wenn der Grund für die Verwendung eines minimalen Fenstermanagers die Verwendung von Speicher oder anderen Ressourcen ist, gibt es möglicherweise bessere Lösungen.

http://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/

sudo nano / etc / xdg / lxsession / LXDE / autostart

Wie Sie wahrscheinlich erraten können, ist dies eine Datei, die ausgeführt wird, wenn Ihr Pi bootet. Um den Bildschirmschoner zu deaktivieren, fügen Sie am Anfang der Zeile ein # hinzu, das die Zeile auskommentiert.

@ xscreensaver -no-splash

Als nächstes fügen Sie diese Zeilen unter der Bildschirmschonerzeile ein

@xset s off @xset -dpms @xset s noblank

Dies deaktiviert die Energieverwaltungseinstellungen und stoppt die Bildschirmaustastung nach einer gewissen Zeit der Inaktivität.

Jetzt sollten wir verhindern, dass auf dem Bildschirm Fehlermeldungen angezeigt werden, wenn jemand versehentlich den pi aus- und wieder einschaltet, ohne den Vorgang des Herunterfahrens zu durchlaufen. Dazu fügen wir die folgende Zeile unter den soeben hinzugefügten Zeilen ein.

@sed -is / "exited_cleanly": false / "exited_cleanly": true / '~ / .config / chrom / Default / Preferences

Schließlich müssen wir Chrom anweisen, zu starten und welche Seite zu laden ist, sobald es ohne Fehlerdialoge und im Kiosk-Modus gestartet wird. Fügen Sie dazu die folgende Zeile am Ende dieser Autostart-Datei hinzu.

@chromium --noerrdialogs --kiosk http: //www.page-to.display


2

Erstellen Sie eine Kopie der Datei (speichern unter old.filename). Löschen Sie den Inhalt des Autostarts und ersetzen Sie ihn sudo nano ~/.confg/lxsession/LXDE/autostart @xset s off @xset -dpms @xset s noblank @chromium-browser --noerrdialogs --incognito --kiosk https://yoursite.html


Sie können dies mit der automatischen Anmeldung für das Benutzerkonto verwenden.
lightarrow
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.