Answers:
实际上,您可以确定当前是否启用了“请勿打扰”。通知中心将plist放置在您可以读取其值的以下位置。运行以下命令以找到plist文件:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
现在,您可以使用以下方法从刚刚找到的plist中读取值:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
注意:您的实际文件名可能不同于上面列出的文件名。
您将看到一个名为“ doNotDisturb”的键,其值为1或0(启用或禁用)
您还可以通过执行以下操作更改其状态:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
要么:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
为了使更改生效,您需要输入以下内容来重新启动Notification Center:
killall NotificationCenter
我实际上已经编写了一个非常简单的Automator脚本,所以现在我可以使用键盘快捷键启用/禁用“通知中心请勿打扰”。非常便利。:)
killall NotificationCenter
将设置重置为默认设置,但不重新加载设置。
我可能想到的最好的方法是安装终端通知程序,并从终端发送消息。
终端通知程序可以通过Ruby Gems安装
类型:
sudo gem install终端通知程序
类型:
terminal-notifier -message“通知中心正在运行” -title“ NC状态”
如果通知中心正在运行,您将收到一条消息,提示“通知中心正在运行”
目前,以编程方式(包括通过命令行)与Notification Center进行交互的方式非常有限。作为InfluenceJamie指出,有终端通知,它允许你发送的命令行通知,但发送通知是几乎所有程序都在那一刻做。从我对开发人员文档的阅读中,程序只能发送和获取有关它们发送的特定通知的信息,没有有关Notifcation Center本身的状态信息或其他通知。也没有Applescript界面。
因此,目前,您只能手动测试通知是否通过,例如 ImpactJamie所建议),还是希望有人弄清楚Apple的私有API并创建命令行界面。
通知中心的设置存储在~/Library/Preferences/ByHost
文件夹中,这意味着它是机器特定的设置。
您可以使用defaults -currentHost
命令来读取其中的设置。-currentHost
用于指定ByHost
设置,而不是存储在中的普通用户专用设置~/Library/Preferences
。
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
产值 1
表示已激活,0
已禁用。
实际上,以上命令正在从中读取选项 ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
文件中。
注意事项:设置ByHost
选项defaults -currentHost write
无效。这些选项确实已写入文件中,但没有被相应的守护程序重新加载。我猜这是一个错误。