На OS X 10.8 пользователи могут отключить Центр уведомлений на один день. Есть ли способ проверить, включен ли он из командной строки?
источник
На OS X 10.8 пользователи могут отключить Центр уведомлений на один день. Есть ли способ проверить, включен ли он из командной строки?
Вы действительно можете узнать, включен ли режим «Не беспокоить» или нет. Центр уведомлений удаляет список в следующем месте, где вы можете прочитать значение. Запустите следующее, чтобы найти файл plist:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.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
Чтобы изменения вступили в силу, вам нужно перезапустить Центр уведомлений, набрав:
killall NotificationCenter
На самом деле я написал очень простой скрипт Automator, поэтому теперь я могу включать / отключать функцию «Не беспокоить» для Центра уведомлений с помощью сочетания клавиш. Очень кстати. :)
killall NotificationCenter
сбросит настройки по умолчанию, но не перезагрузит настройки.Чтобы получить статус « Не беспокоить» в Йосемити, просто введите в своем терминале следующее:
источник
Вероятно, лучший способ, который я могу придумать, - это установить уведомитель терминала и отправить ему сообщение с терминала.
Установить терминал уведомлений
Терминальный уведомитель может быть установлен через Ruby Gems
Тип:
Отправить NC сообщение
Тип:
Если центр уведомлений запущен, вы получите сообщение «Центр уведомлений запущен»
источник
На данный момент способы программного взаимодействия с Центром уведомлений (в том числе через командную строку) довольно ограничены. Как отметил InfluenceJamie, есть терминал-уведомитель , который позволяет отправлять уведомления из командной строки, но отправка уведомлений - это почти все, что могут сделать программы в настоящий момент. Из моего прочтения документации для разработчиков программы могут только отправлять и получать информацию о конкретных уведомлениях, которые они отправляют, никакой информации о состоянии для самого Центра уведомлений или других уведомлений. Там также нет интерфейса Applescript.
Таким образом, на данный момент вы ограничены ручным тестированием, проходит ли уведомление, как предложил InfluenceJamie , или надеетесь, что кто-то выяснит частные API Apple и создаст интерфейс командной строки.
источник
Настройки Центра уведомлений хранятся в
~/Library/Preferences/ByHost
папке, что означает, что это специфичные для машины настройки.Вы можете использовать
defaults -currentHost
команду для чтения настроек внутри.-currentHost
используется для указанияByHost
параметра, а не обычного пользовательского параметра, который хранится в~/Library/Preferences
.Выходное значение
1
означает, что он активирован,0
для отключен.Фактически, вышеупомянутая команда читает параметры из
~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
файла.Предостережения : установка
ByHost
параметров с помощьюdefaults -currentHost write
не работает. Опции действительно записываются в файл, но не перезагружаются соответствующим демоном. Я думаю, это ошибка.Ссылки
источник