Debian Fullscreen GUI Kiosk

Debian Fullscreen GUI Kiosk – Will Haley

Aug 3, 2017Updated 

This article was last edited over 3 years ago. Information here may no longer be accurate. Please proceed with caution, and feel free to contact me.

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

Feel free to contact me with questions or feedback regarding this article.