Currently Being ModeratedDec 26, 2012 2:25 PM (in response to Steve Zodiac)
You could set Software Update to not automatically check. Then you'd need to check periodically.
Sorry, I don't know of anything else.
Currently Being ModeratedDec 26, 2012 3:32 PM (in response to Steve Zodiac)
The notifications go to whichever user is in the foreground at the time. You can't change that.
Currently Being ModeratedDec 27, 2012 12:51 AM (in response to Linc Davis)
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.
Currently Being ModeratedDec 27, 2012 3:57 AM (in response to Steve Zodiac)
Well, there's also that horrible concept of educating the other users on the ability to dismiss and ignore those notifications.
Currently Being ModeratedDec 27, 2012 7:24 AM (in response to Steve Zodiac)
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.
Currently Being ModeratedDec 27, 2012 2:06 PM (in response to Topher Kessler)
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...
Currently Being ModeratedDec 27, 2012 2:09 PM (in response to Barney-15E)
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!)
Currently Being ModeratedDec 27, 2012 2:13 PM (in response to Steve Zodiac)
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.
Currently Being ModeratedDec 27, 2012 2:32 PM (in response to Steve Zodiac)
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.
Currently Being ModeratedJan 2, 2013 1:31 AM (in response to Topher Kessler)
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...
Currently Being ModeratedJan 2, 2013 10:34 PM (in response to Steve Zodiac)
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.MacBook Pro, OS X Mountain Lion (10.8.2), 17", 2.5GHz i7, 16GB RAM, 512GB SSD
Currently Being ModeratedJan 7, 2013 3:42 AM (in response to Topher Kessler)
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.)