Al ejecutar 16.04 con Unity, después de cada inicio de sesión veo esta molesta burbuja de notificación en la esquina superior derecha de la pantalla que indica que hay actualizaciones disponibles.
Esto no sólo es molesto, sino que a menudo ni siquiera es cierto, ya que estoy reteniendo algunos paquetes que no deberían actualizarse, pero al notificador parece no importarle.
¿Cómo puedo desactivar esas notificaciones de actualizaciones disponibles?
No quiero desactivar completamente Notify-OSD. Además, ya deshabilité la verificación automática de actualizaciones, ya que apt
de todos modos lo estoy haciendo manualmente.
Respuesta1
De acuerdo aesta publicación de Fedoraforum.org, puede intentar deshabilitar la descarga automática de actualizaciones del software GNOME:
gsettings set org.gnome.software download-updates false
La descripción de esa clave dice:
Si está habilitado, el software GNOME descarga automáticamente las actualizaciones en segundo plano y solicita al usuario que las instale cuando esté listo.
No tengo ninguna actualización disponible para probar.
Respuesta2
Cómo interceptar (eliminar) solo notificaciones específicas, usando dbus-monitor
Puedes matar automáticamenteespecíficomensajes si tiene una cadena de identificación específica, que aparece en el texto de la notificación. En este caso, "actualizar" probablemente sea suficiente.
Como instalar
Copie el siguiente script en un archivo vacío:
#!/bin/bash string=$1 match="update" if [[ $string == *$match* ]] then pkill notify-osd fi
Guárdalo como
killnot.sh
. Esto se eliminaránotify-osd
si aparece una determinada cadena en la notificación. Edite la líneamatch="update"
para reflejar la cadena de identificación en las notificaciones que desea eliminar.Hacer ejecutable el script.Copie el siguiente script en un archivo vacío:
#!/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 {}
Edite la línea
scriptpath=/home/jacob/Bureaublad/killnot.sh
para reflejar la ruta real al script 1 (killnot.sh
) y guárdela comomonitor_notifs.sh
.Hacer ejecutable el script.Pruebe la configuración con el comando:
/path/to/monitor_notifs.sh
Para probar, ejecute en otra terminal el comando:
notify-send <identifying_string>
El mensaje no debería aparecer.
Si todo funciona bien, agréguelo a sus aplicaciones de inicio: Dash > Aplicaciones de inicio > Agregar. Agregue el comando:
/path/to/monitor_notifs.sh
Notas / explicación
El script monitor_notifs.sh
utiliza dbus-monitor
de la misma manera queesta respuesta. Ejecutarlo en segundo plano significanadaa su sistema y solo activa notificaciones.
Estas notificaciones, cuando ocurren, se pasan como argumento al script killnot.sh
, que no hace nada.a menos quela cadena de identificación está en el texto de la notificación. En ese caso matará notify-osd
.
Con una pequeña edición del primer script, puede hacer que la configuración elimine las notificaciones de varias palabras clave a la vez.
EDITAR solo ejecute el comando hasta que aparezca la burbuja
Sila notificación solo aparece después de iniciar sesión, como menciona en su pregunta, puede "mejorar" la solución para que se elimine por sí sola después de interceptar la notificación de actualización:
Si nombró los scripts en la configuración exactamente como se indica, agregue una línea al killnot.sh
script:
pkill -P "$( pgrep -f run_intercept )"
El guión entonces se convierte en:
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
pkill -P "$( pgrep -f run_intercept )"
fi
El script principal, run_intercept
, se eliminará después de haber hecho su trabajo y ya no tendrá ningún script en segundo plano ejecutándose.
En mi opinión, no puedes acercarte a la limpieza en esta situación.
Respuesta3
Encontré el archivo /etc/xdg/autostart/update-notifier.desktop
que inicia automáticamente el update-notifier
servicio. Como puede que sepa o no, cualquier .desktop
archivo en /etc/xdg/autostart
el directorio iniciará cualquier comando proporcionado por el Exec=
parámetro.
¡Todo lo que tienes que hacer para desactivarlo es hacer mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bak
y violar! La reactivación es al revés.
Respuesta4
Error solucionado en la última versión del software gnome (ubuntu)https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382