为什么即使我在 Fedora 35 上正确设置了 uri 配置,NetworkManger 仍会弹出 nmcheck.org?

为什么即使我在 Fedora 35 上正确设置了 uri 配置,NetworkManger 仍会弹出 nmcheck.org?

我遇到过一个问题,默认浏览器窗口弹出 nmcheck.gnome.org,然后立即关闭。此外,右上角的 gnome wifi 图标上有一个问号。我知道我已连接到互联网,因为我已经验证过了。问题出在哪里,我该如何解决?

为了解决这个问题,我在之前的尝试中做了以下改变:

一个/etc/NetworkManager/conf.d/99-conectivity.conf文件(您的文件名称可能不同)并设置以下内容。

[connectivity]
uri=http://nmcheck.gnome.org/check_network_status.txt

我也已将上述内容添加到/etc/NetworkManager/NetworkManager.conf

答案1

问题的根源是服务器响应了 302 重定向到 https 端点,而不是带有内容的 200。已修复(2022 年 12 月),它应该适用于您的配置。


截至 2022 年 12 月 13 日,nmcheck.gnome.org服务器的响应未返回标头“X-NetworkManager-Status”,这似乎影响了 NetworkManager 的行为。

根据 NetworkManager 的文档,这不是必需的,但它不能正常工作,相比之下,ubuntu 的服务器返回正确的标题,但返回的内容为空,这使得 NetworkManager 很满意(至少在 NM 1.40.6 版本中)。

添加

uri=http://connectivity-check.ubuntu.com/
response=

该文件/etc/NetworkManager/conf.d/20-connectivity.conf修复了该问题。

编辑:仔细检查后发现,使用 http 的响应nmcheck.gnome.org是重定向到 https,uri=https://...如果您不必登录网络,只需使用即可,但在许多情况下,https 下的第一个请求不起作用。因此,现在请继续使用 ubuntu 服务器,直到 gnome 修复响应。

您还可以使用其他网站,例如http://httpbin.org/http://example.org/或任何具有适当内容的类似网站,或者只需传递空响应即可。

编辑:gnome 的服务器已于 2022 年 12 月 16 日(今天)修复,现在它以正确的内容响应 http 请求,而不是 302 重定向,因此uri=http://nmcheck.gnome.org/check_network_status.txt现在应该可以使用了。

答案2

这是解决问题的方法。这是由于您的配置和 fedora 设置的系统配置混淆而导致的。很简单,删除您制作的所有文件,因为 fedora 在文件中已经有自己的 nmcheck url/lib/NetworkManager/conf.d/20-connectivity-fedora.conf

你可以通过命令亲自查看NetworkManager --print-config。它将你的配置和系统配置混合在一起。更改后只需重新启动网络管理器,sudo systemctl restart NetworkManger或者最好重新启动系统。

您的问题现在应该已经解决,不会再出现弹出窗口。您也可以禁用此网络检查行为,但为此您必须查看另一个指南。

相关内容