The shutdown/restart dialog has a check-box
Reopen windows when logging back in which is checked by default. I need to change its behavior to be unchecked by default. Is this possible? If yes, how can I do that?
No, it is always set to "on." However there does exist a script you can run, that disables the feature. The box will still be checked, but the feature will no longer function:
Paste the following into a single line within the Terminal:
That command downloads a script, places it in the appropriate location, makes it executable, and then removes the temporary file. If you are wondering, the contents of the downloaded bash script are the following:
If you ever want to revert back to the default behavior of this OS X Lion feature, just type the following defaults write command:
And you’ll be back to be able to select window restore based on that checkbox’s choice.
The checkbox has stayed unchecked by default since 10.7.4. But I'll leave this answer here in case anyone is looking for the hidden preferences for some other reason.
One option is to disable LoginwindowLaunchesRelaunchApps:
You can also save this as
The plist can be loaded with
TALLogoutSavesState sometimes gets reset to true when logging out and back in, so just running
Neither of these options actually makes the checkbox appear unchecked by default, but they have the same effect. And they don't remove the delay after entering a password on the login window. Application state is still restored when applications are opened manually or as login items.
This bug has been fixed with the Lion update 10.7.4:
For the record, we’re talking about this:
The problem is that OS X doesn’t remember if you uncheck the checkbox on the last shutdown — it will always keep the checkbox checked by default on subsequent shutdowns.
I found two different solutions for this problem, that seem to do the trick, although they aren’t ideal.
Open Terminal.app and enter the following commands:
This effectively disables the “reopen windows when logging back in” option, although the checkbox will still appear to be checked. You can just ignore it.
I’m afraid there’s no better solution, at least not at the moment.
It’s possible to disable Resume on a per-app basis, too.
There’s also a system setting that allows you to disable it for all apps, system-wide. Go to System Preferences → General:
Alternatively, you can run this command in Terminal.app:
This has changed in Mac OS X Update Version 10.7.4.
Here is the new option, as you can see (although it isn't proof in itself as it's easy to uncheck and then screen grab, but please trust me - I was pretty stoked when I checked out this update as this bug was really annoying me!)