Могу ли я отключить все уведомления, связанные с libnotify, из Network Manager? Диалоговое окно «Изменить подключение» не помогает
решение1
12.10 - Dconf
Выполните эти команды:
gsettings set org.gnome.nm-applet disable-disconnected-notifications "true"
gsettings set org.gnome.nm-applet disable-connected-notifications "true"
Или откройте dconf-editor, прокрутите вниз до org
▸ gnome
▸ nm-applet
и проверьте disable-connected-notifications
настройки disable-disconnected-notifications
там.
11.10 и 12.04 - Gconf
Gconf-editor позволяет редактировать уведомления сетевого менеджера.
Чтобы изменить эти настройки, выполните установку gconf-editor
из центра программного обеспечения.
Прокрутите / ▸ apps ▸ nm-applet
и проверьте disable-connected-notifications
настройки disable-disconnected-notifications
там. Проверьте прикрепленное изображение для пояснений.
решение2
В дополнение к способу jokerino, вы также можете изменить это в командной строке:
gconftool -s /apps/nm-applet/disable-disconnected-notifications --type=bool true
gconftool -s /apps/nm-applet/disable-connected-notifications --type=bool true
Чтобы увидеть, что можно изменить:
gconftool -R /apps/nm-applet
решение3
Другие ответы могут помочь вам избавиться от сообщений «Вы подключены», но есть ошибка,https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/445872(смотрите такжеhttps://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/921717иhttps://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/835972), в результате чего настройка disable-disconnected-notification игнорируется.
Пока это не исправлено, есть обходной путь. Вставьте это в /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
. Это для Xubuntu, на обычной Ubuntu, я думаю, это будет /usr/bin/killall notify-osd
или что-то вроде того. Вам также может понадобиться настроить время сна.
Но это отвратительный хак ;) Было бы лучше увидеть настоящее исправление.
решение4
Грубое решение:
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
Предупреждение:
killall notify-osd
не является дискриминационным и полностью очищает стек уведомлений всех ожидающих сообщений независимо от того, является ли NM уведомляющим агентом.
«Честное» решение может быть найдено, но это требует, чтобы ожидающие уведомления, кроме NM, были восстановлены с сохранением их временной целостности. Это означает, что хронологический порядок должен быть сохранен для других уведомлений и отслеживается, dbus
чтобы проверить, изменился ли статус уведомлений... т. е. отменено, сообщение изменено и т. д.
В идеале прямое dbus
использование
method void org.freedesktop.Notifications.CloseNotification(uint id)
специально нацеливаться только на уведомления NM, к сожалению, не очевидно...
ссылка:
- Можно ли запустить и вызвать org.freedesktop.Notifications.CloseNotification(uint id) через DBus?
- Можно ли заблокировать NotifyOSD для одного приложения?
- Кнопка «Закрыть» на notify-osd?
Добавить в закладки:
Как отключить уведомления от сетевого менеджера