我刚刚安装了 Ubuntu 18.04,并检查了所有 dotfile 脚本,以便尽可能自动地正确配置 Ubuntu。通过 gsettings 循环,我能够根据需要配置大多数设置,但我在 gsettings 中没有找到任何与“连接检查”相关的内容,这是 Ubuntu 18.04 LTS 中的新功能(至少 16.04 LTS 中没有包含此功能)。
我可以通过关闭连接检查,Settings -> Privacy
但是如何通过编程来做到这一点?只需卸载network-manager-config-connectivity-ubuntu
?我可以通过 gsettings 关闭其他隐私设置。
查看此包的文件列表https://packages.ubuntu.com/bionic/all/network-manager-config-connectivity-ubuntu/filelist表示只有一个设置文件(/usr/lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf
),但没有显示启用/禁用该功能的任何可能性。
任何帮助都将受到赞赏。
答案1
2022 年更新:请注意 - 即使这个答案被接受 - 根据 thaller 的评论,内部配置文件不应手动编辑。提到的解决方案是:将配置文件添加到 /etc/NetworkManager/conf.d 目录 -文档:
您可以将其他 .conf 文件添加到 /etc/NetworkManager/conf.d 目录。这些文件将按顺序读取,后面的文件将覆盖前面的文件。
或者使用 D-Bus:busctl --system set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager ConnectivityCheckEnabled "b" 0
(我自己还没有测试过这些选项)
原始答案:文件中有一个标志,/var/lib/NetworkManager/NetworkManager-intern.conf
如果您在 UI 中禁用该设置,则该标志设置为 false:
[connectivity]
.set.enabled=false
您可以使用该工具crudini
使用命令行或脚本设置标志:
sudo crudini --set /var/lib/NetworkManager/NetworkManager-intern.conf "connectivity" ".set.enabled" "false"
由于某种原因,直到重新启动后,用户界面才会更新(未测试注销/登录)。也许有其他命令行工具可以进行更改并确保用户界面也得到更新。
顺便说一句:我使用以下命令获取最近更改的文件(到目前为止仅检查了 /var 和 ~):
sudo find /var -newermt "-1 minute" -ls
gsettings 没有任何变化。我使用以下命令监视了设置:
dconf watch /
答案2
我只是想补充一点,您也可以通过简单地创建一个空文件来禁用连接检查:
sudo touch /etc/NetworkManager/conf.d/20-connectivity-ubuntu.conf
此文件将覆盖 中的任何设置/usr/lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf
。