From 2cb4fb5e2128a4756e9e07c99f6b73a53fe97823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Tue, 16 Dec 2025 22:32:51 +0000 Subject: [PATCH] =?UTF-8?q?add=20matchbox=E2=80=91wm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 +++++++++-- docs/display-managers/gdm.md | 2 +- docs/display-managers/matchbox‑wm.md | 70 ++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 docs/display-managers/matchbox‑wm.md diff --git a/README.md b/README.md index 2a5aedd..e953376 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Linux -- [Distros](#distros) +- [Distro](#distro) - [Graphical Environment](#graphical-environment) - [Display Managers](#display-managers) - [cli - utils](#cli---utils) @@ -11,6 +11,8 @@ - [Archiving and Compression](#archiving-and-compression) - [tar](#tar) - [Users, Groups, and File permissions](#users-groups-and-file-permissions) + - [loginctl](#loginctl) + - [terminate-user](#terminate-user) - [Network Configuration](#network-configuration) - [hostname / hostnamectl](#hostname--hostnamectl) - [static ip](#static-ip) @@ -28,7 +30,7 @@ - [CLI Diagnostics and System Topology](#cli-diagnostics-and-system-topology) - [lspci](#lspci) -## Distros +## Distro - [Debian](./docs/distros/debian.md) - [Fedora](./docs/distros/fedora.md) @@ -38,9 +40,12 @@ ### Display Managers -🎛️ A display manager is the graphical login screen you see when you boot your system. +A display manager is a graphical login manager that: -Main job: It handles user sessions — letting you log in, choose a user, select a desktop environment, and start the graphical session. +- starts the Xorg or Wayland display server +- shows a login screen (greeter) +- authenticates the user +- launches the user’s session (desktop environment or window manager) Examples: @@ -48,6 +53,7 @@ Examples: - [GDM (GNOME Display Manager)](./docs/desktop-environments/gnome.md) - [SDDM](./docs/display-managers/sddm.md) - Used by [KDE](./docs/desktop-environments/kde.md) - LXDM (used by LXDE) +- [matchbox-window-manager](./docs/display-managers/matchbox‑wm.md) #### cli - utils @@ -144,6 +150,18 @@ usermod -a -G GROUPNAME USERNAME ``` +### loginctl + +*command belongs to systemd‑logind.* + +#### terminate-user + +terminate-user Terminates all processes and sessions belonging to the specified user. This works on any system using systemd — including headless servers with no graphical environment. On headless systems, it closes SSH/TTY sessions and kills all user‑owned processes. On graphical systems, it also terminates Xorg/Wayland sessions and window managers. + +``` bash +loginctl terminate-user +``` + ### Network Configuration #### hostname / hostnamectl diff --git a/docs/display-managers/gdm.md b/docs/display-managers/gdm.md index 93031d2..1b33950 100644 --- a/docs/display-managers/gdm.md +++ b/docs/display-managers/gdm.md @@ -18,4 +18,4 @@ GDM (GNOME Display Manager) is the default graphical login manager for the GNOME **🧭 Usage and Configuration:** Default in Ubuntu, Fedora, and other GNOME-based distributions. -Configurable via /etc/gdm/custom.conf for settings like autologin, Wayland enablement, and session defaults. +Configurable via /etc/gdm/custom.conf for settings like auto login, Wayland enablement, and session defaults. diff --git a/docs/display-managers/matchbox‑wm.md b/docs/display-managers/matchbox‑wm.md new file mode 100644 index 0000000..5541f8d --- /dev/null +++ b/docs/display-managers/matchbox‑wm.md @@ -0,0 +1,70 @@ +# 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 + +``` bash +apt update +apt install matchbox-window-manager xorg +``` + +## Setup user + +Example to start matchbox-window-manager with chromium on user xxx login. + +``` bash +mkdir -p /etc/systemd/system/getty@tty1.service.d +``` + +``` bash +#/etc/systemd/system/getty@tty1.service.d/autologin.conf +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin xxx --noclear %I $TERM +``` + +``` bash +sudo systemctl daemon-reload +``` + +``` bash +# /home/xxx/.bash_profile +if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then + startx +fi +``` + +``` bash +# /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 +``` + +``` bash +chmod +x /home/xxx/.xinitrc +```