In Mountain Lion, I'd like to remove some options in the screen saver timing. I'd like to remove the "Never" option and some of the longer options for all accounts on the system. Essentially I'd like to require a screensaver, any screensaver.

Is there a way that this can be accomplished?


If you're looking for a way to set this for a newly provisioned OSX machine, you can use Pivotal Labs' pivotal_workstation::set_screensaver_preferences recipe included in the sprout-wrap project.

This project provides an easy way to configure an OSX machine with OpsCode's chef-solo and the soloist gem.

Easiest way to start: solowizard.com

To enforce a configuration, you could run soloist as a cron job

  • Well this is an interesting option. I'm going to look at this today and see if I can figure out what they are doing in the back end, since I prefer to avoid all of the overhead of chef (and being a puppet enthusiast). Looks like this might lead me down the path of find the right plist file and settings to adjust. The rest I can do as a cron job in bash I think.
    – Kirk
    Aug 25 '13 at 17:53

If you're using Open Directory and OS X Server, you can push manifests to the client machines using Workgroup Manager (MCX). This, of course, depends on what version of OS X Server you are using. My familiarity is with Lion Server, but documentation exists for MCX and Directory Services in other OS X Server versions.

While I am not sure you can eliminate the options for screensaver timing, you can force the client machine into a specific value using the plist and MCX.

Helpful Links:

  1. How to Manage Settings Using the Preference Editor
  2. This link is for Leopard, but it is relevant to how OS X Server and MCX handle screensaver settings.
  • No Open Directory or OS X server. This is essentially a single system in an isolated environment.
    – Kirk
    Aug 22 '13 at 13:24

Something similar I've done in the past is write an application that runs via the system launchd, which checks the value of the current user's "askForPasswordDelay" variable (for the screen lock), and if it is set to too long a value, then adjust it back, along with displaying a window regarding the company's security policies.

It doesn't prevent the setting of "never"; but, when it is detected, it fixes it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .