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.

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

Install the base version of Debian. The base version has no X server or GUI by default. It is helpful to start from this minimal base so that we can install only the packages that we need and keep the installation small.

Create a user on the system for the kiosk. In my case, the user is named kiosk-user and does not have any special access.

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

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