Setting Energy Saver Preferences on macOS Mojave/High Sierra

System preferences can be set on macOS using the defaults command. For example, say I wish set the Prevent sleep setting that can be set through the System Preferences interface, but instead via command line.
macOS - System Preferences - Energy Saver - Prevent sleep - disabled

If your settings match those in the screenshot above, running defaults read /Library/Preferences/com.apple.PowerManagement.plist in the terminal should output

{
    "AC Power" =     {
        "Automatic Restart On Power Loss" = 1;
        DarkWakeBackgroundTasks = 1;
        "Disk Sleep Timer" = 180;
        "Display Sleep Timer" = 5;
        "Display Sleep Uses Dim" = 1;
        GPUSwitch = 2;
        "System Sleep Timer" = 15;
        "Wake On LAN" = 1;
    };
    "Battery Power" =     {
        "Automatic Restart On Power Loss" = 1;
        DarkWakeBackgroundTasks = 0;
        "Disk Sleep Timer" = 180;
        "Display Sleep Timer" = 5;
        "Display Sleep Uses Dim" = 1;
        GPUSwitch = 2;
        ReduceBrightness = 1;
        "System Sleep Timer" = 10;
        "Wake On LAN" = 1;
    };
    SystemPowerSettings =     {
        DestroyFVKeyOnStandby = 0;
        "Update DarkWakeBG Setting" = 1;
    };
}

To set System Sleep Timer to 0, run /usr/libexec/PlistBuddy -c "Set 'AC Power':'System Sleep Timer' 0" /Library/Preferences/com.apple.PowerManagement.plist. Now running the original defaults read command will output

{
    "AC Power" =     {
        "Automatic Restart On Power Loss" = 1;
        DarkWakeBackgroundTasks = 1;
        "Disk Sleep Timer" = 180;
        "Display Sleep Timer" = 5;
        "Display Sleep Uses Dim" = 1;
        GPUSwitch = 2;
        "System Sleep Timer" = 0;
        "Wake On LAN" = 1;
    };
    "Battery Power" =     {
        "Automatic Restart On Power Loss" = 1;
        DarkWakeBackgroundTasks = 0;
        "Disk Sleep Timer" = 180;
        "Display Sleep Timer" = 5;
        "Display Sleep Uses Dim" = 1;
        GPUSwitch = 2;
        ReduceBrightness = 1;
        "System Sleep Timer" = 10;
        "Wake On LAN" = 1;
    };
    SystemPowerSettings =     {
        DestroyFVKeyOnStandby = 0;
        "Update DarkWakeBG Setting" = 1;
    };
}

Now opening the System Preferences will reveal the updated value.
macOS - System Preferences - Energy Saver - Prevent sleep - enabled

Leave a Reply

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