scripts/notify-bootc-user.sh aktualisiert
This commit is contained in:
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user