login greeter
git clone https://git.lucas.co/cce-display-manager.git
fix: point the root-run greeter at system fonts
The greeter runs as root inside cage, so cce-ui's default bundled-fonts
dir ($HOME/Dropbox/Fonts) doesn't exist and the empty font db panicked
on the first shaped glyph, crash-looping the daemon. Pass
CCE_FONTS_DIR=/usr/share/fonts/cce and CCE_LOAD_SYSTEM_FONTS=1 so the
greeter never depends on a user's home directory.
Co-Authored-By: Claude Fable 5 <[email protected]>
src/main.rs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main.rs b/src/main.rs
index a1eaa7a..91258ad 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1259,6 +1259,12 @@ fn run_daemon() {
.arg(exe_path)
.arg("--greeter")
.env("XDG_RUNTIME_DIR", &runtime_dir)
+ // The greeter runs as root: cce-ui's default bundled-fonts dir
+ // ($HOME/Dropbox/Fonts) doesn't exist for root, and an empty font
+ // db panics on the first shaped glyph. Point it at a system
+ // location and load installed system fonts as a fallback.
+ .env("CCE_FONTS_DIR", "/usr/share/fonts/cce")
+ .env("CCE_LOAD_SYSTEM_FONTS", "1")
.env("LIBSEAT_BACKEND", "seatd")
.env("WLR_DRM_NO_MODIFIERS", "1")
.env("WLR_DRM_DEVICES", "/dev/dri/card1:/dev/dri/card0")