macOS screen lock from CLI
Objective-C Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
build.sh
clean.sh
maclock.m

README.md

maclock

macOS screen lock from CLI

Lots of folks have an alias in their shell setup like this:

alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"

One problem I found with this - it uses the "switch user" feature of macOS, which for whatever reason, forces me to type my username & password, and my Apple Watch wouldn't unlock the Mac.

I found someone wrote this bit of Objective-C code on stackexchange that seems to do the trick, so I figured I'd write this up and preserve it for posterity.

My "afk" alias has now been updated to /usr/local/bin/maclock, so I don't need to rewire my thought process on triggering AFK screen lock before walking away from my Mac.

For laughs, I also made an Alfred Workflow that takes the keyword "lock" and runs the same thing. I had to uncheck Alfred's "lock" feature, as it uses the "switch user" feature, as above.