From b1ebdd4304a757d9702f1b08324232c1695820ed Mon Sep 17 00:00:00 2001 From: humocs-man <1+humocs-man@noreply.localhost> Date: Sat, 27 Jun 2026 12:02:02 +0000 Subject: [PATCH] scripts/notify-bootc-user.sh aktualisiert --- scripts/notify-bootc-user.sh | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/scripts/notify-bootc-user.sh b/scripts/notify-bootc-user.sh index 834d500..32b1780 100755 --- a/scripts/notify-bootc-user.sh +++ b/scripts/notify-bootc-user.sh @@ -36,20 +36,9 @@ $LOGGER -t "$TAG" "Update gestaged. Suche aktiven Desktop-User..." # ============================================================================= # 3. Aktiven Desktop-User auf seat0 ermitteln # ============================================================================= -USER_ID="" - -# Holt direkt die ID der aktuell aktiven Session auf seat0 (ohne Schleife) -ACTIVE_SESSION=$($LOGINCTL show-seat seat0 -p ActiveSession --value 2>/dev/null || echo "") - -if [[ -n "$ACTIVE_SESSION" && "$ACTIVE_SESSION" != "none" ]]; then - # Sicherheitsprüfung: Ist es ein echter Benutzer (user) und kein Login-Bildschirm (greeter)? - CLASS=$($LOGINCTL show-session "$ACTIVE_SESSION" -p Class --value 2>/dev/null || echo "") - STATE=$($LOGINCTL show-session "$ACTIVE_SESSION" -p State --value 2>/dev/null || echo "") - - if [[ "$CLASS" == "user" ]] && [[ "$STATE" == "active" ]]; then - USER_ID=$($LOGINCTL show-session "$ACTIVE_SESSION" -p UID --value 2>/dev/null || echo "") - fi -fi +# Wir filtern direkt aus der Session-Liste den Eintrag, der auf 'seat0' laeuft +# und die Klasse 'user' (echter Desktop-Nutzer, kein Login-Screen) hat. +USER_ID=$($LOGINCTL list-sessions --no-legend 2>/dev/null | awk '$4 == "seat0" && $6 == "user" {print $2; exit}' || echo "") if [[ -z "$USER_ID" ]]; then $LOGGER -t "$TAG" "Update bereit, aber kein aktiver Desktop-User (Klasse: user) auf seat0 gefunden."