scripts/notify-bootc-user.sh aktualisiert

This commit is contained in:
2026-06-27 12:02:02 +00:00
parent ca5af8d7ad
commit b1ebdd4304
+3 -14
View File
@@ -36,20 +36,9 @@ $LOGGER -t "$TAG" "Update gestaged. Suche aktiven Desktop-User..."
# ============================================================================= # =============================================================================
# 3. Aktiven Desktop-User auf seat0 ermitteln # 3. Aktiven Desktop-User auf seat0 ermitteln
# ============================================================================= # =============================================================================
USER_ID="" # Wir filtern direkt aus der Session-Liste den Eintrag, der auf 'seat0' laeuft
# und die Klasse 'user' (echter Desktop-Nutzer, kein Login-Screen) hat.
# Holt direkt die ID der aktuell aktiven Session auf seat0 (ohne Schleife) USER_ID=$($LOGINCTL list-sessions --no-legend 2>/dev/null | awk '$4 == "seat0" && $6 == "user" {print $2; exit}' || echo "")
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
if [[ -z "$USER_ID" ]]; then if [[ -z "$USER_ID" ]]; then
$LOGGER -t "$TAG" "Update bereit, aber kein aktiver Desktop-User (Klasse: user) auf seat0 gefunden." $LOGGER -t "$TAG" "Update bereit, aber kein aktiver Desktop-User (Klasse: user) auf seat0 gefunden."