1. Introduction §
Let's have fun doing OpenBSD kiosks! As explained in a recent article, a kiosk is a computer dedicated to display things or to be used interactively without being able to escape the current program.
I modified the script
surf-display which run the web browser
surf in full screen and run various commands to sanitize the environment to prevent users to escape surf to make it compatible with OpenBSD.
2. Installation §
It's rather simple
git clone https://tildegit.org/solene/surf-display-openbsd
install -m 555 surf-display-openbsd/bin/surf-display /usr/local/bin/
/usr/local/bin/surf-displayas a window manager
You will also need dependencies:
pkg_add surf wmctrl blackbox xdotool unclutter
Now, when you log in your user,
surf will be started automatically, and you can't escape it, so you will need to switch to a TTY if you want to disable it, or through ssh.
3. Configuration §
The configuration is relatively simple for a single screen setup. Edit the file
/etc/surf-display and put the URL you want to display as the value of
DEFAULT_WWW_URI=, this file will be loaded by
surf-display when it runs, otherwise OpenBSD website will be displayed.
4. Conclusion §
It's still a bit rough for OpenBSD, I'd like to add xprintidle to automatically restart the session if the user has been inactive, but it's working really well already!