1.9 KiB
matchbox‑wm
matchbox‑wm is a minimal, single‑window X11 window manager originally designed for embedded systems, kiosks, and low‑resource devices. Unlike traditional window managers, it enforces a strict one‑window‑only model, making it ideal for fullscreen kiosk applications such as Chromium dashboards.
Key characteristics:
-
Single‑window design: Only one application window is shown at a time, always fullscreen.
-
Extremely lightweight: Uses roughly 1–2 MB of RAM, suitable for low‑memory environments.
-
No desktop components: No panels, menus, compositors, notifications, or session daemons.
-
Deterministic behavior: Eliminates window management complexity, ideal for locked‑down kiosk workflows.
-
Runs on Xorg: Works as a tiny layer on top of the X11 display server.
-
Perfect for kiosks: Commonly paired with Chromium in kiosk mode for dashboards and appliances.
Install
apt update
apt install matchbox-window-manager xorg
Setup
Example to start matchbox-window-manager, auto login user xxx and start chromium.
- Auto login
mkdir -p /etc/systemd/system/getty@tty1.service.d
#/etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin xxx --noclear %I $TERM
sudo systemctl daemon-reload
- Setup user to startx
# /home/xxx/.bash_profile
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
startx
fi
- Setup setup scripts
# /home/xxx/.xinitrc
eval $(dbus-launch --exit-with-session)
export SSL_CERT_DIR=/etc/ssl/certs
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
matchbox-window-manager &
chromium \
--kiosk \
--noerrdialogs \
--disable-infobars \
https://yoursite
chmod +x /home/xxx/.xinitrc
misc
Stop auto tty session and kill session:
sudo systemctl stop getty@tty1