Kiosk Mode Browser Setup#

To set up the device to start chromium in kiosk mode, a systemd service is already provided in the ´´´demmelproducts-image-demo´´´ image.

The following steps are required in a terminal on target.

Open Terminal#

Connect to a terminal as shown in Terminal Connection

Chromium starts as the user demo, which is created in the recipe for the image demmelproducts-image-demo.

Set URL

First, set the URL to be opened by setting temporarily the environment variable URL. The variable must be set before changing the service behaviour every time after a reboot or a new terminal is opened.

export URL="YOUR-WEBSITE"
# e.g. export URL="https://www.demmel.com"

Start chromium-kiosk service

To start the Chromium service for testing purposes, it is started by handing the URL using systemctl start. To stop it, enter systemctl stop instead.

systemctl start chromium-kiosk@$(systemd-escape ${URL}).service
# To stop again:
# systemctl stop chromium-kiosk@$(systemd-escape ${URL}).service

Enable chromium-kiosk service

To start the Chromium service at bootup, it is enabled by handing the URL using systemctl enable. To disable it, enter systemctl disable instead. Please note that enable starts the service at boot-up, not immediately.

systemctl enable chromium-kiosk@$(systemd-escape ${URL}).service
# To disable it again:
# systemctl disable chromium-kiosk@$(systemd-escape ${URL}).service

Change URL to be displayed

Edit the file /lib/systemd/system/chromium-kiosk.service and replace Environment="WEBSITE=www.demmel.com" with Environment="WEBSITE=<YOUR_WEBSITE>" e.g. by using following command on the target:

    nano /lib/systemd/system/chromium-kiosk.service 

Start chromium-kiosk service

To start the service, enter

    systemctl start chromium-kiosk.service

Enable chromium-kiosk at boot-up

To enable automatic start-up of the service, enter

    systemctl enable chromium-kiosk.service

Optional: Disable iLCD services#

If not required, the iLCD services providing the demo launcher and the compositor can be disabled by:

    systemctl disable iLCDsettings.service
    systemctl disable iLCDcompositor.service

Additional information regarding systemctl#

  • Start a service: systemctl start <Service>

  • Stop a service: systemctl stop <Service>

  • Show the status of a service: systemctl status <Service>

  • Enable starting a service at boot-up: systemctl enable <Service>

  • Disbale starting a service at boot-up: systemctl disable <Service>

Additional information regarding systemctl can be found at