Setup Instructions for Chromium Kiosk on Raspberry Pi 2/3 model B

These instructions tend to change over time. This works perfectly with the May 2016 release of Raspbian and has been adapted from instructions for previous builds.

Step 1: Downloading and Preparing the Operating System

Obtain the latest Raspbian Jessie release here: https://www.raspberrypi.org/downloads/raspbian/

You're going to want the full desktop image rather than the minimal lite version. You will want to install it on a micro SD card. 8 Gig cards are pretty cheap from Amazon. 32 Gig cards seem to be at the price sweet spot at the time of this writing.

Open a terminal and use diskutil to find the micro SD card.

diskutil list

You'll likely see somthing like this:

MacBook-Pro:~ user$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.1 GB    disk3
   1:             Windows_FAT_32 boot                    52.4 MB    disk3s1
   2:                      Linux                         32.0 GB    disk3s2

Unmount the volume. Note this is different from ejecting the card

MacBook-Pro:~ user$ diskutil unmountDisk disk1

Instead of using disk1, we'll use rdisk1 for the dd command as it's a bit faster. Here's a discussion as to why.

sudo dd if=Desktop/2016-05-10-raspbian-jessie.img of=/dev/rdisk1 bs=1m
password: *

Wait...and wait...and wait.

You can check the progress with:

kill -SIGINFO Process-ID

Where Process-ID is the process id you would find by running a ps -ef command.

You will get a command prompt when it's done. At this point, you can eject the card.

Step 2: Boot your Raspberry Pi and change the default password

Once your Pi is booted, you should run through the Configuration to set your locale settings, expand the filesystem and enable SSH (which should be enabled by default).

If you are going to use this as a Kiosk, you will want to change the password for the default pi user. The existing account is pi:raspberry. You can change the password by opening a terminal as follows: (Note that when you are typing passwords, the characters don't show up)

Raspberrypi:~ user$passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Step 3: Install Chromium Browser

Credit for these instructions is from https://www.raspberrypi.org/forums/viewtopic.php?t=121195

Add the Chromium repository and install the software. Answer Y to all questions!:

wget -qO - http://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
echo "deb http://dl.bintray.com/kusti8/chromium-rpi jessie main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install chromium-browser rpi-youtube -y

Step 4: Set the Pi up to boot directly to Chromium in Kiosk mode

Credit for these instructions is from https://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/

First install the tools

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install x11-xserver-utils unclutter

Then we have to change the settings to make it auto start. I'm a fan of vi, but you could use nano if you prefer.

sudo vi ~/.config/lxsession/LXDE-pi/autostart

Disable the screensaver by commenting out the screensaver line with a # at the beginning of that line.

#@xscreensaver -no-splash

Add these lines under the screensaver line to disable power management and redirect error messages.

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

Finally send the command to start chromium. This goes below the sed command from above.

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

Save the file and reboot your Pi. That should do it.