From ba4f30f2543421b0ddf1386cb96439770cce0ba7 Mon Sep 17 00:00:00 2001 From: nevaforget Date: Thu, 26 Mar 2026 14:29:49 +0100 Subject: [PATCH] fix: Niri-Greeter-Config mit Retry-Loop gegen offene Session bei Crash Wenn moongreet crasht bevor Niri bereit ist, blieb eine offene Niri-Session als greeter-User zurueck. Retry-Loop stellt sicher, dass niri sich in jedem Fall beendet. Beispiel-Configs korrigiert (moongreet braucht Niri als Compositor). --- config/greetd.conf | 4 ++- config/niri-greeter.kdl | 59 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 config/niri-greeter.kdl diff --git a/config/greetd.conf b/config/greetd.conf index 15c39db..6e459d1 100644 --- a/config/greetd.conf +++ b/config/greetd.conf @@ -5,5 +5,7 @@ vt = 1 [default_session] -command = "moongreet" +# Moongreet braucht einen Wayland-Compositor — niri stellt diesen bereit. +# Siehe niri-greeter.kdl fuer die Compositor-Konfiguration. +command = "niri -c /etc/greetd/niri-greeter.kdl" user = "greeter" diff --git a/config/niri-greeter.kdl b/config/niri-greeter.kdl new file mode 100644 index 0000000..961e13b --- /dev/null +++ b/config/niri-greeter.kdl @@ -0,0 +1,59 @@ +// ABOUTME: Niri-Konfiguration fuer den Moongreet Login-Greeter. +// ABOUTME: Wird von greetd gestartet — minimale Config ohne Keybinds fuer Sicherheit. + +input { + keyboard { + xkb { + layout "de" + } + numlock + } + + touchpad { + tap + natural-scroll + } + + mouse { + accel-profile "flat" + } +} + +cursor { + xcursor-theme "Sweet-cursors" +} + +layout { + gaps 0 + + focus-ring { + off + } + + border { + off + } +} + +// Moongreet starten und niri beenden, sobald moongreet sich schliesst. +// Retry-Loop stellt sicher, dass niri auch bei fruehen Crashes von moongreet beendet wird. +spawn-sh-at-startup "moongreet; while ! niri msg action quit --skip-confirmation 2>/dev/null; do sleep 0.5; done" + +// Greeter-Fenster maximiert darstellen +window-rule { + open-maximized true +} + +hotkey-overlay { + skip-at-startup +} + +prefer-no-csd + +animations { + off +} + +binds { + // Keine Keybinds — verhindert Zugriff auf Terminals oder andere Aktionen +}