Desative o balão de notificação do gnome-software (notify-osd) para atualizações disponíveis

Desative o balão de notificação do gnome-software (notify-osd) para atualizações disponíveis

Executando o 16.04 com Unity, após cada login, vejo esse balão de notificação irritante no canto superior direito da tela informando que há atualizações disponíveis.

Isso não é apenas irritante, mas muitas vezes nem é verdade, pois estou retendo alguns pacotes que não deveriam ser atualizados, mas o notificador parece não se importar.

Como posso desativar essas notificações para atualizações disponíveis?

Não quero desabilitar completamente o notify-osd. Além disso, já desativei a verificação automática de atualizações, pois estou fazendo isso manualmente de aptqualquer maneira.

Responder1

De acordo comesta postagem do Fedoraforum.org, você pode tentar desativar o download automático de atualizações do software GNOME:

gsettings set org.gnome.software download-updates false

A descrição dessa chave diz:

Se ativado, o software GNOME baixa automaticamente as atualizações em segundo plano e solicita que o usuário as instale quando estiver pronto.

Não tenho nenhuma atualização disponível para testar.

Responder2

Como interceptar (eliminar) apenas notificações específicas, usando dbus-monitor

Você pode matar automaticamenteespecíficomensagens se você tiver uma string de identificação específica, que ocorre no texto da notificação. Nesse caso, "atualizar" provavelmente servirá.

Como configurar

  1. Copie o script abaixo em um arquivo vazio:

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

    Salve-o como killnot.sh. Isso será eliminado notify-osdse uma determinada string ocorrer na notificação. Edite a linha match="update"para refletir a string de identificação nas notificações que você deseja eliminar.Torne o script executável.

  2. Copie o script abaixo em um arquivo vazio:

    #!/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 a linha scriptpath=/home/jacob/Bureaublad/killnot.shpara refletir o caminho real para o script 1( killnot.sh) e salve-o como monitor_notifs.sh.Torne o script executável.

  3. Execute o teste da configuração pelo comando:

    /path/to/monitor_notifs.sh
    

    Para testar, execute em outro terminal o comando:

    notify-send <identifying_string>
    

    A mesagem não deve aparecer.

  4. Se tudo funcionar bem, adicione-o aos seus aplicativos de inicialização: Dash > Aplicativos de inicialização > Adicionar. Adicione o comando:

    /path/to/monitor_notifs.sh
    

Notas/explicação

O script monitor_notifs.shusa dbus-monitorda mesma maneira queesta resposta. Executá-lo em segundo plano significanadaao seu sistema e apenas aciona notificações.

Essas notificações, quando ocorrem, são passadas como argumento para o script killnot.sh, que não faz nada,a menos quea string de identificação está no texto da notificação. Nesse caso, ele matará notify-osd.

Com uma pequena edição do primeiro script, você pode configurar notificações de eliminação em várias palavras-chave ao mesmo tempo.


EDIT apenas execute o comando até que a bolha apareça

Sea notificação só aparece após o login, como você mencionou na sua pergunta, você pode "inteligir" a solução para se matar depois de interceptar a notificação de atualização:

Se você nomeou os scripts na configuração exatamente como indicado, adicione uma linha ao killnot.shscript:

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

O script então se torna:

#!/bin/bash
string=$1

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

O script principal, run_intercept, será eliminado após realizar seu trabalho e você não terá mais nenhum script em segundo plano em execução.

Mais perto da limpeza, você não pode entrar nesta situação.

Responder3

Encontrei o arquivo /etc/xdg/autostart/update-notifier.desktopque inicia automaticamente o update-notifierserviço. Como você pode ou não saber, qualquer .desktoparquivo no /etc/xdg/autostartdiretório iniciará qualquer comando fornecido por Exec=parâmetro.

Tudo o que você precisa fazer para desativá-lo é fazer mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bake viola ! A reativação é o inverso.

Responder4

Bug corrigido na última versão do software gnome (ubuntu)https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382

informação relacionada