aboutsummaryrefslogtreecommitdiff
path: root/adu-download
diff options
context:
space:
mode:
Diffstat (limited to 'adu-download')
-rwxr-xr-xadu-download16
1 files changed, 16 insertions, 0 deletions
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"