From 8ae543fa8d3fdf08bcc61dcb27cafd987344ada2 Mon Sep 17 00:00:00 2001 From: Adam Spragg Date: Thu, 17 Mar 2022 10:59:49 +0000 Subject: Notify logged-in users when updates are availble. --- adu-download | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'adu-download') diff --git a/adu-download b/adu-download index 7c9a08c..574eeae 100755 --- a/adu-download +++ b/adu-download @@ -35,4 +35,20 @@ fi apt-get -q -y --with-new-pkgs --download-only upgrade | grep "^Get:" ln -s -- "${UPDATE_TARGET}" "${UPDATE_SYMLINK}" 2>/dev/null || true + +# Notify logged-in users that updates are available +if command -v notify-send >/dev/null; then + # Disable shellcheck's "For loops over find output are fragile" warning here + # because filenames in `/run/user` are safe, and doing it The Right Way is a + # pain because of the environment variable. + # shellcheck disable=SC2044 + for addr in $(find /run/user -type s -name bus 2>/dev/null); do + export DBUS_SESSION_BUS_ADDRESS="unix:path=$addr"; + runuser -u "$(stat -c "%U" "$addr")" -- \ + notify-send --app-name=apt-desktop-upgrades \ + "$upgrades system updates available" \ + "Reboot when it is convenient to install them" + done +fi + echo "$upgrades updates available" -- cgit v1.2.1