MacOS如何通过Terminal为Automator服务设置全局键盘快捷键
macOS终端为Automator服务设置全局快捷键解决方案
错误原因说明
你之前使用的defaults write -g NSUserKeyEquivalents命令仅用于配置全局App菜单快捷键,服务类快捷键由系统粘贴板服务(pbs)单独管理,存储路径为~/Library/Preferences/pbs.plist,因此之前的命令不会生效。
操作步骤
- 先关闭所有打开的「系统偏好设置」窗口,避免配置被覆盖
- 执行以下命令添加服务快捷键,命令中的服务名需要和系统偏好设置中显示的完全一致,你的服务名为
flow,对应命令如下:
defaults write pbs NSServicesStatus -dict-add "flow" '{ "enabled_context_menu" = 1; "enabled_services_menu" = 1; "key_equivalent" = "@$~^k"; }'
注:快捷键修饰符对应关系:
@=Command、$=Shift、~=Option、^=Control,示例中的@$~^k即对应Command+Shift+Option+Control+K的组合键
- 执行以下命令刷新pbs服务,让配置生效:
/System/Library/CoreServices/pbs -flush
- 注销当前用户重新登录,或重启设备后,配置即可完全生效,你可以在「系统偏好设置 -> 键盘 -> 快捷键 -> 服务」路径下确认快捷键已经绑定成功。
异常排查
如果执行后未生效,可先删除旧的pbs服务配置后重新执行上述步骤:
defaults delete pbs NSServicesStatus
内容的提问来源于stack exchange,提问作者Uri Yakir
相关产品推荐
相关产品推荐

