wolfgang ziegler


„make stuff and blog about it“

Setting up a Raspberry Pi in Kiosk Mode - 2020 Update

February 15, 2020

This is an update to the blog post Setting up a Raspberry Pi in Kiosk Mode I wrote in 2016. A couple of things have changes since them, some are the same. However, this is how the kiosk mode setup worked for me with latest Raspbian version.

Raspian Buster, February 2020

This image I used is Raspbian Buster with desktop and it comes with a Chromium browser installed by default. Also I am running with the default user pi, which is relevant for the example below and needs to be considered if you are running a different user.

So these are the steps I took to get a basic clean Kiosk Experience.

Hide the Mouse Cursor

First, we want to get rid of the mouse cursor on the desktop. This is really simple and only requires us to install the unclutter package.

$ sudo apt-get install unclutter

To make sure that this actually worked, we can simply restart the desktop using following command:

$ sudo service lightdm restart

Disable the Screensaver

The next important step is to prevent the screensaver kicking in and blanking the screen. The simplest configuration I could come up with was changing the file /etc/xdg/lxsession/LXDE-pi/autostart like this:

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xset s off
@xset -dpms
@xset s noblank

@/home/pi/run.sh

Auto Start a Browser

The last entry in the above configuration file launches the the script /home/pi/run.sh, which will contain the code for launching Chromium in Kiosk Mode. But we have to create that file first:

$ touch /home/pi/run.sh

Then make it executable:

$ chmod +x /home/pi/run.sh

Now, let’s edit this file so it looks like this (note: the line breaks are just for formatting reasons).

#!/bin/sh
/usr/bin/chromium-browser --app=http://your-site
  --kiosk
  --noerrdialogs
  --disable-session-crashed-bubble
  --disable-infobars
  --check-for-update-interval=604800
  --disable-pinch

Please give this simple recipe a try and let me know if it works for you. If it doesn’t work let me know as well but keep in mind that …

The Dude: It works on my machine