Raspberry Pi Kiosk Mode using full Raspbian

Why use full Raspbian? For a start it’s a lot simpler.

It just works , if you compare this to the same instructions for Raspbian Lite the first thing you’ll notice is that this post is a lot shorter. Most of the stuff you have to install/setup as extra’s on Raspbian Lite to make this work come baked in on Raspbian. There’s no faffing around trying to work out how to auto-mount USB sticks, they’re plug and go and they show up where your users expect to find them so they don’t need a detailed explanation of where to look. If you have the computing power (are using a Pi 3) then I recommend this route.

  1. Download and install Raspbian I recommend using Apple Pi Baker if you’re on a mac.
  2. Setup SSH by dropping a file named ssh into the root folder of the disk image you have just created.
  3. run sudo apt-get update && sudo apt-get -y upgrade
  4. OPTIONAL: sudo apt-get install vim
  5. sudo apt-get install unclutter
  6. sudo vim home/pi/.xsession And add the following to it:
xset s off &
xset -dpms &
xset s noblank &

unclutter &

/usr/bin/chromium-browser --incognito --kiosk --window-size=7000,7000 --start-fullscreen --window-position=0,0 https://tamarisk.it

Lets break down that last line a bit:

  • incognito - so that no data is saved
  • kiosk - so there’s no chrome on our chromium install
  • window-size - set initially to huge so that it’s always going to be bigger than the screen being used*
  • start-fullscreen - sets the browser window to the actual size of the screen*
  • window-position - ensures the window is located correctly
  • For some reason passing the screen size to chromium from the .xsession script doesn’t seem to work, this is a hacky workaround but it does mean that you don’t have to ensure you have the correct pixel size for your screen every time you use the script on a different one.

That’s it you’re done. If you want to you can now set up your Pi to run a Flask App locally.