Files
ansible/roles/pi_kiosk/templates/bash_profile.j2
Martin Bauer a2ed74093a Give the kiosk a window manager, and a debug mode to go with it
The role ran no window manager on the theory that Firefox is the only X client and
--kiosk makes it full-screen by itself. It doesn't: --kiosk *asks* to be full-screen
over EWMH, and with no WM running nobody answers. Firefox kept its default window
size in the top-left corner - on musicdolphin's 1920x1080 monitor, a 1280x972 window
with black bands down the right edge and along the bottom, which looks exactly like
an overscan problem and isn't one. Openbox answers the request and does nothing else.

pi_kiosk_mode=debug then turns the attached screen into something workable: Firefox
as an ordinary window that is not relaunched when you close it, a visible pointer,
Openbox as the session leader with a root menu offering a terminal, and xterm,
x11-utils and mesa-utils installed. musicdolphin is set to debug for now.

The templates notify the getty handler, so a mode switch restarts the session on its
own - Xorg lives in that unit's cgroup.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 13:03:14 +02:00

14 lines
407 B
Django/Jinja

# Managed by ansible (pi_kiosk role). Auto-starts the kiosk browser on the console
# this account autologs into - not meant for interactive use.
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
while true; do
{% if pi_kiosk_mode == 'debug' %}
# No -nocursor: debugging on the device's own screen needs a pointer.
startx
{% else %}
startx -- -nocursor
{% endif %}
sleep 1
done
fi