...하지만 많은 일처럼 보입니다 ...
적어도 조잡한 일반 솔루션에는 그렇게 나쁘지 않습니다.
다음은 작년 (2012 년 9 월) 게시물에 대한 답변의 세부 정보 사본입니다.
network-manager에서 알림을 비활성화하는 방법 .
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
string "NetworkManager"
차단을 결정하려면 원하는 RE로 교체하십시오 .
실행할 RE 패턴과 일치하는 아이디어를 얻으려면
dbus-monitor "interface='org.freedesktop.Notifications'"
알림을 팝업하는 동안 출력을 확인하십시오.
즉. notify-send
메시지 를 제거 하려면 grep
대신 이 줄을 사용하십시오.
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
주의해야 할 점은 :
killall notify-osd
비 차별 완전히 보류중인 메시지의 알림 스택 여부에 선명하게 촬상 와이프됩니다 NetworkManager
또는 notify-send
통고 에이전트입니다.
"정직한"솔루션은 알림 제거가 필요한지 결정한 다음이를 수행 할 때 발생할 수있는 경쟁 조건을 설명해야합니다. 다른 알림은 팝업되어 나머지 알림과 함께 제거되지 않아야합니다.
또한 문제의 알림이 차단 될 때 알림이 보류 중이면 모두 제거됩니다. 이 상황은 dbus
보류중인 알림을 복사 notify-send
한 후 제거 후 원하는 알림을 다시 발행하여 해결할 수 있습니다 .
이것은 약간의 노동 집약적 인 작업입니다!
이상적으로는 직접 dbus 사용
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
원하는 알림을 구체적으로 타겟팅하는 것은 불행히도 분명하지 않습니다 ... 그러나 ...
또 다른 답변
org.freedesktop.Notifications.CloseNotification (uint id)을 DBus를 통해 트리거하고 호출 할 수 있습니까? 적어도와 함께
사용 하지만 불행히도 임의의 알림 aps에는 사용하지 않는 방법을 보여줍니다 . 비록 aps. 팝업 알림을 제어하는 사용자 정의 인터페이스가 있습니다.[1]
notify-send
교차 심판. :