Komut Satırından OS X Bildirim Merkezi Durumunu Alma


9

OS X 10.8'de, kullanıcılar Bildirim Merkezi'ni tek bir gün için devre dışı bırakabilir. Komut satırından etkinleştirilip etkinleştirilmediğini kontrol etmenin bir yolu var mı?

Yanıtlar:


8

Aslında Rahatsız Etmeyin öğesinin şu anda etkin veya devre dışı olup olmadığını öğrenebilirsiniz. Bildirim Merkezi, aşağıdaki konuma değerini okuyabileceğiniz bir plist bırakır. Plist dosyasını bulmak için aşağıdakileri çalıştırın:

ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist

Şimdi, bulduğunuz plist'in değerini kullanarak şunu okuyabilirsiniz:

defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist

NOT: gerçek dosya adınız yukarıda listelediğimden farklı olabilir.

"DoNotDisturb" adlı bir anahtar görürsünüz ve anahtarın değeri 1 veya 0'dır (etkin veya devre dışı)

Ayrıca durumunu şu şekilde değiştirebilirsiniz:

defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1

veya:

defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0

Değişikliğin etkili olması için Bildirim Merkezi'ni aşağıdakileri yazarak yeniden başlatmanız gerekir:

killall NotificationCenter

Aslında çok basit bir Automator betiği yazdım, böylece şimdi bir klavye kısayolu ile Bildirim Merkezi için Rahatsız Etmeyin. Çok kullanışlı. :)


Ne yazık ki, bu açık / kapalı ayarı El Capitan'da çalışmaz.
Zsolt Szatmari

Yosemite üzerinde de çalışmıyor
Gianfranco P.

Bu işe yaramaz. 1. bu UUID sizin için özeldir. 2. killall NotificationCenterayarları varsayılana sıfırlar ancak ayarları yeniden yüklemez.
Simba

4

Yosemite'de Rahatsız etmeyin durumunu almak için terminalinize aşağıdakileri girmeniz yeterlidir:

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

1

Muhtemelen düşünebileceğim en iyi yol terminal notifier'ı kurmak ve terminalden bir mesaj göndermek.

Terminal Bildiricisini Yükle

Terminal notifier Ruby Gems üzerinden kurulabilir

Tür:

sudo gem install terminal-notifier

NC Kişisine bir Mesaj Gönderin

Tür:

terminal-notifier -message "Bildirim merkezi" -title "NC Status" çalıştırıyor

Bildirim merkezi çalışıyorsa "Bildirim merkezi çalışıyor" yazan bir ileti alırsınız.


2
Yukarıdaki benim için iyi çalıştı ama bu programlı bir durum göstergesi yerine manuel bir çözümdür, bu yüzden bu sorunun cevabı olarak +1 vermiyorum. Ancak diğer açılardan çok faydalı oldu.
ClearCrescendo

Buna bir yukarı oy vermek, cevabı doğru olarak seçmekle aynı şey değildir. Eğer cevap size yardımcı olduysa ancak soruyu cevaplamadıysanız, bir oy verin. sorunuzu cevapladıysa, sol taraftaki onay işareti simgesini tıklayın.
jmh

1

Şu anda Bildirim Merkezi ile programlı (komut satırı üzerinden dahil) etkileşim kurma yolları oldukça sınırlıdır. InfluenceJamie'nin belirttiği gibi, komut satırından bildirim göndermenize izin veren terminal notifier var , ancak bildirim göndermek hemen hemen tüm programların şu anda yapabileceği. Geliştirici belgelerini okuduğumda , programlar yalnızca gönderdikleri belirli bildirimler, Bildirim Merkezi'nin kendisi için durum bilgisi veya başka bildirimler hakkında bilgi gönderebilir ve alabilir. Ayrıca Applescript arayüzü de yok.

Şu anda, InfluenceJamie'nin önerdiği gibi bir bildirimin geçip geçmediğini manuel olarak test etmekle veya birinin Apple'ın özel API'lerini bulup bir komut satırı arayüzü oluşturmasını umuyorsunuz.


MacOS'ta her tercih bazı plist dosyalarında saklanır, bu yüzden aradığım şeyi yapmak için bazı "varsayılan okuma" öğeleri olmalıdır.
user732274

1
Elbette bu bir olasılıktır, ancak varsayılanlar kalıcı tercihler için daha fazladır - geçici bir ayar varsayılanlarda saklanmayabilir. Ancak, InfluenceJamie'nin önerisi sizin için işe yaramazsa, muhtemelen en iyi bahsiniz.
robmathers

Bir plistte değilse bu nerede saklanmalıdır?
user732274

1

Bildirim merkezinin ayarı ~/Library/Preferences/ByHostklasörde saklanır , bu da makineye özgü ayarlar anlamına gelir.

defaults -currentHostİçindeki ayarları okumak için komutu kullanabilirsiniz . saklanan ortak kullanıcıya özgü olmayan ayarı -currentHostbelirtmek için kullanılır .ByHost~/Library/Preferences

defaults -currentHost read com.apple.notificationcenterui doNotDisturb

Çıkış değeri devre dışı olduğu için 1etkinleştirildiği anlamına gelir 0.

Aslında, yukarıdaki komut ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plistdosyadan seçenekleri okumaktır .

Uyarılar : ByHostile seçenekleri ayarlamak defaults -currentHost writeişe yaramaz. Seçenekler gerçekten dosyaya yazılır, ancak karşılık gelen daemon tarafından yeniden yüklenmez. Sanırım bu bir hata.

Referanslar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.