如何使用shell脚本设置系统范围的代理地址?
我想通过我的Qt应用程序设置系统代理地址。 所以我想知道我是否可以编写一个脚本,每次都可以由我的应用程序执行以更改代理地址。
我试过了 :
#! /bin/sh echo "# Generated by Application" export $1 echo "Proxy Address ${1}
但是这个脚本没有成功。 我认为它无法执行“export”命令。
任何人都可以帮我解决这个问题吗?
试试这个:
#! /bin/sh echo "# Generated by Application" export http_proxy='http://$1/' export ftp_proxy='http://$1/'
注意:
- 你的参数字符串($ 1)应该是这样的
user_id:pass@proxy.server.addr:proxy_port
- 如果你不使用userid和密码,那么参数字符串($ 1)应该是
proxy.server.addr:proxy_port
- 如果需要,可以导出https_proxy和socks_proxy。
- 要查看您的代理是否已设置,请使用
env | grep proxy
env | grep proxy
要使用shell脚本更改系统代理,请尝试以下方法
gsettings set org.gnome.system.proxy mode 'manual' gsettings set org.gnome.system.proxy.http enabled true gsettings set org.gnome.system.proxy.http host 'proxy.server.addr' gsettings set org.gnome.system.proxy.http port proxy_port
如果您有用户身份validation传递和ID
gsettings set org.gnome.system.proxy.http authentication-user 'user_id' gsettings set org.gnome.system.proxy.http authentication-password 'password'
将http_proxy用于所有其他代理
gsettings set org.gnome.system.proxy use-same-proxy true
为任何主机设置绕过代理
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.1', 'all', 'other', 'hosts']"