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

6

Rodando o 16.04 com o Unity, depois de cada log-in, vejo este irritante balão de notificação no canto superior direito da tela, que contém atualizações disponíveis.

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

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

Eu não quero desabilitar o notify-osd completamente. Além disso, já desativei a verificação automática de atualizações, já que estou fazendo isso manualmente usando apt .

    
por Byte Commander 17.05.2016 / 22:29

4 respostas

9

De acordo com esta postagem do Fedoraforum.org , você pode tentar desabilitar o download automático de atualizações do GNOME Software:

gsettings set org.gnome.software download-updates false

A descrição dessa chave diz:

% bl0ck_qu0te%

Não tenho atualizações disponíveis para teste.

    
por muru 18.05.2016 / 00:54
2

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

Você pode matar automaticamente mensagens específicas se tiver uma cadeia de identificação específica, que ocorre no texto da notificação. Neste caso, "update" provavelmente fará.

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 como killnot.sh . Isso matará notify-osd se uma determinada string ocorrer na notificação. Edite a linha match="update" para refletir a string de identificação na (s) notificação (ões) que você deseja matar. 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.sh para refletir o caminho real para o script 1 ( killnot.sh ) e salve-o como monitor_notifs.sh . Torne o script executável .

  3. Teste a configuração pelo comando:

    /path/to/monitor_notifs.sh
    

    Para testar, execute em outro terminal o comando:

    notify-send <identifying_string>
    

    A montagem 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.sh usa dbus-monitor da mesma forma que esta resposta . Executá-lo em segundo plano significa nada em seu sistema e só dispara notificações.

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

Com um pouco de edição do primeiro script, você pode fazer com que a configuração elimine as notificações em várias palavras-chave de uma só vez.

EDIT só executa o comando até que a bolha apareça

Se a notificação aparecer apenas após o login, como você mencionou na sua pergunta, você pode "aperfeiçoar" a solução para matar-se após interceptar o aviso de atualização:

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

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á então eliminado depois que ele fizer seu trabalho e você não tiver mais nenhum script de segundo plano em execução.

Mais perto de limpar você não pode entrar nessa situação.

    
por Jacob Vlijm 17.05.2016 / 23:03
1

Eu encontrei o arquivo /etc/xdg/autostart/update-notifier.desktop , que autoinicia o serviço update-notifier . Como você pode ou não saber, qualquer arquivo .desktop no diretório /etc/xdg/autostart iniciará qualquer comando dado pelo parâmetro Exec= .

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

    
por Sergiy Kolodyazhnyy 18.05.2016 / 11:14
1

Bug corrigido na última versão do gnome (ubuntu) -software link

    
por julian-alarcon 07.07.2016 / 18:07