首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用ubuntu-system-service来设置系统范围的代理设置?

是否可以使用ubuntu-system-service来设置系统范围的代理设置?
EN

Ask Ubuntu用户
提问于 2013-03-27 20:52:10
回答 2查看 1.3K关注 0票数 1

我正在使用GNOME-3运行Ubuntu-Studio12.10,并尝试在/etc/ network /if-up.d中设置bash脚本,以便根据连接到的网络的SSID自动配置代理设置。我无法使用以下任何一种方法使get自动工作:

代码语言:javascript
复制
gsettings set org.gnome.system.proxy mode "manual"
sudo -u blaine gsettings set org.gnome.system.proxy mode "manual"
su blaine -c 'gsettings set org.gnome.system.proxy mode "manual"'

此外,我希望脚本可以更改环境变量http_proxy、https_proxy等等,这样像Wine这样的东西就可以识别它们,而不必重新登录和登录,五天的谷歌搜索告诉我这是不可能的。

只是-我知道这是可以做到的。统一中的“应用系统范围”按钮不需要重新登录就可以完成所有这些工作。一些进一步的调查显示,这个文章显示按钮可以访问com.ubuntu.systemservice.setProxy,这可能是ubuntu系统服务包的一部分。

是否可以使用ubuntu系统服务通过bash、终端或类似的方式设置系统范围的代理?

EN

回答 2

Ask Ubuntu用户

发布于 2013-11-13 19:19:55

如果有人还在寻找解决方案,下面是我的发现。Ubuntu通过ubuntu系统服务包公开DBus服务,但我不熟悉DBus。

但是,检查源代码(不是开放源码很好吗?)时,setProxy操作做了两件事:

  1. 修改系统范围内的环境
  2. 修改APT使用的代理设置

对于第一种情况,修改/etc/environment中的文件。第二种情况稍微复杂一些--扫描/etc/apt/apt.conf.d中的文件,以查找匹配获取:代理的行,其中的值将被替换。如果没有匹配的行,则向每个APT conf文件中添加一个代理行(如上面所示)。

相关文件位于UbuntuSystemService/backend.py (~line 209 @Version0.2.5)中。

在回答您的问题时,您可以进行与相同的更改,也可以尝试使用DBus来解决这个问题:

代码语言:javascript
复制
dbus-send --system --print-reply --dest=com.ubuntu.SystemService --type=method_call / com.ubuntu.SystemService.set_proxy string:'http' string:'127.0.0.1:8080'

由于某些原因,我在这个问题上的回答一直都是错误的,但你也许能搞清楚。

票数 2
EN

Ask Ubuntu用户

发布于 2015-02-20 03:23:54

此返回为true:

sudo -发送--系统--打印--应答--dest=com.ubuntu.SystemService --type=method_call / com.ubuntu.SystemService.set_proxy string:'http‘字符串:’http://127.0.0.1:8081

我发现您必须在它的前缀加上code: http,来自以下代码:

https://github.com/linuxmint/cinnamon-control-center/blob/master/debian/patches/50_ubuntu_全系统_proxy.patch#L81

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/274200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档