add matchbox‑wm
This commit is contained in:
26
README.md
26
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Linux
|
# Linux
|
||||||
|
|
||||||
- [Distros](#distros)
|
- [Distro](#distro)
|
||||||
- [Graphical Environment](#graphical-environment)
|
- [Graphical Environment](#graphical-environment)
|
||||||
- [Display Managers](#display-managers)
|
- [Display Managers](#display-managers)
|
||||||
- [cli - utils](#cli---utils)
|
- [cli - utils](#cli---utils)
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
- [Archiving and Compression](#archiving-and-compression)
|
- [Archiving and Compression](#archiving-and-compression)
|
||||||
- [tar](#tar)
|
- [tar](#tar)
|
||||||
- [Users, Groups, and File permissions](#users-groups-and-file-permissions)
|
- [Users, Groups, and File permissions](#users-groups-and-file-permissions)
|
||||||
|
- [loginctl](#loginctl)
|
||||||
|
- [terminate-user](#terminate-user)
|
||||||
- [Network Configuration](#network-configuration)
|
- [Network Configuration](#network-configuration)
|
||||||
- [hostname / hostnamectl](#hostname--hostnamectl)
|
- [hostname / hostnamectl](#hostname--hostnamectl)
|
||||||
- [static ip](#static-ip)
|
- [static ip](#static-ip)
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
- [CLI Diagnostics and System Topology](#cli-diagnostics-and-system-topology)
|
- [CLI Diagnostics and System Topology](#cli-diagnostics-and-system-topology)
|
||||||
- [lspci](#lspci)
|
- [lspci](#lspci)
|
||||||
|
|
||||||
## Distros
|
## Distro
|
||||||
|
|
||||||
- [Debian](./docs/distros/debian.md)
|
- [Debian](./docs/distros/debian.md)
|
||||||
- [Fedora](./docs/distros/fedora.md)
|
- [Fedora](./docs/distros/fedora.md)
|
||||||
@@ -38,9 +40,12 @@
|
|||||||
|
|
||||||
### Display Managers
|
### 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:
|
Examples:
|
||||||
|
|
||||||
@@ -48,6 +53,7 @@ Examples:
|
|||||||
- [GDM (GNOME Display Manager)](./docs/desktop-environments/gnome.md)
|
- [GDM (GNOME Display Manager)](./docs/desktop-environments/gnome.md)
|
||||||
- [SDDM](./docs/display-managers/sddm.md) - Used by [KDE](./docs/desktop-environments/kde.md)
|
- [SDDM](./docs/display-managers/sddm.md) - Used by [KDE](./docs/desktop-environments/kde.md)
|
||||||
- LXDM (used by LXDE)
|
- LXDM (used by LXDE)
|
||||||
|
- [matchbox-window-manager](./docs/display-managers/matchbox‑wm.md)
|
||||||
|
|
||||||
#### cli - utils
|
#### 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
|
### Network Configuration
|
||||||
|
|
||||||
#### hostname / hostnamectl
|
#### 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