core-admin/dom0/aux-tools/qubes-dom0-updates.cron
2012-05-14 04:57:57 +02:00

36 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Get normal user name
LOCAL_USER=`users | sed -e 's/root *//' | cut -d' ' -f 1`
PIDFILE=/var/run/qubes/dom0-update-notification.pid
NOTIFY_ICON=/usr/share/qubes/icons/dom0-update-avail.svg
# Do not allow multiple instances
[ -r $PIDFILE ] && kill -0 `cat $PIDFILE` && exit 0
# Teoretically the race can happen here, but this tool will be run once a few
# hours, so no real problem
echo $$ > $PIDFILE
trap "rm $PIDFILE" EXIT
# If no updates available - exit here
qubes-dom0-update --check-only >/dev/null && exit
RETCODE=$?
if [ "$RETCODE" -ne 100 ]; then
echo "ERROR: Error checking for updates" >&2
exit $RETCODE
fi
if [ -z "$LOCAL_USER" ]; then
echo "ERROR: no user logged in, cannot nofity about updates" >&2
exit 1
fi
# Notify about updates using system tray
zenity --notification --window-icon=$NOTIFY_ICON --text="Qubes dom0 updates available."
zenity --question --title="Qubes Dom0 updates" \
--text="There are updates for dom0 available, do you want to download them now?" || exit 0
su -c "DISPLAY=:0 qubes-dom0-update --gui" $LOCAL_USER