How mir-kiosk enables a graphical IoT using Mir

If you have a problem… if you just need support for one fullscreen application… and, if you can use snaps… maybe you can use… mir-kiosk.

Many devices need to provide some sort of graphical output or display (with the options of keyboard, mouse and touchscreen input) to the user. Some examples include interactive kiosks, digital signage, in-car entertainment, smart meters, the screens seen on everything from washing machines to smart thermostats and various “maker” projects.

There are many possible solutions that might use mir-kiosk, they can use different hardware or different versions of Ubuntu (Core or Classic), but they all amount to configuring, or building, a device that performs a specific function that uses a display.

Usage of mir-kiosk

mir-kiosk provides the foundation for any graphical kiosk implementation. It provides a black screen with a mouse pointer, letting you run any application you want, instantly turning it into a kiosk application. There are a number of demonstrations and tutorials showing how quickly you can do this:

  1. Running a kiosk on Ubuntu Core: showcases a set of Qt applications as examples apps you could run on a kiosk.
  2. Make a secure Ubuntu kiosk: a quick guide to deploying a kiosk or smart display on Ubuntu.
  3. Make a Wayland-native Kiosk snap: a snap of a Wayland-native application to act as the graphical user interface for an IoT or kiosk device.
  4. Run a Web Kiosk/Web Display on Ubuntu Core: an example web kiosk snap.
  5. https://tutorials.ubuntu.com/tutorial/x11-kiosk: Make a X11-based Kiosk Snap: a snap of an X11 application to act as the graphical user interface for an IoT or kiosk device.
  6. Make a HTML5/Electron-based Kiosk Snap: Build and deploy an Electron-based kiosk application as a snap.

Mir-kiosk uses Mir

Mir provides a stable, well tested and performant platform with touch, mouse and tablet input capability. It provides secure client-server communications based on the Wayland protocol. To find out more about Mir, see the website at: https://mir-server.io/

Mir deals with the initialization and configuration of a broad array of graphics and input hardware and transparently deals with hardware quirks. The Mir libraries provide most of the window management which can be customized by applications, for example to run in fullscreen, which mir-kiosk does.

The mir-kiosk project takes this program and packages it as a snap for ease of use. If you would like to install mir-kiosk on any snap-enable Linux distro, just type:

snap install mir-kiosk

and check out the tutorials above.

Internet of Things

From home control to drones, robots and industrial systems, Ubuntu Core and Snaps provide robust security, app stores and reliable updates for all your IoT devices.

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

8 Ways Snaps are Different

Depending on the audience, the discussion of software packaging elicits very different responses. Users generally don’t care how software is packaged, so long as it works. Developers typically want software packaging as a task to not …

Julia and Jeff discover the ease of snaps at the Snapcraft Summit

Julia is an open source, high-level, general-purpose, dynamic programming language designed for numerical analysis and computational science, launched in 2012. It solves the “two language” problem: developers can use Julia for both computational and interactive work, …

Slow snap? Trace-exec to the rescue!

Slow applications are never fun. But not knowing why an application is not behaving correctly can be even more frustrating. A well-designed system that can diagnose performance or startup issues and inform the user about the …