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.
       
 (HTM) surf-display-openbsd project page
 (HTM) 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!