我正在运行 Fedora 27,我的大学使用网络身份验证门户,因此 GNOME 会弹出一个热点登录屏幕。我想禁用此屏幕,然后在 Firefox 中打开它,因为我的登录数据已经在那里。如何更改此设置?我检查了设置应用程序,没有可以更改的设置。
除非有更好的方法来通过强制门户。我看到提到了 WHISPr 协议。我的大学使用的强制门户是 Cisco Meraki。
答案1
要禁用它,在 Ubuntu 中是这样的(不知道它是否适用于 Fedora):
Open Settings
Select Privacy
Turn ‘network connectivity checking’ off
然而,Fedora 中的违规文件是/usr/libexec/gnome-shell-portal-helper
:您可以将其替换为不执行任何操作的 bash 脚本;之后您可以登录一次并将登录凭据保存在 Firefox 或 Firefox 插件中。
Cisco Meraki 确实支持 WISPr 协议,并且它可能是一个通过脚本或程序实现自动化登录过程的有趣场所。
答案2
从手册页:
CONNECTIVITY SECTION
This section controls NetworkManager's optional connectivity checking
functionality. This allows NetworkManager to detect whether or not the
system can actually access the internet or whether it is behind a
captive portal.
uri
The URI of a web page to periodically request when connectivity is
being checked. This page should return the header
"X-NetworkManager-Status" with a value of "online". Alternatively,
it's body content should be set to "NetworkManager is online". The
body content check can be controlled by the response option. If
this option is blank or missing, connectivity checking is disabled.
默认情况下,在 Fedora 上,该包NetworkManager-config-connectivity-fedora
将该配置放入/usr/lib/NetworkManager/conf.d/20-connectivity-fedora.conf
.您可以简单地删除该包(尽管这不能保证它不会回来)。如果您只是编辑该文件,您可能会发现它在升级时重新出现。所以,再次从手册页:
如果您的发行版的软件包提供了默认值
NetworkManager.conf
,则您不应修改它,因为您的更改可能会被软件包更新覆盖。相反,您可以将其他.conf
文件添加到该/etc/NetworkManager/conf.d
目录中。这些将按顺序读取,后面的文件覆盖前面的文件。包可能会将更多配置片段安装到/usr/lib/NetworkManager/conf.d
.该目录首先被解析,甚至在NetworkManager.conf
.脚本还可以将每次启动配置放入/run/NetworkManager/conf.d
.该目录是第二个解析的,也在 之前NetworkManager.conf
。/run/NetworkManager/conf.d/name.conf
可以通过添加文件来阻止 文件的加载/etc/NetworkManager/conf.d/name.conf
。同样,/usr/lib/NetworkManager/conf.d/name.conf
可以通过将同名文件放入 或 来/etc/NetworkManager/conf.d
隐藏 文件/run/NetworkManager/conf.d
。
所以,你需要在这里做的就是简单地
sudo touch /etc/NetworkManager/conf.d/20-connectivity-fedora.conf
这将在目录下创建一个空白文件/etc
,覆盖默认的/usr/lib
.这是许多现代 Linux 应用程序中的常见模式 - 随软件包一起提供的默认值位于下面/usr/lib
,并且可以在/etc
.