Files
fluffy-pancake/scripts/notify-bootc-user.sh
T

30 lines
989 B
Bash
Executable File

#!/bin/bash
TAG="bootc-notifier"
# 1. User finden
TARGET_USER=$(loginctl list-sessions --no-legend | awk '$3 != "root" {print $3; exit}')
USER_ID=$(id -u "$TARGET_USER")
RUNTIME_DIR="/run/user/$USER_ID"
# 2. Benachrichtigung senden
# -a "System-Update" setzt den Namen in der Titelleiste
# --action definiert den Button
# --wait lässt das Skript auf die Reaktion warten
RESPONSE=$(sudo -u "$TARGET_USER" \
DBUS_SESSION_BUS_ADDRESS="unix:path=$RUNTIME_DIR/bus" \
XDG_RUNTIME_DIR="$RUNTIME_DIR" \
notify-send -a "System-Update" "Ein neues System-Update ist bereit." "Der Neustart aktiviert die Änderungen." \
--icon=system-reboot-symbolic \
--urgency=critical \
--action="reboot=Jetzt neu starten" \
--wait)
# 3. Auswertung
if [[ "$RESPONSE" == "reboot" ]]; then
logger -t "$TAG" "User wählte Neustart über Benachrichtigungs-Button."
systemctl reboot
else
logger -t "$TAG" "Benachrichtigung wurde geschlossen oder 'reboot' nicht geklickt."
fi