명령 행에서 OS X 알림 센터 상태 가져 오기


9

OS X 10.8에서 사용자는 하루 동안 알림 센터를 비활성화 할 수 있습니다. 명령 행에서 활성화되어 있는지 확인하는 방법이 있습니까?

답변:


8

실제로 방해 금지가 활성화되어 있는지 여부를 알 수 있습니다. 알림 센터는 값을 읽을 수있는 다음 위치에 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 스크립트를 작성 했으므로 이제 바로 가기 키를 사용하여 알림 센터에 대해 방해 금지를 활성화 / 비활성화 할 수 있습니다. 매우 편리합니다. :)


불행히도,이 설정을 켜거나 끄는 것은 El Capitan에서 작동하지 않습니다.
Zsolt Szatmari

요세미티에서도 작동하지 않음
Gianfranco P.

작동하지 않습니다. 1.이 UUID는 귀하에게 고유합니다. 2. killall NotificationCenter설정을 기본값으로 재설정하지만 설정을 다시로드하지는 않습니다.
Simba

4

요세미티에서 방해 금지 상태 를 얻으 려면 터미널에 다음을 입력하십시오.

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

1

아마도 내가 생각할 수있는 가장 좋은 방법은 터미널 알리미를 설치하고 터미널에서 메시지를 보내는 것입니다.

터미널 알리미 설치

터미널 알림은 Ruby Gems를 통해 설치할 수 있습니다

유형:

sudo gem 설치 터미널 알리미

NC에게 메시지 보내기

유형:

터미널 알림-메시지 "알림 센터가 실행 중입니다"-제목 "NC 상태"

알림 센터가 실행중인 경우 "알림 센터가 실행 중입니다"라는 메시지가 표시됩니다.


2
위의 내용은 저에게 효과적이지만 프로그래밍 방식의 상태 표시가 아닌 수동 솔루션 이므로이 질문에 대한 답변으로 +1을주지 않습니다. 그러나 다른 측면에서는 매우 유용했습니다.
ClearCrescendo 2016 년

이것을 공표하는 것은 정답을 선택하는 것과 다릅니다. 답변이 도움이되었지만 질문에 답변하지 않은 경우 공감할 수 있습니다. 질문에 대한 답변이 있으면 왼쪽의 확인 표시 아이콘을 클릭하십시오.
jmh

1

현재 프로그래밍 방식으로 Notification Center와 상호 작용하는 방법 (명령 줄 포함)은 매우 제한적입니다. InfluenceJamie가 지적했듯이, 터미널 알림 기능이있어 명령 줄에서 알림 을 보낼 수 있지만 알림을 보내는 것은 현재 모든 프로그램이 할 수있는 것입니다. 개발자 문서를 읽음으로써 , 프로그램은 그들이 보낸 특정 알림에 대한 정보, 알림 센터 자체에 대한 상태 정보 또는 기타 알림 만 보내고받을 수 있습니다. Applescript 인터페이스도 없습니다.

따라서 현재 InfluenceJamie가 제안했듯이 누군가 가 알림을 통과하는지 수동으로 테스트 하거나 누군가가 Apple의 개인 API를 파악하고 명령 줄 인터페이스를 만들기를 희망합니다.


MacOS에서는 모든 환경 설정이 일부 plist 파일에 저장되므로 원하는 것을 수행하기 위해 "기본 읽기"항목이 있어야합니다.
user732274

1
글쎄, 물론 가능하지만 기본값은 영구적 인 환경 설정에 더 적합합니다. 임시 설정은 기본값에 저장되지 않을 수 있습니다. 그러나 InfluenceJamie의 제안이 효과가 없다면 아마도 가장 좋은 방법 일 것입니다.
robmathers

plist에없는 경우 어디에 저장해야합니까?
user732274

1

알림 센터 설정은 ~/Library/Preferences/ByHost폴더에 저장되므로 시스템 별 설정입니다.

defaults -currentHost명령을 사용 하여 설정을 읽을 수 있습니다 . -currentHostByHost저장된 일반 사용자 별 설정이 아닌 설정 을 지정하는 데 사용됩니다 ~/Library/Preferences.

defaults -currentHost read com.apple.notificationcenterui doNotDisturb

출력 값 10비활성화 되어 활성화되었음을 의미합니다 .

실제로 위의 명령은 ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist파일 에서 옵션을 읽고 있습니다 .

주의 사항 : ByHost옵션 설정 defaults -currentHost write이 작동하지 않습니다. 옵션은 실제로 파일에 기록되지만 해당 데몬에 의해 다시로드되지는 않습니다. 나는 이것이 버그라고 생각한다.

참고 문헌

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.