我想通过我的 Qt 应用程序设置系统代理地址。所以我想知道我是否可以编写一个脚本,每次更改代理地址时都可以由我的应用程序执行。
我试过 :
#! /bin/sh
echo "# Generated by Application"
export $1
echo "Proxy Address ${1}
但这个脚本没有成功。我认为它无法执行“导出”命令。
有人能帮我解决这个问题吗?
答案1
尝试这个:
#! /bin/sh
echo "# Generated by Application"
export http_proxy='http://$1/'
export ftp_proxy='http://$1/'
笔记:
- 你的参数字符串($1)应该是这样的
user_id:[email protected]:proxy_port
- 如果你不使用用户名和密码,那么参数字符串($1)应该是
proxy.server.addr:proxy_port
- 如果需要,您可以导出 https_proxy 和 socks_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
如果你有用户认证密码和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']"