รับสถานะศูนย์การแจ้งเตือน OS X จากบรรทัดคำสั่ง


9

ใน OS X 10.8 ผู้ใช้สามารถปิดการใช้งานศูนย์การแจ้งเตือนได้ในวันเดียว มีวิธีตรวจสอบว่าเปิดใช้งานจากบรรทัดคำสั่งหรือไม่

คำตอบ:


8

คุณสามารถทราบได้ว่าในขณะนี้ห้ามเปิดใช้งานหรือปิดการใช้งาน ศูนย์การแจ้งเตือนจะวางเพลทในตำแหน่งต่อไปนี้ซึ่งคุณสามารถอ่านค่าได้ รันสิ่งต่อไปนี้เพื่อค้นหาไฟล์ plist:

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

ตอนนี้คุณสามารถอ่านค่าจาก 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 ง่าย ๆ ดังนั้นตอนนี้ฉันสามารถเปิด / ปิดใช้งาน Do Not Disturb สำหรับศูนย์การแจ้งเตือนด้วยแป้นพิมพ์ลัด มีประโยชน์มาก :)


น่าเสียดายที่การตั้งค่าเปิด / ปิดนี้ใช้ไม่ได้กับ El Capitan
Zsolt Szatmari

ไม่สามารถใช้งานกับ Yosemite ได้
Gianfranco P.

สิ่งนี้ใช้ไม่ได้ 1. UUID นี้เฉพาะสำหรับคุณ 2. killall NotificationCenterจะรีเซ็ตการตั้งค่าเป็นค่าเริ่มต้น แต่จะไม่โหลดการตั้งค่าใหม่
สิงโต

4

ในการรับสถานะห้ามรบกวนใน Yosemite เพียงป้อนข้อมูลต่อไปนี้ในเทอร์มินัลของคุณ:

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

1

อาจเป็นวิธีที่ดีที่สุดที่ฉันคิดคือติดตั้งเทอร์มินัลแจ้งเตือนและส่งข้อความจากเทอร์มินัล

ติดตั้ง Terminal Notifier

เทอร์มินัลแจ้งเตือนสามารถติดตั้งผ่าน Ruby Gems

ประเภท:

sudo gem ติดตั้งโปรแกรมแจ้งเตือน

ส่งข้อความถึง NC

ประเภท:

terminal-notifier -message "ศูนย์การแจ้งเตือนกำลังทำงาน" -title "NC Status"

หากศูนย์การแจ้งเตือนทำงานอยู่คุณจะได้รับข้อความแจ้งว่า "ศูนย์การแจ้งเตือนกำลังทำงานอยู่"


2
ข้างต้นทำงานได้ดีสำหรับฉัน แต่มันเป็นวิธีแก้ปัญหาด้วยตนเองมากกว่าการบ่งชี้สถานะแบบเป็นโปรแกรมดังนั้นฉันจึงไม่ให้ +1 เป็นคำตอบสำหรับคำถามนี้ อย่างไรก็ตามมันมีประโยชน์มากในด้านอื่น ๆ
ClearCrescendo

การให้ upvote นี้ไม่เหมือนกับการเลือกคำตอบว่าถูกต้อง หากคำตอบช่วยคุณได้ แต่ไม่ได้ตอบคำถามคุณสามารถให้คำตอบได้ หากตอบคำถามของคุณแล้วคลิกที่ไอคอนเครื่องหมายถูกที่ด้านซ้าย
jmh

1

ในขณะนี้วิธีการโต้ตอบกับศูนย์การแจ้งเตือนโดยทางโปรแกรม (รวมถึงผ่านทางบรรทัดคำสั่ง) ค่อนข้าง จำกัด ดังที่ InfluenceJamie ตั้งข้อสังเกตว่ามีเทอร์มินัลแจ้งเตือนซึ่งช่วยให้คุณสามารถส่งการแจ้งเตือนจากบรรทัดคำสั่งได้ แต่การส่งการแจ้งเตือนนั้นเป็นสิ่งที่โปรแกรมทั้งหมดสามารถทำได้ จากการอ่านเอกสารนักพัฒนาของฉันโปรแกรมสามารถส่งและรับข้อมูลเกี่ยวกับการแจ้งเตือนที่พวกเขาส่งเท่านั้นไม่มีข้อมูลสถานะสำหรับ Notifcation Center เองหรือการแจ้งเตือนอื่น ๆ นอกจากนี้ยังไม่มีส่วนต่อประสาน Applescript

ดังนั้นในขณะนี้คุณ จำกัด การทดสอบด้วยตนเองไม่ว่าจะเป็นการแจ้งเตือนตามที่InfluenceJamie แนะนำหรือหวังว่าจะมีคนคิดออก API ส่วนตัวของ Apple และสร้างอินเตอร์เฟสบรรทัดคำสั่ง


ใน MacOS ทุกการตั้งค่าจะถูกเก็บไว้ในไฟล์ plist บางอย่างดังนั้นจะต้องมีบางสิ่ง "เริ่มต้นอ่าน" สิ่งที่จะทำในสิ่งที่ฉันกำลังมองหา
user732274

1
แน่นอนว่ามีความเป็นไปได้ แต่ค่าเริ่มต้นสำหรับการตั้งค่าถาวรมากกว่า - การตั้งค่าชั่วคราวอาจไม่ถูกจัดเก็บไว้ในค่าเริ่มต้น อย่างไรก็ตามนั่นอาจเป็นทางออกที่ดีที่สุดของคุณหากคำแนะนำของ InfluenceJamie ไม่ได้ผลสำหรับคุณ
robmathers

ควรเก็บไว้ที่ไหนถ้าไม่ได้อยู่ในแผน
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ไฟล์

Caveats : การตั้งค่าByHostตัวเลือกด้วยdefaults -currentHost writeไม่ทำงาน ตัวเลือกถูกเขียนลงในไฟล์ แต่ไม่ได้โหลดใหม่โดย daemon ที่เกี่ยวข้อง ฉันเดาว่านี่เป็นข้อผิดพลาด

อ้างอิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.