Unter OS X 10.8 können Benutzer das Benachrichtigungscenter für einen einzelnen Tag deaktivieren. Gibt es eine Möglichkeit zu überprüfen, ob es über die Befehlszeile aktiviert ist?.
quelle
Unter OS X 10.8 können Benutzer das Benachrichtigungscenter für einen einzelnen Tag deaktivieren. Gibt es eine Möglichkeit zu überprüfen, ob es über die Befehlszeile aktiviert ist?.
Sie können tatsächlich herausfinden, ob die Option Nicht stören derzeit aktiviert oder deaktiviert ist. Das Benachrichtigungscenter legt eine Liste an der folgenden Stelle ab, deren Wert Sie lesen können. Führen Sie Folgendes aus, um die Plist-Datei zu finden:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Jetzt können Sie den Wert aus der gerade gefundenen Liste lesen, indem Sie Folgendes verwenden:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
HINWEIS: Ihr tatsächlicher Dateiname kann von dem oben aufgeführten abweichen.
Sie sehen einen Schlüssel namens "doNotDisturb", der entweder den Wert 1 oder 0 hat (aktiviert oder deaktiviert).
Sie können den Status auch folgendermaßen ändern:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
oder:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Damit die Änderung wirksam wird, müssen Sie das Notification Center neu starten, indem Sie Folgendes eingeben:
killall NotificationCenter
Ich habe tatsächlich ein sehr einfaches Automator-Skript geschrieben, sodass ich jetzt das Do Not Disturb for Notification Center mit einer Tastenkombination aktivieren / deaktivieren kann. Sehr praktisch. :) :)
killall NotificationCenter
setzt die Einstellungen auf die Standardeinstellungen zurück, lädt die Einstellungen jedoch nicht neu.Um den Status " Nicht stören " in Yosemite zu erhalten, geben Sie einfach Folgendes in Ihr Terminal ein:
quelle
Der wahrscheinlich beste Weg, den ich mir vorstellen kann, besteht darin, den Terminal-Notifier zu installieren und ihm eine Nachricht vom Terminal zu senden.
Installieren Sie Terminal Notifier
Terminal Notifier kann über Ruby Gems installiert werden
Art:
NC eine Nachricht senden
Art:
Wenn das Benachrichtigungscenter ausgeführt wird, wird die Meldung "Das Benachrichtigungscenter wird ausgeführt" angezeigt.
quelle
Derzeit sind die Möglichkeiten zur programmgesteuerten Interaktion mit Notification Center (auch über die Befehlszeile) recht begrenzt. Wie InfluenceJamie bemerkte, gibt es einen Terminal-Notifier , mit dem Sie Benachrichtigungen über die Befehlszeile senden können. Das Senden von Benachrichtigungen ist jedoch so gut wie alles, was Programme derzeit tun können. Nach dem Lesen der Entwicklerdokumentation können Programme nur Informationen zu den von ihnen gesendeten spezifischen Benachrichtigungen, keine Statusinformationen für das Notifcation Center selbst oder andere Benachrichtigungen senden und abrufen. Es gibt auch keine Applescript-Oberfläche.
Im Moment können Sie also nur manuell testen, ob eine Benachrichtigung eingeht, wie InfluenceJamie vorgeschlagen hat , oder hoffen, dass jemand die privaten APIs von Apple herausfindet und eine Befehlszeilenschnittstelle erstellt.
quelle
Die Einstellungen des Benachrichtigungscenters werden im
~/Library/Preferences/ByHost
Ordner gespeichert. Dies bedeutet, dass es sich um maschinenspezifische Einstellungen handelt.Sie können den
defaults -currentHost
Befehl verwenden, um die Einstellungen darin zu lesen.-currentHost
wird verwendet, um dieByHost
Einstellung anzugeben, in der nicht die allgemeine benutzerspezifische Einstellung gespeichert ist~/Library/Preferences
.Ausgabewert
1
bedeutet, dass es0
für deaktiviert aktiviert ist .Tatsächlich liest der obige Befehl Optionen aus der
~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
Datei.Vorsichtsmaßnahmen : Das Einstellen von
ByHost
Optionen mitdefaults -currentHost write
funktioniert nicht. Die Optionen werden zwar in die Datei geschrieben, aber nicht vom entsprechenden Daemon neu geladen. Ich denke, das ist ein Fehler.Verweise
quelle