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 apt
qualquer 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
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á eliminadonotify-osd
se uma determinada string ocorrer na notificação. Edite a linhamatch="update"
para refletir a string de identificação nas notificações que você deseja eliminar.Torne o script executável.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 comomonitor_notifs.sh
.Torne o script executável.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.
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 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.sh
script:
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.desktop
que inicia automaticamente o update-notifier
serviço. Como você pode ou não saber, qualquer .desktop
arquivo no /etc/xdg/autostart
diretó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.bak
e 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