XWFB-RUN(1)
β¨ xwfb-run(1) β the manual, but make it make sense β¨
okay so real talk, bestie: xwfb-run lives in the General Commands Manual and it's giving "replacement utility" main character energy. Let's get into it π
π¦ NAME π¦
xwfb-run β run X11 clients on a dedicated Xwayland server, headless. periodt.
π SYNOPSIS π
xwfb-run [option ...] -- COMMAND
like, options first, then --, then the actual command you wanna run. no cap.
πΈ DESCRIPTION πΈ
so xwfb-run is intended as a replacement utility for xvfb-run, okay? but instead of using Xvfb, it uses rootful Xwayland running fullscreen on top of a headless compositor. that's the whole vibe. it's the glow-up version π«Ά
π OPTIONS π
-a AUTO_SERVERNUM,--auto-servernum AUTO_SERVERNUMβ unused, bestie. it's literally just kept for backward compatibility only. don't come for it π-c COMPOSITOR,--compositor COMPOSITORβ use the compositor class implementation.-d AUTO_DISPLAY,--auto-display AUTO_DISPLAYβ also unused, also just hanging around for backward compatibility only. iconic of it tbh.-e ERROR_FILE,--error-file ERROR_FILEβ the file used to storexauthand X server errors.-f AUTH_FILE,--auth-file AUTH_FILEβ the file used to store the auth cookie πͺ-n SERVER_NUM,--server-num SERVER_NUMβ the X server number to use.-l,--listen-tcpβ enable TCP port listening in the X server.-p XAUTH_PROTO,--xauth-proto XAUTH_PROTOβ the Xauthority protocol name to use.-s SERVER_ARGS,--server-args SERVER_ARGSβ arguments to pass to the X server. heads up though: X server arguments must be escaped with two backslash characters, like this β-s \\-ac.-w WAIT,--wait WAITβ delay in seconds to wait for the X server to start before runningCOMMAND.-z COMPOSITOR_ARGS,--compositor-args COMPOSITOR_ARGSβ arguments to pass to the Wayland compositor. and same deal, arguments intended for the Wayland compositor must be escaped with two backslash characters, e.g.-z \\--renderer -z gl.
ngl, the double-backslash thing is the #1 place people trip up, so likeβ¦ don't forget it? please? for me? π
π§ FILES π§
wlheadless.conf
sets the default compositor to use. lowkey important.
the file is searched in the wlheadless directory relative to the paths specified in the standard environment variables XDG_CONFIG_HOME, XDG_DATA_HOME and XDG_DATA_DIRS.
and inside it, the config is giving:
[DEFAULT]
Compositor = weston
π SEE ALSO π
wlheadless-run(1), xwayland-run(1), Xwayland(1), Xvfb(1)
like, go read those too, iykyk π
β fun facts before you go: this page is from the General Commands Manual, source/version is XWFB-RUN(1), and it was dated the same day it got filed as XWFB-RUN(1). anyway bestie that's the whole page β go run some headless X clients, slay, and hydrate ππ¦
π¦ where this page comes from
- alpine 3.24: xwayland-run-doc 0.0.6-r0 Β· GPL-2.0-or-later
- nixpkgs unstable: xwayland-run 0.0.6
- Copyright Β© 2023 Red Hat, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms