How to build a Linux Kiosk

  Linux

This guide was last tested with Debian 9.8(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.

We start from beginning that you have already installed a new box with Debian Stretch, and have access to the shell.

So lets start…

1 – Create a user on the system for the kiosk.

useradd -m kiosk-user

2 – Update the package list.

apt update

3 – Install required packages.

apt install sudo xorg chromium openbox lightdm

4 – After this install everything we need .

apt install fail2ban whois tcpdump speedometer iptraf bmon sudo sssd-ldap sssd-tools nmap dnsutils logwatch htop netfilter-persistent   rsync postfix pwgen iptables-persistent netfilter-persistent aptitude vim mc iotop psmisc open-vm-tools  build-essential linux-headers  - $(uname -r) nfs-kernel-server nfs-common unclutter zabbix-agent -y

5 – Now remove all the users created at installation.

userdel user_created_at_installation

6 – Edit the lightdm config script at /etc/lightdm/lightdm.conf to enable autologin.
This has to be done in the user(Kiosk-user) home directory.

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

7 – Reboot and check/verify autologin working.
You should now be logged in as kiosk-user automatically.

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

su - kios-user.

mkdir /home/kiosk-user/.config

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

10 – To disable moitor auto power off, add the following to the autostart created before.

@xset -dpms
xset s off
xset s noblank

11 – Remove the mouse pointer, adding the following to autostart file.

@unclutter -idle 0

12 – Finally add the the following to autostart

chromium --ignore-autoplay-restrictions \
    --no-first-run \
    --disable \
    --disable-translate \
    --disable-infobars \
    --disable-suggestions-service \
    --start-maximized \
    --incognito \
    --no-user-gesture-required \
    --kiosk "https://my_website_content_to Kiosk "

Note:
The latest versions of chromium do not play videos automaticly, you have to change some flags … check flags…

LEAVE A COMMENT