如何使用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']"