labwc
| Version | 2026.155.2227 |
| Repo | superproject |
A nested labwc Wayland compositor hosting the Selkies streaming desktop labwc installs a wlroots-based Wayland compositor plus the foot terminal, thunar file manager, and Xwayland for X11 compatibility. The labwc-wrapper connects to pixelflux’s wayland-1 socket and creates its own wayland-0 client socket so desktop apps render into the captured desktop; rc.xml maximizes every window and autostart wires the session. Every installed binary and config file is verifiable on the built image, and the supervised labwc service must reach a stable RUNNING state at deploy.
Services
Section titled “Services”labwc
Acceptance plan
Section titled “Acceptance plan”This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.
| Intent | Step |
|---|---|
run |
mkdir=${HOME}/.local/bin |
run |
mkdir=${HOME}/.config/labwc |
run |
copy=labwc-wrapper |
run |
copy=rc.xml |
run |
copy=autostart |
check |
the labwc Wayland compositor binary is installed at /usr/bin/labwc |
check |
the labwc-wrapper that nests the compositor under pixelflux wayland-1 is installed |
check |
the labwc rc.xml configuration (server-side decorations, maximize-all window rule) is present |
check |
the labwc autostart session script is present |
check |
the foot terminal emulator is installed for the desktop session |
check |
the thunar file manager is installed for the desktop session |
check |
Xwayland is installed so X11 applications run inside the Wayland session |
agent-check |
once pixelflux’s wayland-1 socket is healthy, labwc creates its own wayland-0 socket and hosts the desktop applications as a stable supervised service |
check |
service=labwc |
check |
command=test -e /tmp/wayland-0 |
check |
command=supervisorctl status labwc | awk ‘/RUNNING/{n=split($NF,a,“:”); s=a[n]+a[n-1]*60+a[n-2]*3600; if(s>=20){f=1}} END{exit !f}’ |