WSL: proxyの切り替えスクリプト

WSL(Windows Subsystem for Linux)を講義で使用しているが、標準ではproxy切り替えのGUIツールがなく.bashrcの設定をいちいと書き直すのも手間がかかるのでスクリプトを作成した。proxy.shがプロキシ設定、noproxy.shがプロキシ設定解除。

切り替えスクリプト

  • proxy.shの中身は以下のスクリプト。なお、スクリプトは簡易的なプログラミング言語で機械語へのコンパイルをしないで、直接実行できる。
#!/usr/bin/bash
export ftp_proxy="ftp://プロキシ―サーバー名:ポート番号/"
export http_proxy="http://プロキシ―サーバー名:ポート番号/"
export https_proxy="https://プロキシ―サーバー名:ポート番号/"
echo "Set proxy"
echo $ftp_proxy
echo $http_proxy
echo $https_proxy
  • noproxy.shの中身は以下のスクリプト
#!/usr/bin/bash
export ftp_proxy=""
export http_proxy=""
export https_proxy=""
echo "Unset proxy"
  • 実行方法
    • proxy.shとnoproxy.shファイルをnanoなどのエディタで作成するかここからダウンロードして、ホームディレクトリ(/home/ユーザ名)に保存する。nanoの使い方はこのリンクを参考にして欲しい。なお、Windowsではホームディレクトリのパスは以下になる。Ubuntuのバージョンが違う場合は適時変えて欲しい。
      • \\wsl$\Ubuntu-20.04\home\ユーザ名
    •  実行
      • 移動
        • $ cd
      •  プロキシ設定
        • source ./proxy.sh
      • プロキシ解除
        • source ./noproxy.sh

apt用の設定

sudo コマンドを使ってUbuntuパッケージをインストールするときはユーザの環境変数は受け継がれない。sudoに-Eオプションを付けて環境変数を引き継ぐこともできるが毎回オプションを付けるのも面倒なので設定する。

  • 次のコマンドを実行する。
    • $ sudo visudo -f /etc/sudoers.d/proxy

nanoエディターが開くので、以下を追加して保存する。

Defaults env_keep="http_proxy"
Defaults env_keep+="https_proxy"
Defaults env_keep+="ftp_proxy"
  •  以下の表示コマンドを実行して、上の内容が表示されれば成功。
    • $ less /etc/sudoers.d/proxy

終り

コメント

Folding@home Kanazawa (ID 257261)

みんなのためにおうちで新型コロナウイルスを解析しよう!

タイトルとURLをコピーしました