使用 Unity 运行 16.04,每次登录后我都会在屏幕右上角看到这个烦人的通知气泡,提示有可用更新。
这不仅令人讨厌,而且通常甚至不是事实,因为我保留了一些不应该升级的软件包,但通知程序似乎并不关心。
我如何禁用可用更新的通知?
我不想完全禁用notify-osd。另外,我已经禁用了自动检查更新,因为我apt
无论如何都会手动执行此操作。
答案1
根据这个 Fedoraforum.org 帖子,您可以尝试禁用 GNOME 软件的自动下载更新:
gsettings set org.gnome.software download-updates false
该密钥的描述如下:
如果启用,GNOME 软件会在后台自动下载更新,并在准备好时提示用户安装。
我手头没有任何更新可供测试。
答案2
如何使用 dbus-monitor 拦截(终止)特定通知
你可以自动杀死具体的如果您有特定的标识字符串,该字符串出现在通知的文本中,则显示消息。在这种情况下,“更新”可能就足够了。
如何设置
将以下脚本复制到一个空文件中:
#!/bin/bash string=$1 match="update" if [[ $string == *$match* ]] then pkill notify-osd fi
将其另存为
killnot.sh
。notify-osd
如果通知中出现某个字符串,这将终止通知。编辑该行match="update"
以反映您想要终止的通知中的标识字符串。使脚本可执行。将以下脚本复制到一个空文件中:
#!/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 {}
编辑该行
scriptpath=/home/jacob/Bureaublad/killnot.sh
以反映脚本 1 的真实路径(killnot.sh
)并将其保存为monitor_notifs.sh
。使脚本可执行。通过以下命令测试运行设置:
/path/to/monitor_notifs.sh
为了测试,请在另一个终端运行以下命令:
notify-send <identifying_string>
该消息不应该出现。
如果一切正常,请将其添加到您的启动应用程序:Dash > 启动应用程序 > 添加。添加命令:
/path/to/monitor_notifs.sh
注释/说明
该脚本monitor_notifs.sh
使用的dbus-monitor
方式与这个答案. 在后台运行意味着没有什么到您的系统并仅触发通知。
这些通知发生时会作为参数传递给脚本killnot.sh
,但脚本不执行任何操作,除非标识字符串位于通知文本中。在这种情况下,它将终止notify-osd
。
对第一个脚本进行少许编辑,您可以同时设置多个关键字的终止通知。
编辑仅运行命令直到气泡出现
如果通知仅在登录后出现,正如您在问题中提到的那样,您可以在解决方案拦截更新通知后使其“智能化”以自行终止:
如果您在设置中完全按照指示命名脚本,则在脚本中添加一行killnot.sh
:
pkill -P "$( pgrep -f run_intercept )"
脚本变为:
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
pkill -P "$( pgrep -f run_intercept )"
fi
主脚本run_intercept
完成其任务后将被终止,并且不再有后台脚本在运行。
我认为,在这种情况下你无法接近清洁。
答案3
/etc/xdg/autostart/update-notifier.desktop
我找到了可自动启动该服务的文件update-notifier
。您可能知道也可能不知道,目录.desktop
中的任何文件/etc/xdg/autostart
都会启动参数给出的任何命令Exec=
。
要禁用它,您只需执行mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bak
此操作即可!重新启用则相反。
答案4
gnome(ubuntu)软件最新版本上的错误已修复https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382