These instructions are helpful if you would like to create a computer kiosk. The instructions are designed to run Chromium (the open-source version of Google's Chrome browser), but can be adapted to run any GUI program in a kiosk/fullscreen mode.

This guide was last tested against Debian 9.4 (Stretch) GNU/Linux.

Note that this guide is not intended to create a perfectly secure system, and may be vulnerable to tampering by knowledgable users.

Create a user on the system for the kiosk. In my case, the user is named kiosk-user.

useradd -m kiosk-user

Update the package list.

apt-get update

Install required packages.

apt-get install \
    sudo \
    xorg \
    chromium \
    openbox \
    lightdm

Edit the lightdm config script at /etc/lightdm/lightdm.conf to enable autologin.

That file needs to only contain this content for autologin to work.

[SeatDefaults]
autologin-user=kiosk-user
user-session=openbox

Reboot to verify autologin works. You should now be logged in as kiosk-user automatically.

Create the openbox config directory for kiosk-user if it does not exist.

mkdir -p $HOME/.config/openbox

Create a script at $HOME/.config/openbox/autostart for the kiosk-user. This script will be run at login.

chromium \
    --no-first-run \
    --disable \
    --disable-translate \
    --disable-infobars \
    --disable-suggestions-service \
    --disable-save-password-bubble \
    --start-maximized \
    --kiosk "http://www.google.com" &

The & at the end is required for every command in the autostart script.

Reboot, and you should see the machine automatically login and run chromium in kiosk mode.

Citations