2009年1月14日

用python修改gnome网络代理

在家里用无线网络,不需要设置代理;在公司用局域网,需要指定代理才能上网。每次在两个地方换来换去都要手工切换代理。本来就是非常机械化的动作,干嘛不用程序自动解决呢?

今天试了一下写一个python的程序去修改代理设置,但是发现一个奇怪的问题:
用 gnome-network-preferences 修改代理地址和代理端口后 gconf-editor 中可以看到 /system/http_proxy/ 里面的值会发生变化,包括 host,port,use_http_proxy。修改以后 GNOME 全局的代理配置都会发生变化。
但是,用 gconf-editor 修改这些值以后,gnome-network-preferences 的配置项不会变化,GNOME 全局的代理配置也没有变化,修改不生效。

很奇怪啊。。。。。

上网查了一下,有人将这一情况作为BUG提交了。需要修改的地方是 /system/proxy/mode 。

https://bugs.launchpad.net/ubuntu/+source/gconf/+bug/290995
https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/271108

在 gnome-network-preferences 里面启用和禁用代理服务器后,/system/http_proxy/use_http_proxy 和 /system/proxy/mode 两个地方都被修改。可能其中一个值是历史遗留的吧。

没有评论: