1

I'd like to go to the Mac lock screen with a command line script. Many of the existing answers suggest something like osascript -e 'tell application "Finder" to sleep', but my computer does not allow me to change the settings to show the lock screen on sleep.

The AppleScript includes a command to open KeyboardCleaner which disables access to the keyboard and I'd like to run this while KeyboardCleaner is active. So any script/command that doesn't depend on keystrokes is required.

I'll run my AppleScript (which opens KeyboardCleaner and also locks the computer ) by running

python3 -c 'from file import *; script();'

This is what I've tried

  1. osascript -e 'tell application "Finder" to sleep' - my computer does not show the lock screen on sleep.
  2. alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'" - this requires using the keyboard which is not possible for my use case
  3. pmset displaysleepnow - same problem as 1
  4. tell application "System Events" to key code 12 using {control down, command down} - same problem as 2
11
  • Does this answer your question? Lock Screen Command One-Liner
    – Allan
    Commented Jul 28, 2020 at 15:25
  • No for the reason I talked about at the beginning
    – Cauder
    Commented Jul 28, 2020 at 15:26
  • There’s 23 answers. Which one specifically? The question itself referenced the answer you just said “Amazing, did exactly what I wanted” so how can it be “no”?
    – Allan
    Commented Jul 28, 2020 at 15:30
  • 3
    Your question is a bit confusing, you are asking to "lock screen on my computer without using the keyboard" but are open for "Any command line script will do." If you can't use the keyboard, how do you want to run an command line script? Most probably we are missing some essential background here, can you please add this and also explain which means of control you have at your disposal?
    – nohillside
    Commented Jul 28, 2020 at 16:57
  • 1
    Great question! The apple script includes a command to open KeyboardCleaner which disables access to the keyboard and I'd like to run this after KeyboardCleaner is active. I'll activate apple script by running python3 -c 'from file import *; script();'
    – Cauder
    Commented Jul 28, 2020 at 17:08

1 Answer 1

2

I’d like to go to the lock screen on my computer without using the keyboard. Any command line script will do.

I’m not sure what you mean by “Without using the keyboard” if you are willing to accept a script… which would have to be triggered using the keyboard.

If there is something specific / unusual / unique about your setup, it would be good to explain what that is.

In the meantime, if you are willing to accept a shell script, try this:

"/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession" -suspend

All one line

1
  • I'll explain the use case which is that I'd like to fire this after opening an app that disables the keyboard, but I can still use scripts because I'm using apple script
    – Cauder
    Commented Jul 28, 2020 at 15:14

You must log in to answer this question.

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