Sous 16.04 sous Unity, après chaque connexion, je vois cette bulle de notification gênante dans le coin supérieur droit de l'écran indiquant que des mises à jour sont disponibles.
Ce n'est pas seulement gênant, mais souvent ce n'est même pas vrai, car je retiens des paquets qui ne devraient pas être mis à jour, mais le notifiant ne semble pas s'en soucier.
Comment puis-je désactiver ces notifications pour les mises à jour disponibles?
Je ne veux pas désactiver notify-osd complètement. De plus, j'ai déjà désactivé la vérification automatique des mises à jour, car je le fais manuellement en utilisant apt
de toute façon.
Selon cet article de Fedoraforum.org , vous pouvez essayer de désactiver le téléchargement automatique des mises à jour de GNOME Software:
gsettings set org.gnome.software download-updates false
La description de cette clé se lit comme suit:
S'il est activé, GNOME Software télécharge automatiquement les mises à jour en arrière-plan et invite l'utilisateur à les installer lorsqu'il est prêt.
Je n'ai pas de mises à jour à tester.
Vous pouvez automatiquement tuer spécifique messages si vous avez une chaîne d'identification spécifique, qui apparaît dans le texte de la notification. Dans ce cas, "update" fera probablement l'affaire.
Copiez le script ci-dessous dans un fichier vide:
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
fi
Enregistrez-le sous killnot.sh
. Cela tue notify-osd
si une certaine chaîne apparaît dans la notification. Modifiez la ligne match="update"
afin de refléter la chaîne d’identification dans la ou les notifications à supprimer. Rend le script exécutable .
Copiez le script ci-dessous dans un fichier vide:
#!/bin/bash
scriptpath=/home/jacob/Bureaublad/killnot.sh
dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "string" | \
grep --line-buffered -e method -e ":" -e '""' -e urgency -e notify -v | \
grep --line-buffered '.*(?=string)|(?<=string).*' -oPi | \
grep --line-buffered -v '^\s*$' | \
xargs -I '{}' $scriptpath {}
Editez la ligne scriptpath=/home/jacob/Bureaublad/killnot.sh
pour refléter le chemin réel du script 1 (killnot.sh
) et enregistrez-la sous le nom monitor_notifs.sh
. Rend le script exécutable .
Tester-exécuter la configuration avec la commande:
/path/to/monitor_notifs.sh
Pour tester, exécutez dans un autre terminal la commande:
notify-send <identifying_string>
Le mésasage ne doit pas apparaître.
Si tout fonctionne correctement, ajoutez-le à vos applications de démarrage: Dash> Applications de démarrage> Ajouter. Ajoutez la commande:
/path/to/monitor_notifs.sh
Le script monitor_notifs.sh
utilise dbus-monitor
de la même manière que cette réponse . L'exécuter en arrière-plan signifie rien pour votre système et ne déclenche que les notifications.
Ces notifications, lorsqu'elles se produisent, sont transmises en tant qu'argument au script killnot.sh
, qui ne fait rien, sauf si la chaîne d'identification est dans le texte de la notification. Dans ce cas, il va tuer notify-osd
.
En modifiant un peu le premier script, vous pouvez configurer simultanément les notifications d’arrêt pour plusieurs mots-clés.
If la notification n'apparaît qu'après la connexion, comme vous l'avez mentionné dans votre question, vous pouvez "améliorer" la solution pour qu'elle se tue après avoir intercepté la notification de mise à jour:
Si vous avez nommé les scripts dans la configuration exactement comme indiqué, ajoutez une ligne au script killnot.sh
:
pkill -P "$( pgrep -f run_intercept )"
Le script devient alors:
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
pkill -P "$( pgrep -f run_intercept )"
fi
Le script principal, run_intercept
, sera alors tué après avoir rempli sa fonction et si aucun script d'arrière-plan n'est en cours d'exécution.
Plus près du nettoyage, vous ne pouvez pas entrer dans cette situation imo.
Bug corrigé sur la dernière version du logiciel gnome (ubuntu) https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382
J'ai trouvé le fichier /etc/xdg/autostart/update-notifier.desktop
, qui lance automatiquement le service update-notifier
. Comme vous le savez peut-être ou non, tout fichier .desktop
situé dans /etc/xdg/autostart
démarrera la commande donnée par le paramètre Exec=
.
Tout ce que vous avez à faire pour le désactiver, est de faire mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bak
et alto! La réactivation est l'inverse.