Deaktivieren Sie die Benachrichtigungsblase (notify-osd) der Gnome-Software für verfügbare Updates

Deaktivieren Sie die Benachrichtigungsblase (notify-osd) der Gnome-Software für verfügbare Updates

Wenn ich 16.04 mit Unity ausführe, sehe ich nach jeder Anmeldung diese nervige Benachrichtigungsblase in der oberen rechten Ecke des Bildschirms, dass Updates verfügbar sind.

Das ist nicht nur ärgerlich, sondern oft auch unwahr, da ich einige Pakete zurückhalte, die nicht aktualisiert werden sollten, was den Notifier aber scheinbar nicht interessiert.

Wie kann ich diese Benachrichtigungen für verfügbare Updates deaktivieren?

Ich möchte notify-osd nicht vollständig deaktivieren. Außerdem habe ich die automatische Suche nach Updates bereits deaktiviert, da ich dies sowieso manuell mache apt.

Antwort1

Entsprechenddieser Beitrag auf Fedoraforum.orgkönnen Sie versuchen, das automatische Herunterladen von Updates durch GNOME Software zu deaktivieren:

gsettings set org.gnome.software download-updates false

Die Beschreibung dieses Schlüssels lautet:

Wenn aktiviert, lädt die GNOME-Software Aktualisierungen automatisch im Hintergrund herunter und fordert den Benutzer auf, sie zu installieren, wenn sie bereit sind.

Ich habe keine Updates zum Testen zur Hand.

Antwort2

So fangen Sie mit dbus-monitor nur bestimmte Benachrichtigungen ab (löschen sie)

Sie können automatisch tötenSpezifischNachrichten, wenn Sie eine bestimmte identifizierende Zeichenfolge haben, die im Text der Benachrichtigung vorkommt. In diesem Fall reicht wahrscheinlich „Update“ aus.

Wie stellt man das ein

  1. Kopieren Sie das folgende Skript in eine leere Datei:

    #!/bin/bash
    
    string=$1
    match="update"
    
    if [[ $string == *$match* ]]
      then
        pkill notify-osd
    fi
    

    Speichern Sie es unter killnot.sh. Dies wird beendet, notify-osdwenn eine bestimmte Zeichenfolge in der Benachrichtigung vorkommt. Bearbeiten Sie die Zeile, match="update"um die identifizierende Zeichenfolge in den Benachrichtigungen wiederzugeben, die Sie beenden möchten.Machen Sie das Skript ausführbar.

  2. Kopieren Sie das folgende Skript in eine leere Datei:

    #!/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 {}
    

    Bearbeiten Sie die Zeile, scriptpath=/home/jacob/Bureaublad/killnot.shum den tatsächlichen Pfad zu Skript 1 ( killnot.sh) anzuzeigen, und speichern Sie es als monitor_notifs.sh.Machen Sie das Skript ausführbar.

  3. Testen Sie das Setup mit dem folgenden Befehl:

    /path/to/monitor_notifs.sh
    

    Führen Sie zum Testen in einem anderen Terminal den folgenden Befehl aus:

    notify-send <identifying_string>
    

    Die Meldung sollte nicht erscheinen.

  4. Wenn alles funktioniert, fügen Sie es zu Ihren Startanwendungen hinzu: Dash > Startanwendungen > Hinzufügen. Fügen Sie den Befehl hinzu:

    /path/to/monitor_notifs.sh
    

Hinweise / Erläuterungen

Das Skript monitor_notifs.shverwendet dbus-monitorin gleicher Weise wiediese Antwort. Wenn es im Hintergrund ausgeführt wird, bedeutetNichtsan Ihr System und löst nur Benachrichtigungen aus.

Diese Benachrichtigungen werden, wenn sie auftreten, als Argument an das Skript übergeben killnot.sh, das nichts tut.es sei dennDie identifizierende Zeichenfolge befindet sich im Text der Benachrichtigung. In diesem Fall wird sie beendet notify-osd.

Durch geringfügige Änderungen am ersten Skript können Sie das Setup so einrichten, dass Benachrichtigungen für mehrere Schlüsselwörter gleichzeitig gesendet werden.


EDIT: Führen Sie den Befehl nur aus, bis die Blase erscheint

Wenndie Benachrichtigung wird erst nach der Anmeldung angezeigt. Wie Sie in Ihrer Frage erwähnen, können Sie die Lösung so „aufmotzen“, dass sie sich selbst beendet, nachdem sie die Update-Benachrichtigung abgefangen hat:

Wenn Sie die Skripte im Setup genau wie angegeben benannt haben, fügen Sie dem killnot.shSkript eine Zeile hinzu:

pkill -P "$( pgrep -f run_intercept )"

Das Skript sieht dann so aus:

#!/bin/bash
string=$1

match="update"
if [[ $string == *$match* ]]
  then
    pkill notify-osd
    pkill -P "$( pgrep -f run_intercept )"
fi

Das Hauptskript run_interceptwird dann beendet, nachdem es seine Aufgabe erledigt hat, und es wird kein Hintergrundskript mehr ausgeführt.

Näher an Sauberkeit kann man in dieser Situation meiner Meinung nach nicht herankommen.

Antwort3

Ich habe die Datei gefunden /etc/xdg/autostart/update-notifier.desktop, die den update-notifierDienst automatisch startet. Wie Sie vielleicht wissen oder auch nicht, startet jede .desktopDatei im Verzeichnis den Befehl, der als Parameter angegeben wird./etc/xdg/autostartExec=

Um es zu deaktivieren, müssen Sie nur Folgendes tun mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bakund voilà! Beim erneuten Aktivieren erfolgt das Gegenteil.

Antwort4

Fehler in der letzten Version der Gnome(Ubuntu)-Software behobenhttps://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382

verwandte Informationen