miral-kiosk(1)

๐Ÿ’– NAME ๐Ÿ’–

miral-kiosk โ€” the Mir Display Server running in kiosk mode, bestie. It's giving "one thing on screen, no distractions, main character energy." ๐Ÿ‘‘


โœจ SYNOPSIS โœจ

miral-kiosk [options]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

So miral-kiosk launches a Mir Display Server shell in kiosk mode, okay? And when I say kiosk mode I mean it literally only does the bare minimum window management. No frills. No extra drama. Just vibes. ๐Ÿ’…

But the way you start it up can be tweaked, and there are like, three whole ways to do that:

๐ŸŽ€ Command-line options

Like for example "--host-socket=/tmp/mir_socket". Simple. Clean. Iconic.

๐ŸŒธ Environment variables

Okay so the trick here is: take the long form of the command line option, capitalise it, slap "MIR_SERVER_" on the front, and swap every "-" for a "_". That's it. That's the whole recipe.

For example: "MIR_SERVER_HOST_SOCKET=/tmp/mir_socket".

๐Ÿ“ Config file entries

Just use the long form of the command line options inside the config file. Like: "--host-socket=/tmp/mir_socket".

The config file lives at mir/miral-kiosk.config, and you find it via the XDG Base Directory Specification โ€” that's $XDG_CONFIG_HOME or $HOME/.config, followed by $XDG_CONFIG_DIRS. ๐Ÿซถ


๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

  • --host-socket <socket-filename> โ€” the host socket filename. ๐Ÿ’ซ
  • -f, --file <filename> โ€” the socket filename. Default is $XDG_RUNTIME_DIR/mir_socket or /tmp/<UID_NUMBER>-runtime-dir/mir_socket. ๐Ÿ˜Œ
  • --no-file โ€” do not provide a socket filename for client connections. Nope. Not doing it. ๐Ÿ™…
  • --arw-file โ€” sets the socket file permissions to globally read-writeable. That's literally the same as chmod a=rw. โœจ
  • -p, --prompt-file โ€” provides a "..._trusted" filename for prompt helper connections. ๐ŸŽ€
  • --platform-graphics-lib <platform_library> โ€” the library to use for platform graphics support. Default: autodetect. ๐Ÿ”
  • --platform-input-lib <input_library> โ€” the library to use for platform input support. Default: input-stub.so.
  • --platform-path arg (=/usr/lib/x86_64-linux-gnu/mir/server-platform) โ€” the directory to look for platform libraries. Default: /usr/lib/<multi-arch>/mir/server-platform. ๐Ÿ“
  • -i, --enable-input {0,1} โ€” enable input. Default: 1, meaning: enabled. ๐Ÿ’œ
  • --compositor-report {log,lttng,off} (=off) โ€” compositor reporting, either of log, lttng or off. Default: off.
  • --connector-report {log,lttng,off} โ€” how to handle the Connector report, either of log, lttng or off. Default: off.
  • --display-report {log,lttng,off} โ€” how to handle the Display report, either of log, lttng or off. Default: off.
  • --input-report {log,lttng,off} โ€” how to handle the Input report, either of log, lttng or off. Default: off.
  • --legacy-input-report {log,off} โ€” how to handle the Legacy Input report, either of log or off. Default: off.
  • --seat-report {log,off} โ€” how to handle the Seat report, either of log or off. Default: off.
  • --session-mediator-report {log,lttng,off} โ€” how to handle the SessionMediator report, either of log, lttng or off. Default: off.
  • --msg-processor-report {log,lttng,off} โ€” how to handle the MessageProcessor report, either of log, lttng or off. Default: off.
  • --scene-report {log,lttng,off} โ€” how to handle the scene report, either of log, lttng or off. Default: off.
  • --shared-library-prober-report {log,lttng,off} โ€” how to handle the SharedLibraryProber report, either of log, lttng or off. Default: log. (Yeah bestie, this one defaults to log while all its siblings default to off. We don't make the rules. ๐Ÿ’€)
  • --shell-report {log,off} โ€” how to handle the Shell report, either of log or off. Default: off.
  • --composite-delay <msecs> โ€” compositor frame delay in milliseconds. That's how long it waits for new frames from clients before compositing. Higher values = lower latency, but they risk causing frame skipping. A negative value means "decide automatically." Default: 0.
  • --name <name> โ€” when nested, the name Mir uses when registering with the host. ๐Ÿท๏ธ
  • --nested-passthrough {0,1} โ€” when nested, attempt to pass a client's graphics content directly to the host so it avoids a composition pass. Default: 1.
  • --offscreen โ€” render to offscreen buffers instead of the real outputs. ๐ŸŒˆ
  • --enable-touchspots โ€” display visualization of touchspots (like for screencasting, iykyk). โœจ
  • --cursor {auto,null,software} โ€” which cursor (mouse pointer) to use. Default: auto.
  • --enable-key-repeat {0,1} โ€” enable server generated key repeat. Default: 1.
  • --on-fatal-error-except โ€” on "fatal error" conditions (like drivers behaving in unexpected ways, rude of them ๐Ÿ˜ญ), throw an exception instead of a core dump.
  • --debug โ€” enable extra development debugging. Lowkey this is only interesting for people doing Mir server or client development. If that's not you, you can skip it. ๐Ÿ™ˆ
  • --enable-mirclient โ€” enable the deprecated mirclient socket (for running old clients). Old. Ancient. But supported. ๐Ÿ’€
  • --console-provider arg (=auto) โ€” console device handling: how Mir handles console-related tasks (device handling, VT switching, etc.). The possible values are:
    • logind โ€” use logind. vt: use the Linux VT subsystem. Requires root privileges.
    • none โ€” support no console-related tasks. Useful for nested platforms which do not need raw device access and which don't have a VT concept. ๐Ÿชบ
    • auto โ€” detect the appropriate provider. ๐Ÿ”ฎ
  • --vt {0,1} โ€” VT to run on, or 0 to use the current one. Default: 0.
Heads up bestie: using this option requires --console-provider=vt. ๐Ÿšจ
  • --bypass {0,1} โ€” [platform-specific] utilize the bypass optimization for fullscreen surfaces. Default: 1. โœจ
  • --x11-output <sizes> โ€” [mir-on-X specific] a colon separated list of WIDTHxHEIGHT sizes for "output" windows. Default: 1280x1024. ๐Ÿ–ฅ๏ธ
  • --wayland-host <socket-name> โ€” socket name for the host compositor.
  • --startup-apps <list-of-applications> โ€” colon separated list of startup applications. ๐ŸŒฑ
  • --env-hacks <env-vars> โ€” colon separated list of environment variable settings. ๐Ÿคซ
  • --display-layout <layout> โ€” display configuration layout. Default: default. This comes from miral-kiosk.display, which is found in $XDG_CONFIG_HOME or $HOME/.config, followed by $XDG_CONFIG_DIRS. ๐Ÿ—บ๏ธ
  • --window-management-trace โ€” log trace messages. ๐Ÿ”Ž
  • --keymap <keymap> (=us) โ€” a keymap identifier. Format: <layout>[+<variant>[+<options>]], e.g. "gb", "cz+qwerty" or "de++compose:caps". Default: us. โŒจ๏ธ
  • --kiosk-startup-apps-only {0,1} โ€” only allow applications to connect during startup. Default: 0. ๐Ÿšช
  • -h, --help โ€” show help text and exit. The classic. ๐Ÿซถ

๐ŸŒŸ SEE ALSO ๐ŸŒŸ


๐ŸŒธ AUTHOR ๐ŸŒธ

The Mir Display Server has been written by the Mir Server Team at Canonical Ltd.

This man page has been written for the Debian project by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> and may be re-used by others. ๐Ÿ’Œ


And that's the whole page, bestie! This was version 1.8.0, from April 2020 โ€” part of the Mir Display Server Demo Application situation. Go forth and kiosk. ๐Ÿ’…โœจ๐Ÿฆ‹