Mac OS X Software Update Notifications for Non-Admin-Users

As you might heard before, you should not do your normal work with an account that has administrative rights, no matter under which operating system. Although the vendors don’t make it very easy sometimes. Compared to MS Windows you are quite well off with Mac OS X, but also here you will find some caveats. For example, the automatic notification about available software updates only works, if you are logged in as an administrator. (In a multi-user environment this makes sense, since you don’t want to confuse ordinary users with such notifications. However, you cannot switch it on for a non-admin account that is used by the owner/admin of the machine, even if you want it.)


Since I could not find any tool or script that fills in that gap, I wrote my own. It’s an applescript embedded into a plist-file for the launchd. It will check for available software updates once per day, and if there are any, it will display them in a Growl notification or – if Growl is not installed – in an ordinary dialog window. But using Growl is highly recommended!

Download: UpdateCheck

To install it, just move the file to Library/LaunchAgents in your Home folder. If the LaunchAgents folder does not exist, create it. Then re-login or enter the following command in the Terminal:
launchctl load ~/Library/LaunchAgents/de.anderson.sven.updateCheck.plist

PS.: As a Mac OS X user you might also be interested in another tool by me: Hibernate (Hibernation Tool for Mac OS)

6 thoughts on “UpdateCheck

  1. Pingback: kaputtendorf » Hibernation Tool for Mac OS

  2. Nice tool! Thanks.

    (Don’t forget to backup. In the screenshot one can see a complaining Time-Machine icon 🙂

  3. @Krischan: Thanks. There’s even more to discover in the screenshot. For example what I should have done instead of writing this software. 😉

  4. Ehm… not sure… but… if you also do visudo as root and add this line:
    ALL ALL= NOPASSWD: /usr/sbin/softwareupdate
    and change in your script
    set theList to every paragraph of (do shell script ” softwareupdate -l”)
    set theList to every paragraph of (do shell script “sudo softwareupdate -l”)
    … i think it works without adding any password…

    but maybe i’m wrong 🙂

  5. @Chris: Yeah, I really don’t understand, why the check for new updates needs a password since Snow Leopard. Your suggestion is a workaround, but be aware of the fact that then every user on your machine can also install any software updates.

  6. @Sveenie, @Chris: this seems to work:

    <user> localhost=(ALL) NOPASSWD: /usr/sbin/softwareupdate

    One line per user, or alternatively specify with %<group> a group (which you’ll have to put in /etc/group, of course).

Leave a Reply

Your email address will not be published. Required fields are marked *