シェル スクリプトを使用してシステム全体のプロキシ アドレスを設定する方法は?

シェル スクリプトを使用してシステム全体のプロキシ アドレスを設定する方法は?

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

  • ユーザーIDとパスワードを使用しない場合は、引数文字列($1)は

proxy.server.addr:proxy_port

  • 必要に応じて https_proxy と socks_proxy をエクスポートできます。
  • プロキシが設定されているかどうかを確認するには、env | grep proxy

シェル スクリプトを使用してシステム プロキシを変更するには、次を試してください。

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']"

関連情報