我想编写一个脚本来切换家庭和工作之间的代理。我知道您可以使用来设置 wget 代理export http_proxy=proxy_address
,但这不是 GUI 将设置保存到的设置。
例如,Chrome 使用我在系统设置 -> 网络 -> 代理. 这些信息保存在哪里?
答案1
我两天前才找到了我的问题的解决方案。
为了能够在工作和家庭之间快速切换,我想编写一个脚本,一次性更改所有应用程序的代理配置。大多数应用程序都很简单,它们都有某种配置文件,我只需为其创建一份副本,用于工作和家庭。
但是,系统代理保存在 gconf 中。为了方便切换,我进入网络设置,将代理更改为手动,并输入代理的所有信息(主机和端口)。
然后,如果我想不使用代理上网,我只需执行以下命令:
gsettings set org.gnome.system.proxy mode 'none'
为了切换回代理连接,我必须使用以下命令:
gsettings set org.gnome.system.proxy mode 'manual'
无需再次指定主机和端口,因为它们已保存。但是,如果您必须使用多个代理,并且需要在不同的主机之间切换,则可以使用以下命令指定代理数据:
gsettings set org.gnome.system.proxy.http port 8080
gsettings set org.gnome.system.proxy.http host 172.16.1.1
更改立即生效。
答案2
代理身份验证存储在/etc/apt/apt.conf
文件中。但是您需要 root 权限才能编辑该文件。
编辑它的一种方法是:
gksu gedit /etc/apt/apt.conf
您可能需要先使用以下命令进行备份:
sudo cp /etc/apt/apt.conf /etc/apt/apt.conf.old