Update notify-bootc-user.sh
This commit is contained in:
@@ -12,6 +12,7 @@ SYSTEMCTL="/usr/bin/systemctl"
|
|||||||
TAG="bootc-timer"
|
TAG="bootc-timer"
|
||||||
|
|
||||||
# 1. Upgrade ausführen
|
# 1. Upgrade ausführen
|
||||||
|
# Das System lädt das Image im Hintergrund herunter
|
||||||
OUTPUT=$($BOOTC upgrade 2>&1)
|
OUTPUT=$($BOOTC upgrade 2>&1)
|
||||||
EXIT_STATUS=$?
|
EXIT_STATUS=$?
|
||||||
|
|
||||||
@@ -21,11 +22,12 @@ if [[ $EXIT_STATUS -ne 0 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 2. Status-Check via JSON
|
# 2. Status-Check via JSON
|
||||||
if $BOOTC status --json | grep -q '"staged":{'; then
|
# Prüfen, ob ein Image bereitsteht ("staged")
|
||||||
|
if $BOOTC status --json | grep -q '"staged"'; then
|
||||||
|
|
||||||
$LOGGER -t "$TAG" "Neues Image erfolgreich gestaged."
|
$LOGGER -t "$TAG" "Neues Image erfolgreich gestaged."
|
||||||
|
|
||||||
# 3. Den aktiven User finden
|
# 3. Den aktiven Desktop-User finden
|
||||||
TARGET_USER=$($LOGINCTL list-sessions --no-legend | while read -r id user rest; do
|
TARGET_USER=$($LOGINCTL list-sessions --no-legend | while read -r id user rest; do
|
||||||
S_TYPE=$($LOGINCTL show-session "$id" -p Type --value)
|
S_TYPE=$($LOGINCTL show-session "$id" -p Type --value)
|
||||||
S_STATE=$($LOGINCTL show-session "$id" -p State --value)
|
S_STATE=$($LOGINCTL show-session "$id" -p State --value)
|
||||||
@@ -39,9 +41,10 @@ if $BOOTC status --json | grep -q '"staged":{'; then
|
|||||||
if [[ -n "$TARGET_USER" ]]; then
|
if [[ -n "$TARGET_USER" ]]; then
|
||||||
USER_ID=$($ID_BIN -u "$TARGET_USER")
|
USER_ID=$($ID_BIN -u "$TARGET_USER")
|
||||||
|
|
||||||
# Wichtig: XDG_RUNTIME_DIR hinzufügen
|
# 4. Benachrichtigung senden
|
||||||
|
# env stellt sicher, dass die Variablen beim User ankommen
|
||||||
ACTION=$($SUDO -u "$TARGET_USER" \
|
ACTION=$($SUDO -u "$TARGET_USER" \
|
||||||
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_ID/bus \
|
env DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_ID/bus \
|
||||||
XDG_RUNTIME_DIR=/run/user/$USER_ID \
|
XDG_RUNTIME_DIR=/run/user/$USER_ID \
|
||||||
$NOTIFY "System-Update bereit" \
|
$NOTIFY "System-Update bereit" \
|
||||||
"Ein neues Image wurde heruntergeladen. Jetzt neu starten?" \
|
"Ein neues Image wurde heruntergeladen. Jetzt neu starten?" \
|
||||||
|
|||||||
Reference in New Issue
Block a user