Title: A kiosk computer running OpenBSD
Author: Solène
Date: 11 October 2022
Tags: openbsd
Description: In this article you will learn how to create kiosks
systems with OpenBSD
# 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.
HTML surf-display-openbsd project page
HTML surf-display project page
# Installation
It's rather simple
1. `git clone https://tildegit.org/solene/surf-display-openbsd`
2. `install -m 555 surf-display-openbsd/bin/surf-display
/usr/local/bin/`
3. edit `~/.xsession` to use `/usr/local/bin/surf-display` as 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.
# 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.
# 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!