About me: My name is Solène Rapenne, pronouns she/her. I like learning and sharing knowledge. Hobbies: '(NixOS BSD OpenBSD Lisp cmdline gaming internet-stuff). I love percent and lambda characters. OpenBSD developer solene@.

Contact me: solene+www at dataswamp dot org or @solene@bsd.network (mastodon). If for some reason you want to support my work, this is my paypal address: donate@perso.pw.

A kiosk computer running OpenBSD

Written by Solène, on 11 October 2022.
Tags: #openbsd

Comments on Fediverse/Mastodon

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.

surf-display-openbsd project page

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!