如何禁用Snap“关闭应用以避免中断”通知?

Snap "Pending update of X snap" / "Close the app to avoid disruptions" 的通知对我来说很分散注意力,也没有什么用处,因为我的所有快照应用都不会因为自动关闭而丢失数据。我该如何禁用这些通知?

最简单的方法是-信不信由你-关闭应用程序,然后刷新快照。如果您禁用或忽略通知,那么当14天计时器归零时,该应用程序将无警告地终止,丢失任何未保存的数据。 - user535733
2我对于那些可能丢失数据的事情从不使用快照,所以在我的情况下这是可以的。也就是说,分散注意力的通知的成本远小于偶尔重新打开应用程序的成本。 - holocronweaver
@user535733 这是短期内最简单的解决办法。但从长远来看,我不想每周都被一些我不关心的应用更新分散注意力。 - DBedrenko
2个回答

重要提示:您将不会收到有关待处理的快照更新的通知,并且应用程序最终将自动关闭,根据应用程序的性质可能会丢失数据。如果您想控制快照更新发生的时间而不仅仅是禁用通知,请参阅这个其他答案

在GNOME中,您应该能够转到设置 > 通知 > Snapd用户会话代理并从那里关闭它们。

enter image description here

要手动更新Snaps,您可以偶尔访问“Ubuntu软件>更新”,或在终端中运行“snap refresh”。如果您更懂技术,还可以更改后台更新检查的时间并自动刷新,尽管据我所知,在升级之前仍然需要关闭应用程序:https://snapcraft.io/docs/keeping-snaps-up-to-date 希望Snap在未来能发展出一种更为隐秘的更新过程,只在罕见的关键更改时打扰用户,类似于移动应用商店甚至Ubuntu的原始软件包管理器“apt”。目前我们将不得不应对Snaps所带来的降低用户体验的问题,否则就删除所有Snaps并依赖于“apt”。

使用snap refresh --hold=forever命令可以阻止snap搜索更新;这样做应该可以防止应用程序自动更新并突然关闭。不过请注意,这样做可能会导致某些软件更新无法进行。
使用snap refresh --unhold命令可以重新启用更新。
如果你不想在每6个小时(这真的是一个明智的默认设置吗,snap团队!?)被更新打扰,但仍希望有时进行更新,那么可以使用sudo snap set system refresh.timer=sun,23:00-24:00命令,只在周日午夜左右检查更新。周一早上是处理这些事情的合适时间。

1虽然这并没有直接回答如何禁用通知的问题,但它是一个与控制快照更新时间相关的问题(我认为你的答案也会作为副作用停止通知?)。我使用了一种稍微激进/破解/或许更具未来性的方法,即通过编辑/etc/hosts文件来阻止api.snapcraft.io(https://askubuntu.com/a/1095104/29444),直到我准备好进行更新。很高兴知道还有一种更正式的命令行方法,可以设置自动计划的灵活性。 - holocronweaver
@Thismatters请问如何将“snap set system refresh.timer”的默认值移动? - McPeter
snap refresh --time 会显示您系统上的当前设置。默认情况下,它设置为 00:00~24:00/4,这意味着每隔6小时进行一次检查。Snapcraft 在此处有一个描述计时器字符串格式的页面:https://snapcraft.io/docs/timer-string-format - Mike Hicks