Dapatkan Status Pusat Pemberitahuan OS X Dari Baris Perintah


Jawaban:


8

Anda sebenarnya dapat mengetahui apakah Do Not Disturb saat ini diaktifkan atau dinonaktifkan. Pusat Pemberitahuan menjatuhkan daftar di lokasi berikut yang dapat Anda baca nilainya. Jalankan berikut ini untuk menemukan file plist:

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

Sekarang, Anda dapat membaca nilai dari daftar yang baru saja Anda temukan dengan menggunakan:

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

CATATAN: nama file Anda yang sebenarnya mungkin berbeda dari yang saya sebutkan di atas.

Anda akan melihat kunci yang disebut "doNotDisturb" dan ia akan memiliki nilai 1 atau 0 (diaktifkan atau dinonaktifkan)

Anda juga dapat mengubah statusnya dengan melakukan:

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

atau:

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

Agar perubahan diterapkan, Anda harus memulai kembali Pusat Pemberitahuan dengan mengetik:

killall NotificationCenter

Saya sebenarnya telah menulis skrip Automator yang sangat sederhana sehingga sekarang saya dapat mengaktifkan / menonaktifkan Do Not Disturb for Notification Center dengan pintasan keyboard. Sangat berguna. :)


Sayangnya, pengaturan ini hidup / mati tidak berfungsi pada El Capitan.
Zsolt Szatmari

Juga tidak bekerja pada Yosemite
Gianfranco P.

Ini tidak akan berhasil. 1. UUID ini khusus untuk Anda. 2. killall NotificationCenterakan mengatur ulang pengaturan ke default tetapi tidak memuat ulang pengaturan.
Simba

4

Untuk mendapatkan status Jangan ganggu di Yosemite, cukup masukkan yang berikut di terminal Anda:

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

1

Mungkin cara terbaik yang dapat saya pikirkan adalah menginstal terminal notifier dan mengirimkannya pesan dari terminal.

Instal Terminal Notifier

Terminal notifier dapat diinstal melalui Ruby Gems

Tipe:

sudo gem instal terminal-notifier

Kirim pesan kepada NC

Tipe:

terminal-notifier -message "Pusat notifikasi sedang menjalankan" -title "NC Status"

Jika pusat notifikasi berjalan Anda akan mendapatkan pesan yang mengatakan "Pusat notifikasi sedang berjalan"


2
Di atas bekerja dengan baik untuk saya tetapi ini adalah solusi manual daripada indikasi status terprogram jadi saya tidak memberikan +1 sebagai jawaban untuk pertanyaan ini. Namun itu sangat berguna dalam hal lain.
ClearCrescendo

Memberi ini upvote tidak sama dengan memilih jawaban sebagai yang benar. Jika jawabannya membantu Anda tetapi tidak menjawab pertanyaan, Anda dapat memberikannya jawaban. jika itu menjawab pertanyaan Anda, lalu klik ikon tanda centang di sebelah kiri.
jmh

1

Saat ini, cara untuk berinteraksi dengan Pusat Pemberitahuan secara terprogram (termasuk melalui baris perintah) sangat terbatas. Seperti yang dicatat oleh InfluenceJamie, ada terminal-notifier , yang memungkinkan Anda mengirim notifikasi dari baris perintah, tetapi mengirim notifikasi hampir semua program dapat lakukan saat ini. Dari pembacaan saya tentang dokumentasi pengembang , program hanya dapat mengirim dan mendapatkan informasi tentang pemberitahuan spesifik yang mereka kirim, tidak ada informasi status untuk Notifcation Center sendiri, atau pemberitahuan lainnya. Juga tidak ada antarmuka Applescript.

Jadi saat ini, Anda dibatasi untuk menguji secara manual apakah notifikasi berjalan, seperti yang disarankan InfluenceJamie , atau berharap seseorang mengetahui API pribadi Apple dan membuat antarmuka baris perintah.


Di MacOS setiap preferensi disimpan dalam beberapa file plist, jadi harus ada beberapa hal "default baca" untuk melakukan apa yang saya cari.
user732274

1
Ya, itu tentu saja kemungkinan, tetapi default lebih untuk preferensi permanen - pengaturan sementara mungkin tidak disimpan dalam default. Namun itu mungkin taruhan terbaik Anda jika saran InfluenceJamie tidak bekerja untuk Anda.
Robmathers

Di mana ini harus disimpan jika tidak dalam daftar?
user732274

1

Pengaturan pusat Pemberitahuan disimpan di ~/Library/Preferences/ByHostfolder, yang berarti itu adalah pengaturan khusus mesin.

Anda dapat menggunakan defaults -currentHostperintah untuk membaca pengaturan di dalam. -currentHostdigunakan untuk menentukan ByHostpengaturan bukan yang umum pengguna tertentu yang disimpan di ~/Library/Preferences.

defaults -currentHost read com.apple.notificationcenterui doNotDisturb

Nilai output 1berarti diaktifkan, 0untuk dinonaktifkan.

Bahkan, perintah di atas adalah opsi membaca dari ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plistfile.

Peringatan : Pengaturan ByHostopsi dengan defaults -currentHost writetidak berfungsi. Opsi memang ditulis ke dalam file, tetapi tidak dimuat ulang oleh daemon yang sesuai. Saya kira ini adalah bug.

Referensi

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.