使用AppleScript切换至macOS登录窗口的实现求助
解决macOS 14中通过AppleScript切换到登录窗口的问题
在macOS 14的锁屏界面中,网络账户无法使用登录窗口的“Other User”选项,可通过AppleScript借助用户切换器菜单切换至登录窗口。你之前的脚本未能成功点击“Login Window...”,主要是因为UI元素识别不准确、未等待菜单加载完成或硬编码索引导致兼容性问题,以下是可行的解决方案:
正确的AppleScript脚本
#!/usr/bin/osascript tell application "System Events" -- 通过描述/名称匹配用户切换器菜单按钮,避免硬编码索引的兼容性问题 set userSwitcherMenu to first menu bar item of menu bar 1 of process "ControlCenter" whose description contains "user" or name contains "User" click userSwitcherMenu -- 短暂延迟等待菜单加载完成 delay 0.2 -- 定位并点击"Login Window..."菜单选项 click menu item "Login Window..." of menu 1 of userSwitcherMenu end tell
关键注意事项
- 权限配置:必须给运行该脚本的应用(如Script Editor、终端)授予「辅助功能」权限。路径:「系统设置」→「隐私与安全性」→「辅助功能」,勾选对应应用。
- 锁屏运行适配:若需在锁屏界面执行脚本,需确保脚本的运行权限足够,可通过launchd配置或使用具备权限的账户执行。
- 元素匹配可靠性:避免硬编码菜单/项目索引(如
menu bar item 3),不同系统配置下UI元素的位置可能变化,通过名称或描述匹配更稳定。
内容的提问来源于stack exchange,提问作者Melvin-P-NL
相关产品推荐
相关产品推荐

