Jak otworzyć Chromium w trybie kiosku pełnoekranowego w minimalnym środowisku menedżera Windows (np. Openbox / jwm)

12

Próbuję skonfigurować proste okno kiosku Ubuntu (14.04), uruchamiając tylko Chromium w bardzo minimalnym środowisku menedżera Windows. Kroki, które pomyślnie wykonałem:

  • Zaloguj się automatycznie: exec /bin/login -f kiosk_user < /dev/tty1 > /dev/tty1 2>&1za/etc/init/tty1.conf
  • Uruchom środowisko X ( startxw .profile)
  • Uruchom środowisko Chromium w X w .xinitrc
  • Uruchom Windows menedżer (starał fluxbox, jwmi openboxdo tej pory) w.xinitrc

To, co obecnie mam, to Chromium uruchamiane poprawnie, ale w trybie półnormalnym. Muszę gwałtownie nacisnąć klawisz F11 na klawiaturze, aby Chromium przeszedł do trybu pełnoekranowego i trybu kiosku.

Jeden z użytkowników chromu z listy mailingowej powiedział, że będzie działał dobrze w pełnym środowisku GNOME bez żadnych sztuczek (nawet xdotool) - więc może to być w jakiś sposób związane z tymi minimalnymi menedżerami okien.

Próbowałem nawet uruchomić sam Chromium bez żadnego menedżera systemu Windows (Chromium ma coś o nazwie Aura, własną WM dla ChromiumOS?). W tym trybie nie mogłem zmusić Chromium do wypełnienia całego ekranu. Ta metoda również nie jest preferowana, ponieważ nie ma możliwości łatwego otwierania innych aplikacji, na przykład w celu rozwiązywania problemów.


.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
Ville Mattila
źródło
Rozumiem, że właśnie próbowałeś biegać chromium-browser --kiosk?
saiarcot895
Tak, próbowałem po prostu chromium-browser --kioski działa to tak samo, jak mój pełny przykład powyżej.
Ville Mattila

Odpowiedzi:

4

Zamknij przeglądarkę i edytuj /home/user/.config/chromium/Default/Preferences. Będzie sekcja dotycząca window_placement.

Na przykład dla rozdzielczości 1920 x 1080:

...

"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
}

...

Nigdy nie mogłem znaleźć sposobu, aby określić to podczas uruchamiania i może się to zmienić, jeśli otworzysz nowe okna przeglądarki.

Gibbs
źródło
3

Ponieważ badałem ten temat, chciałbym udostępnić link do rozwiązania, ale może nie działać w minimalnym menedżerze okien. Jeśli więc powodem korzystania z minimalnego menedżera okien jest użycie pamięci lub innych zasobów, mogą istnieć lepsze rozwiązania.

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

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

Jak zapewne można się domyślić, jest to plik uruchamiany podczas uruchamiania pi. Aby wyłączyć wygaszacz ekranu, dodaj # na początku linii, to komentuje linię.

@xscreensaver -no-splash

Następnie dodaj te linie pod linią wygaszacza ekranu

@xset s wyłączony @xset -dpms @xset s noblank

Wyłącza to ustawienia zarządzania energią i zatrzymuje wygaszanie ekranu po okresie bezczynności.

Po wykonaniu tej czynności powinniśmy zapobiec wyświetlaniu na ekranie komunikatów o błędach w przypadku, gdy ktoś przypadkowo wyłączy zasilanie pi bez przejścia procedury wyłączania. Aby to zrobić, dodajemy następujący wiersz pod właśnie dodanymi liniami.

@sed -i 's / "exited_cleanly": false / "exited_cleanly": true /' ~ / .config / chromium / Default / Preferences

Na koniec musimy powiedzieć chromowi, aby uruchomił się i którą stronę załadować, gdy uruchomi się bez okien dialogowych błędów i w trybie kiosku. Aby to zrobić, dodaj następujący wiersz na dole tego pliku autostartu.

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

Erwin
źródło
2

Utwórz kopię pliku (zapisz jako old.filename) Usuń zawartość autostartu i zamień ją sudo nano ~/.confg/lxsession/LXDE/autostart @xset s off @xset -dpms @xset s noblank @chromium-browser --noerrdialogs --incognito --kiosk https://yoursite.html

Lightarrow
źródło
Możesz użyć tego z automatycznym logowaniem do konta użytkownika.
lightarrow