Raspberry Pi Kiosk Mode with Chromium Browser on Mac

Configuring a Raspberry Pi in Kiosk Mode with Chromium Browser on Mac

This guide outlines how to setup a Raspberry Pi in kiosk mode with Chromium. There are many tutorials on the internet that outline how to do it, but I always found myself needing to add an additional step or command that wasn’t included in the guide.

As a result, I decided to compile everything into one guide so that you can be confident that it will work after following this guide step-by-step.

The following testing was done using;

  • Raspberry Pi Model 2 B V1.1
  • Raspbian Jessie 2016-05-27 image
  • Mac OS El Capitan
  • Whilst the steps should work on different versions of Raspbian and different Raspberry Pi models, I can’t guarantee it. Other browsers such as Midori can also be setup with great effect by changing the file in the last step to suit the different browser.

    Initial Raspberry Pi download and SD Card formatting

    Firstly, download the latest version of Raspberry Pi from raspberrypi.org. I recommend downloading the full version of whatever is currently available.

    For this testing I am using Raspbian Jessie 2016-05-27 which is the latest at the time of writing.

    Insert the SD card into your computer, and then open Disk Utility by searching for it in the Spotlight toolbar (cmd + space). Select the SD Card, navigate to the erase tab and click erase.

    Next open up a Terminal window and enter the following:

    diskutil list

  • Used to identify the disk (not partition) of your SD Card. E.g. disk2 (not disk2s1).
  • Mac diskutil list command

    diskutil unmountDisk /dev/diskX

  • Where X is the disk you just determined was the Raspberry Pi from the diskutil list command.
  • sudo dd bs=1m if=<your image file>.img of=/dev/diskX

  • e.g. sudo dd bs=1m if=2016-05-27-raspbian- jessie.img of=/dev/disk2
  • This will copy your Raspberry Pi image from the specified location to /dev/disk2, which is your Raspberry Pi.
  • Next insert your SD Card into the Raspberry Pi and boot it up.

    Raspbian Jessie Kiosk Mode post-installation steps

    Open another terminal window and run sudo apt-get update. This will update any packages that need updating and ensures that we have the latest versions of programs before we proceed.

    Next, do the sudo raspi-config.

  • Expand the filesystem from the main menu using Option 1
  • Change user password using Option 2.
  • Disable overscan, meaning the display will fill the entire monitor/screen. Select Advanced Options, then Overscan, then hit No.
  • Set Locale/Timezone/Keyboard Layout/Country through Internationalisation Options and then following the prompts.
  • Set Boot Options to Desktop Autologin. This will make the Pi automatically load the Gui and login on startup.
  • Click Finish and restart the Pi.
  • Installing the Chromium Browser in Kiosk Mode

    Unfortunately as of Raspbian Jessie, Chromium is no longer in the official repositories for Raspberry Pi so you need to add them manually. Do them one by one to stop any errors from occurring.

    The repositories are explained here: libgcrypt11, Chromium Browser, Chromium codecs.

  • wget http://launchpadlibrarian.net/201290259/libgcrypt11_1.5.3-2ubuntu4.2_armhf.deb
  • wget http://launchpadlibrarian.net/219267135/chromium-codecs-ffmpeg-extra_45.0.2454.1010ubuntu0.
  • wget http://launchpadlibrarian.net/219267133/chromium-browser_45.0.2454.101-0ubuntu0.
  • sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4.2_armhf.deb
  • sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.1010ubuntu0.
  • sudo dpkg -i chromium-browser_45.0.2454.101-0ubuntu0.
  • Note: It is MUCH easier to SSH into the Pi and copy paste these packages instead of trying to type it out manually.

    Enter the command ifconfig into the Raspberry Pi terminal to find out the IP address of the Pi if you want to SSH into it.

    I highly recommend you also install the application Unclutter which hides the mouse cursor so it can’t be seen when you put the Pi into kiosk mode.

    sudo apt-get install unclutter

    Setting up Chromium Browser Kiosk Mode to Autostart on boot

    We need to now configure the Chromium to autostart upon restart or startup. (At least on Raspbian Jessie) it’s important to modify the autostart file in the Pi user’s home directory.

    Editing the global file will not work.

    sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

    Comment out the screensaver option by adding a # to the beginning.

    #@xscreensaver –no-splash

    Next add xset options to disable power saving options:

    @xset s off

    @xset s noblank

    @xset –dpms

    Finally, you need to add switches to start Chromium in kiosk mode and choose which URL it should open.

    @chromium-browser –noerrdialogs –kiosk –incognito https://www.google.com

    Raspberry Pi Autostart config

    A full list of switches to add can be found here.

    Restart and the desktop should now auto-login and display a full-screen Chromium window.

    Unfortunately, there is no easy way to make Chromium auto-refresh. If you need auto-refresh try the Midori browser which has auto-refresh built into it. If there is enough interest, I will write up a guide on how to configure a Raspberry Pi Kiosk Browser with Midori.

    [content-egg module=Amazon next=1]


    1. Augusto December 3, 2016
      • Marcus December 15, 2016
    2. Luc February 16, 2017

    Leave a Reply