12 Replies Latest reply: Jan 7, 2013 3:42 AM by Steve Zodiac
Steve Zodiac Level 1 Level 1 (10 points)

I am the admin account user on our MacBook Pro, and there is one standard user account on it as well. Generally we are both logged on so we can quickly switch between user accounts and 'spin the desktop'.

 

For some reason, all the software update notifications seem to be received when the standard user account is the active one.

 

I know that the standard user cannot actually update without my account password and my Apple ID, but a) The notifications confuse the non-admin user, and she gets flustered, and b) Even if she manages to cancel them from the notification area, she then has to remember to tell me verbally that she had had one.

 

Is there any way to stop her receiving the update notifications altogether?

 

Running OS X 10.8.2 on MacBook Pro.

 

Thanks in advance.


MacBook Pro, OS X Mountain Lion
  • 1. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Barney-15E Level 8 Level 8 (35,295 points)

    You could set Software Update to not automatically check. Then you'd need to check periodically.

    Sorry, I don't know of anything else.

  • 2. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Linc Davis Level 10 Level 10 (118,280 points)

    The notifications go to whichever user is in the foreground at the time. You can't change that.

  • 3. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Steve Zodiac Level 1 Level 1 (10 points)

    Ah. Right. Thanks.

     

    I guess that the only 'solution' then is to just turn off automatic updating completely, so no one gets the notifications.  ...and then try to remember to check occasionally.

  • 4. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Barney-15E Level 8 Level 8 (35,295 points)

    Well, there's also that horrible concept of educating the other users on the ability to dismiss and ignore those notifications.

  • 5. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Topher Kessler Level 6 Level 6 (9,340 points)

    You should be able to do this by unchecking the software update service in the system preferences to prevent the system from running the check as the "_softwareupate" user and passing it to the notification service that broadcasts to all user accounts. Then you can check for the software update in an admin account using the following Terminal line:

     

    /System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck -Check YES

     

    This line can be scripted via Terminal services to run on a schedule (ie, every few hours), and if there are found updates it will launch the App Store for that account and present them. Granted this approach circumvents the notification service, but should work. To try this, open TextEdit on your computer and in a new document choose "Make Plain Text" from the Format menu.

     

    Then copy and paste the following text into the new document:

     

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
              <key>Label</key>
              <string>local.softwareupdatecheck</string>
              <key>ProgramArguments</key>
              <array>
                        <string>/System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck</string>
                        <string>-Check</string>
                        <string>YES</string>
              </array>
              <key>StartInterval</key>
              <integer>21600</integer>
    </dict>
    </plist>
    

     

    When done, save the document to your desktop as "softwareupdatecheck.plist" or anything as long as it ends with ".plist." Then get information on the file in the Finder to ensure its name ends with plist and not anything else like "plist.txt" (rename it accordingly in the Info window's "Name & Extension" section.

     

    With the file name appropriate, hold the Option key and choose the "Library" option in the Finder's "Go" menu. Then locate the folder called "Launch Agents" in the library and drag the text file to this folder. Then log out and log back into your account.

     

    This text file is a launch agent script that instructs the system to run the program arguments every 21600 seconds (6 hours) whenever the user is logged in. The program arguments here are simply those to check for software updates for the system. You can change this time interval to be any number of seconds you would like, but there are other options to use besides the "StartInterval" key for scheduling the task. This approach simply has it repeat every number of seconds, but you can use other options to have it only run on specific hours or days, or only have it run once when you log in, etc.

     

    If this works for you, then if you'd like to explore these other options write back here and we can go over them for you.

  • 6. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Steve Zodiac Level 1 Level 1 (10 points)

    Thanks for that Topher.

     

    I have copied the text, saved the file as instructed and dragged it into my Launch Agents folder as instructed.

     

    (Thanks for being so specific in those instructions; it really does help those of us who are not quite so Mac advanced.)

     

    I will see how it goes and report back.

     

    Incidentally, if it does check for updates every six hours and finds some, how does it present itself to me as a positive result? And will I also get negative results every six hours? I suppose I will find out soon...

     

    Cheers

  • 7. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Steve Zodiac Level 1 Level 1 (10 points)

    Educating to dismiss and ignore is one thing...

     

    Ensuring they tell me that they've received a notification and dismissed it is a completely nother thing...

     

    (I'd rather turn them off altogether, then at least I know I have to occasionally check!)

  • 8. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Barney-15E Level 8 Level 8 (35,295 points)

    A long time ago, I inquired as to how best protect my data and such from my toddlers. The best advice I got was to teach them to properly use the computer (and back up your data).

     

    And, as the administrator, I expect I should do my job properly as well.

  • 9. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Topher Kessler Level 6 Level 6 (9,340 points)

    It should launch the App Store and show you the available updates if there are any.

     

    The good thing about this approach is you can always just remove the launchagent file you made and then log out and back in to clear it and be back to square one.

  • 10. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Steve Zodiac Level 1 Level 1 (10 points)

    Well, I've had the file in my launch agent folder for nearly a week now, and I have to report that the App Store app hasn't been launched at all during that time.

     

    I know there is at least one update available, because I am refusing to 'upgrade' to iTunes 11, but I haven't been troubled by any update notifications for it, or anything else.

     

    So I'm a bit flummoxed...

  • 11. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Topher Kessler Level 6 Level 6 (9,340 points)

    I havent done this since Snow Leopard, but it appears Apple has implemented a few new requirements to run this. Therefore as I described it earlier the launch agent will not run properly as it doesnt run the command as the appropriate user, among other details. Try instead to edit or recreate the same launch agent file as mentioned above, but instead use the following for the contents of it:

     

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
              <key>Label</key>
              <string>local.softwareupdatecheck</string>
              <key>ProgramArguments</key>
              <array>
                        <string>/System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck</string>
                        <string>-Check</string>
                        <string>YES</string>
              </array>
              <key>UserName</key>
              <string>_softwareupdate</string>
              <key>MachServices</key>
              <dict>
                        <key>com.apple.softwareupdatecheck</key>
                        <true/>
              </dict>
        <key>StartInterval</key>
        <integer>21600</integer>
    </dict>
    </plist>
    

     

    When done, again log out and log back in. When done, while you can wait for the agent to run (every 6 hours), you can manually force it to run by opening the Terminal utility and running the following command:

     

    launchctl start local.softwareupdatecheck
    

     

    If successful, as long as an update is available this should check in the background and then launch the App Store to present updates to you. This whole procedure just divorces this process from being run by the system in the background for all users, and instead has it run only when your account is logged in.

  • 12. Re: Is there any way to prevent non-admin user accounts to receive software update prompts?
    Steve Zodiac Level 1 Level 1 (10 points)

    Thanks for all your hard work Topher.

     

    I have replaced the text in the original launch agent file with the amended version as above, but I'm sorry to say that there is still nothing happening.

     

    To test the terminal command I also tried to do it the manual way by entering the command as above and hitting 'enter'. Again, nothing happened I'm afraid...

     

    Not to worry; as long as I know I have automatic updates turned off I know that I have to occasionally check manually by simply launching App Store. (Or maybe even just leave it running in my dock and watch to see the red circle appear, like when new messages arrive in Mail.)