Current guide for a firefox-based kiosk using ubuntu-frame?

Hello. I have recently been attempting to set up a web kiosk for installation in a remote location.

I currently have a touchscreen + micro PC running Ubuntu Server. It is running Ubuntu Server because I liked the idea of Ubuntu Core + Ubuntu Frame for the kiosk but wanted to keep the pre-installed Windows 11 partition around and as was pointed out by @ogra Ubuntu Core does not want to share the disk.

So I tried to follow the Make a Secure Ubuntu Web Kiosk on my Ubuntu Server. I had to mix in some additional secret daemon and connect sauce scattered in other places, and came up with this syntax:

sudo snap install ubuntu-frame
sudo snap set ubuntu-frame daemon=true
sudo snap install wpe-webkit-mir-kiosk
sudo snap set wpe-webkit-mir-kiosk daemon=true
sudo snap connect wpe-webkit-mir-kiosk:wayland
sudo snap set wpe-webkit-mir-kiosk url=https://example.com

Replacing example.com with the desired website does load it and the touchscreen works to see and navigate the basic functions.

Unfortunately, some interactivity of the site is not working well with the browser engine in wpe-webkit-mir-kiosk and I’d like to be able to run firefox or chromium as the browser. I saw the Using Firefox/Wayland on Mir servers post by @alan_g and tried to replicate my steps above using the firefox snap instead of the wpe-webkit-mir-kiosk snap but the browser does not appear on screen.

Is there a current write-up anywhere for how to achieve this?
If not, any ideas for me to try? If I get it working I will write it up.

Thanks for any assistance!

@ahayes-gcrc sorry, but the approach you are following requires the browser to run as a daemon service. That needs to be supported by the snap’s packaging.

The Firefox snap doesn’t include a daemon service:

$ snap info firefox | grep --after 1 services:
$

In contrast the wpe-webkit-mir-kiosk does:

$ snap info wpe-webkit-mir-kiosk | grep --after 1 services:
services:
  wpe-webkit-mir-kiosk.daemon:          simple, disabled, inactive

However, there may be options:

I don’t know how well it works as a “kiosk”, but the chromium snap is packaged with daemon support (if you try this, please report back):

$ snap info chromium | grep --after 1 services:
services:
  chromium.daemon: simple, disabled, inactive

Alternatively, since you are using Ubuntu Server you could run Firefox in a user session with frame-it:

1 Like

Thank you very much @alan_g
I will definitely give this a try and report back.

I tried it and it works well.

Steps:

Install Ubuntu Server 24.04.02 and then:

sudo snap install ubuntu-frame
sudo snap set ubuntu-frame daemon=true
sudo snap install chromium
sudo snap set chromium url=https://clyderiveratlas.ca
sudo snap set chromium daemon=true
snap connect chromium:wayland

To change the URL:

sudo snap set chromium url=https://discourse.ubuntu.com/t/current-guide-for-a-firefox-based-kiosk-using-ubuntu-frame/57638
sudo snap restart chromium

I am happy to see that the configuration persists and the ubuntu-frame and chromium snaps come up again after a reboot.

Thank you @alan_g (and @ogra )!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.