【问题标题】:OSX: Lock the screen programmaticallyOSX:以编程方式锁定屏幕
【发布时间】:2015-02-18 11:57:29
【问题描述】:

我正在寻找一种以编程方式锁定用户屏幕而不让 Mac 进入睡眠状态的方法。 现在,我可以使用 kAESleep 事件触发锁定屏幕,但这更像是一种黑客攻击,它使计算机进入睡眠状态。 是否可以 ? 谢谢

【问题讨论】:

标签: macos appleevents


【解决方案1】:

将屏幕保护程序配置为在启动后立即要求输入密码,然后以编程方式启动屏幕保护程序。我已将其编程为键盘快捷键,以帮助我的 Windows 人员过渡到使用真实计算机;)。

【讨论】:

  • 感谢您的回复。问题是屏幕保护程序就像关闭屏幕,这与 kAESleep 所做的很接近。我想以编程方式调用登录屏幕(你唤醒你的 mac 后得到的那个)
  • 很公平。我很想知道是否有其他人知道如何这样做。与此同时,这可能更让人喜欢,尽管它显然与上面的差别不大:apple.stackexchange.com/questions/80058/…
【解决方案2】:

以下 AppleScript 将为您完成。请注意,由于 OSX 的安全限制,AppleScript 在执行 UI 功能之前会暂停五秒钟,因此需要一点时间才能运行。我正在使用 Quicksilver 将其绑定到热键。

(作为奖励,此脚本还将暂停您的几个音乐播放器。请随意删除这些行。)

#
#  Tell our noisy programs to shut up
#
tell application "Spotify"
    pause
end tell

tell application "iTunes"
    pause
end tell

#
#  Lock up the screen without going to sleep.  Needs that Keychain Access
#  is set up properly.
#
tell application "System Events" to tell process "SystemUIServer" to click (first menu item of menu 1 of ((click (first menu bar item whose description is "Keychain menu extra")) of menu bar 1) whose title is "Lock Screen")

您需要设置钥匙串访问,以便它在屏幕上显示锁定图标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多