Can i disable all libnotify related notification from Network Manager ? 'Edit Connection' dialog doesn't help out
答え1
12.10 - Dconf
Run these commands:
gsettings set org.gnome.nm-applet disable-disconnected-notifications "true"
gsettings set org.gnome.nm-applet disable-connected-notifications "true"
Or open dconf-editor and scroll down to org
▸ gnome
▸ nm-applet
and check disable-connected-notifications
and disable-disconnected-notifications
settings there.
11.10 and 12.04 - Gconf
Gconf-editor lets you edit the network manager notifications.
To alter these settings, install gconf-editor
from the software-center.
Scroll to / ▸ apps ▸ nm-applet
and check disable-connected-notifications
and disable-disconnected-notifications
settings there. Check the attached image for clarifications.
答え2
In addition to jokerdino's way, you can change this in commandline too:
gconftool -s /apps/nm-applet/disable-disconnected-notifications --type=bool true
gconftool -s /apps/nm-applet/disable-connected-notifications --type=bool true
To see what can be changed:
gconftool -R /apps/nm-applet
答え3
The other answers might help you with getting rid of "you are connnected" messages, but there's a bug, at https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/445872 (see also https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/921717 and https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/835972 ), causing the disable-disconnected-notification setting to be ignored.
Until that's fixed, there is a workaround. Put this in /etc/pm/sleep.d/49_killall_notify
:
#!/bin/sh
case "${1}" in
resume|thaw)
( sleep 2 ; /usr/bin/killall /usr/lib/xfce4/notifyd/xfce4-notifyd ) &
( sleep 4 ; /usr/bin/killall /usr/lib/xfce4/notifyd/xfce4-notifyd ) &
;;
esac
then chmod +x /etc/pm/sleep.d/49_killall_notify
. This is for Xubuntu, on regular Ubuntu I guess it would be /usr/bin/killall notify-osd
or something like that. You might also need to tweak the sleep times.
But this is an ugly hack ;) it'd be better to see a real fix.
答え4
A crude solution:
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
Caveat:
killall notify-osd
is non-discriminating and completely wipes the notification stack of any pending messages irregardless of whether NM is the notifying agent.
An "honest" solution can be finessed but this requires that pending notifications, other than NM's, need to be reestablished while maintaining their temporal integrity. This means the chronological ordering needs to be maintained for the other notifications and the dbus
monitored to check if the notifications' status has changed ... ie. canceled, message altered etc.
Ideally, the direct dbus
use of
method void org.freedesktop.Notifications.CloseNotification(uint id)
to specifically target just the NM's notifications, is unfortunately not obvious ...
ref: