add matchbox‑wm
This commit is contained in:
26
README.md
26
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 <username> 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 <username>
|
||||
```
|
||||
|
||||
### Network Configuration
|
||||
|
||||
#### hostname / hostnamectl
|
||||
|
||||
70
docs/display-managers/matchbox‑wm.md
Normal file
70
docs/display-managers/matchbox‑wm.md
Normal file
@@ -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
|
||||
```
|
||||
Reference in New Issue
Block a user