Trên OS X 10.8, người dùng có thể tắt Trung tâm thông báo trong một ngày. Có cách nào để kiểm tra xem nó có được kích hoạt từ dòng lệnh không?.
Trên OS X 10.8, người dùng có thể tắt Trung tâm thông báo trong một ngày. Có cách nào để kiểm tra xem nó có được kích hoạt từ dòng lệnh không?.
Câu trả lời:
Bạn thực sự có thể tìm hiểu xem Do Not Disturb hiện đang được bật hay tắt. Trung tâm thông báo thả một số nguyên ở vị trí sau mà bạn có thể đọc giá trị của. Chạy phần sau để tìm tệp plist:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Bây giờ, bạn có thể đọc giá trị từ số nguyên bạn vừa tìm thấy bằng cách sử dụng:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
LƯU Ý: tên tệp thực tế của bạn có thể khác với tên tôi đã liệt kê ở trên.
Bạn sẽ thấy một khóa có tên là "doNotDisturb" và nó sẽ có giá trị là 1 hoặc 0 (được bật hoặc tắt)
Bạn cũng có thể thay đổi trạng thái của nó bằng cách thực hiện:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
hoặc là:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Để thay đổi có hiệu lực, bạn sẽ cần khởi động lại Trung tâm thông báo bằng cách nhập:
killall NotificationCenter
Tôi thực sự đã viết một tập lệnh Automator rất đơn giản để bây giờ tôi có thể bật / tắt Không làm phiền cho Trung tâm thông báo bằng phím tắt. Rất tiện dụng. :)
killall NotificationCenter
sẽ đặt lại cài đặt về mặc định nhưng không tải lại cài đặt.
Có lẽ cách tốt nhất tôi có thể nghĩ đến là cài đặt trình thông báo đầu cuối và gửi tin nhắn từ thiết bị đầu cuối.
Trình thông báo đầu cuối có thể được cài đặt thông qua Ruby Gems
Kiểu:
sudo gem cài đặt trình thông báo đầu cuối
Kiểu:
trình thông báo đầu cuối -message "Trung tâm thông báo đang chạy" -title "Trạng thái NC"
Nếu trung tâm thông báo đang chạy, bạn sẽ nhận được thông báo "Trung tâm thông báo đang chạy"
Hiện tại, các cách để tương tác với Trung tâm thông báo theo chương trình (bao gồm cả thông qua dòng lệnh) là khá hạn chế. Như InfluenceJamie đã lưu ý, có trình thông báo đầu cuối , cho phép bạn gửi thông báo từ dòng lệnh, nhưng gửi thông báo là khá nhiều chương trình có thể làm vào lúc này. Từ việc tôi đọc tài liệu dành cho nhà phát triển , các chương trình chỉ có thể gửi và nhận thông tin về các thông báo cụ thể mà họ gửi, không có thông tin trạng thái nào cho chính Trung tâm thông báo hoặc các thông báo khác. Cũng không có giao diện Applescript.
Vì vậy, hiện tại, bạn bị giới hạn kiểm tra thủ công xem có thông báo nào không, như InfluenceJamie đã đề xuất hoặc hy vọng ai đó tìm ra API riêng của Apple và tạo giao diện dòng lệnh.
Cài đặt của Trung tâm thông báo được lưu trong ~/Library/Preferences/ByHost
thư mục, có nghĩa là đó là cài đặt dành riêng cho máy.
Bạn có thể sử dụng defaults -currentHost
lệnh để đọc các cài đặt bên trong. -currentHost
được sử dụng để chỉ định ByHost
cài đặt không phải là người dùng chung được lưu trữ trong ~/Library/Preferences
.
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
Giá trị đầu ra 1
có nghĩa là nó được kích hoạt, 0
cho người khuyết tật.
Trong thực tế, lệnh trên là đọc các tùy chọn từ ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
tệp.
Hãy cẩn thận : Cài đặt ByHost
tùy chọn defaults -currentHost write
không hoạt động. Các tùy chọn thực sự được ghi vào tệp, nhưng nó không được tải lại bởi trình nền tương ứng. Tôi đoán đây là một lỗi.