I have the screensaver on my MacBook set to kick in after two minutes of inactivity and require a password immediately after it does. Normally, this works fine, but in the last week or so, the screensaver hasn't come on at all. After skimming
pmsets manual page, I made this discovery:
$ pmset -g assertions 2015-04-11 22:30:47 -0700 Assertion status system-wide: BackgroundTask 0 ApplePushServiceTask 0 UserIsActive 1 PreventUserIdleDisplaySleep 1 PreventSystemSleep 0 ExternalMedia 0 PreventUserIdleSystemSleep 1 NetworkClientActive 0 Listed by owning process: pid 71(hidd): [0x004d32870009146b] 12:40:26 UserIsActive named: "com.apple.iohideventsystem.queue.tickle" Timeout will fire in 7192 secs Action=TimeoutActionRelease pid 19013(AddressBookSour): [0x00332e3200050457] 486:17:00 PreventUserIdleDisplaySleep named: "com.apple.avkit.disableUserIdleDisplaySleep" Details: disable user idle display sleep Kernel Assertions: 0x100=MAGICWAKE id=504 level=255 0x100=MAGICWAKE mod=2015-04-11, 12:44:09 description=en1 owner=en1
If I'm reading this right, the latter assertion there would prevent the screensaver from kicking in or the display from going to sleep. (Presumably the former assertion exists only because I'm actively using the machine.) The problem is…it belongs to a process that doesn't exist at this point.
$ ps -e | grep 19013 $
No wonder the screensaver isn't activating.
Am I right? What might be causing this assertion to stick around after its process died? Short of logging out or rebooting, how do I get rid of it?