कमांड लाइन से ओएस एक्स अधिसूचना केंद्र राज्य प्राप्त करें


9

OS X 10.8 पर, उपयोगकर्ता एक दिन के लिए अधिसूचना केंद्र को अक्षम कर सकते हैं। क्या यह जांचने का कोई तरीका है कि क्या यह कमांड लाइन से सक्षम है?

जवाबों:


8

आप वास्तव में यह पता लगा सकते हैं कि क्या डू नॉट डिस्टर्ब वर्तमान में सक्षम या अक्षम है। सूचना केंद्र निम्न स्थान पर एक प्लस्ट गिरता है जिसे आप मान पढ़ सकते हैं। प्लिस्ट फ़ाइल खोजने के लिए निम्नलिखित चलाएँ:

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

मैंने वास्तव में एक बहुत ही सरल स्वचालक स्क्रिप्ट लिखी है ताकि अब मैं कीबोर्ड शॉर्टकट से अधिसूचना केंद्र के लिए Do Not Disturb को सक्षम / अक्षम कर सकूं। बेहद सुविधाजनक। :)


दुर्भाग्य से, इसे ऑन / ऑफ सेट करना एल कैपिटन पर काम नहीं करता है।
Zsolt Szatmari

योसेमाइट पर भी काम नहीं करता है
जियानफ्रेंको पी।

यह काम नहीं करेगा। 1. यह यूयूआईडी आपके लिए विशिष्ट है। 2. killall NotificationCenterसेटिंग्स को डिफ़ॉल्ट पर रीसेट करेगा लेकिन सेटिंग्स को फिर से लोड न करें।
सिम्बा

4

योसेमाइट में परेशान न करें स्थिति पाने के लिए , बस अपने टर्मिनल में निम्नलिखित दर्ज करें:

defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.plist doNotDisturb

1

संभवतः सबसे अच्छा तरीका है जिसके बारे में मैं टर्मिनल नोटिफ़ायर स्थापित कर सकता हूँ और इसे टर्मिनल से एक संदेश भेज सकता हूँ।

टर्मिनल नोटिफ़ायर स्थापित करें

रूबी रत्न के माध्यम से टर्मिनल नोटिफ़ायर स्थापित किया जा सकता है

प्रकार:

सुडो रत्न टर्मिनल-नोटिफ़ायर स्थापित करें

नेकां को संदेश भेजें

प्रकार:

टर्मिनल-नोटिफायर -मेसेज "नोटिफिकेशन सेंटर चल रहा है" -इटली "एनसी स्टेटस"

यदि सूचना केंद्र चल रहा है, तो आपको एक संदेश मिलेगा जो कहता है "अधिसूचना केंद्र चल रहा है"


2
उपरोक्त मेरे लिए अच्छी तरह से काम किया है, लेकिन यह एक प्रोग्रामेटिक स्टेटस इंडिकेशन के बजाय एक मैनुअल समाधान है इसलिए मैं इसे इस प्रश्न के उत्तर के रूप में +1 नहीं दे रहा हूं। हालाँकि यह अन्य मामलों में बहुत उपयोगी था।
क्लियरक्रेन्डो

यह एक उत्थान देना सही के रूप में उत्तर का चयन करने के समान नहीं है। यदि उत्तर ने आपकी मदद की, लेकिन उस प्रश्न का उत्तर नहीं दिया, जो आप इसे दे सकते हैं। यदि यह आपके प्रश्न का उत्तर देता है तो बाईं ओर स्थित चेकमार्क आइकन पर क्लिक करें।
शाम

1

फिलहाल, अधिसूचना केंद्र के साथ प्रोग्राम करने के तरीके (कमांड लाइन के माध्यम से सहित) बहुत सीमित हैं। जैसा कि InfluenceJamie ने कहा, टर्मिनल-नोटिफ़ायर है , जो आपको कमांड लाइन से सूचनाएं भेजने की अनुमति देता है , लेकिन सूचनाएं भेजना बहुत अधिक है जो सभी कार्यक्रम इस समय कर सकते हैं। डेवलपर दस्तावेज़ीकरण के मेरे पढ़ने से , प्रोग्राम केवल विशिष्ट सूचनाओं के बारे में जानकारी भेज सकते हैं और प्राप्त कर सकते हैं, जो स्वयं नोटिफिकेशन सेंटर के लिए कोई स्थिति जानकारी नहीं है, या अन्य सूचनाएं। वहाँ भी कोई Applescript इंटरफ़ेस है।

तो इस समय, आप मैन्युअल रूप से परीक्षण करने के लिए सीमित हैं कि क्या एक अधिसूचना के माध्यम से चला जाता है, जैसा कि इन्फ्लुएंसजामी ने सुझाव दिया , या उम्मीद है कि कोई व्यक्ति Apple के निजी APIs का पता लगाता है और एक कमांड लाइन इंटरफ़ेस बनाता है।


MacOS में हर वरीयता कुछ प्लिस्ट फ़ाइलों में संग्रहीत होती है, इसलिए कुछ "डिफॉल्ट्स रीड" सामान होना चाहिए जो मैं देख रहा हूं।
user732274

1
खैर, यह निश्चित रूप से एक संभावना है, लेकिन स्थायी प्राथमिकता के लिए चूक अधिक हैं - अस्थायी सेटिंग को डिफ़ॉल्ट में संग्रहीत नहीं किया जा सकता है। हालाँकि, यह शायद आपकी सबसे अच्छी शर्त है अगर InfluenceJamie का सुझाव आपके लिए काम नहीं करता है।
डकैत

यदि यह एक प्लिस्ट में नहीं है, तो इसे कहां संग्रहीत किया जाना चाहिए?
user732274

1

अधिसूचना केंद्र की सेटिंग ~/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काम नहीं करता है। विकल्प वास्तव में फ़ाइल में लिखे गए हैं, लेकिन यह संबंधित डेमॉन द्वारा पुनः लोड नहीं किया गया है। मुझे लगता है कि यह एक बग है।

संदर्भ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.