답변:
실제로 방해 금지가 활성화되어 있는지 여부를 알 수 있습니다. 알림 센터는 값을 읽을 수있는 다음 위치에 plist를 삭제합니다. 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 스크립트를 작성 했으므로 이제 바로 가기 키를 사용하여 알림 센터에 대해 방해 금지를 활성화 / 비활성화 할 수 있습니다. 매우 편리합니다. :)
killall NotificationCenter
설정을 기본값으로 재설정하지만 설정을 다시로드하지는 않습니다.
아마도 내가 생각할 수있는 가장 좋은 방법은 터미널 알리미를 설치하고 터미널에서 메시지를 보내는 것입니다.
터미널 알림은 Ruby Gems를 통해 설치할 수 있습니다
유형:
sudo gem 설치 터미널 알리미
유형:
터미널 알림-메시지 "알림 센터가 실행 중입니다"-제목 "NC 상태"
알림 센터가 실행중인 경우 "알림 센터가 실행 중입니다"라는 메시지가 표시됩니다.
현재 프로그래밍 방식으로 Notification Center와 상호 작용하는 방법 (명령 줄 포함)은 매우 제한적입니다. InfluenceJamie가 지적했듯이, 터미널 알림 기능이있어 명령 줄에서 알림 을 보낼 수 있지만 알림을 보내는 것은 현재 모든 프로그램이 할 수있는 것입니다. 개발자 문서를 읽음으로써 , 프로그램은 그들이 보낸 특정 알림에 대한 정보, 알림 센터 자체에 대한 상태 정보 또는 기타 알림 만 보내고받을 수 있습니다. Applescript 인터페이스도 없습니다.
따라서 현재 InfluenceJamie가 제안했듯이 누군가 가 알림을 통과하는지 수동으로 테스트 하거나 누군가가 Apple의 개인 API를 파악하고 명령 줄 인터페이스를 만들기를 희망합니다.
알림 센터 설정은 ~/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
이 작동하지 않습니다. 옵션은 실제로 파일에 기록되지만 해당 데몬에 의해 다시로드되지는 않습니다. 나는 이것이 버그라고 생각한다.