RHEL/CentOS 8下gsettings与Network Manager GUI代理配置不同步问题
RHEL/CentOS 8下Network Manager GUI与gsettings代理设置不同步且覆盖问题
在C++程序中通过gsettings设置自动PAC代理(autoconfig-url)时,出现以下问题:
- Network Manager GUI的代理设置与gsettings不同步
- 关闭Network Manager GUI后,它会覆盖gsettings中的代理设置
该问题仅在RHEL/CentOS 8上出现,Ubuntu 18.04和20.04中Network Manager GUI与gsettings可保持同步。
复现步骤
1. 编程方式设置gsettings
1a. 通过系统调用设置
std::string cmd = "gsettings set org.gnome.system.proxy mode auto"; system(cmd.c_str()); cmd = "gsettings set org.gnome.system.proxy autoconfig-url http://1.2.3.4/proxy.pac"; system(cmd.c_str());
1b. 通过GTK库设置
GSettings *settings; settings = g_settings_new ("org.gnome.system.proxy"); g_settings_set_string(settings, "mode", "auto"); g_settings_set_string(settings, "autoconfig-url", "http://1.2.3.4/proxy.pac"); g_settings_sync();
2. 终端验证gsettings设置
$ gsettings get org.gnome.system.proxy mode 'auto' $ gsettings get org.gnome.system.proxy autoconfig-url 'http://1.2.3.4/proxy.pac'
3. 打开Network Manager GUI
观察到GUI中的代理设置与gsettings中的配置不同步。
4. 关闭Network Manager GUI
无需对GUI做任何修改,直接关闭。
5. 再次验证gsettings设置
$ gsettings get org.gnome.system.proxy mode 'none' $ gsettings get org.gnome.system.proxy autoconfig-url ''
内容的提问来源于stack exchange,提问作者anshah
相关产品推荐
相关产品推荐

