Ubuntuのシステム全体のプロキシ設定


22

私も大学のプロキシサーバーでインターネットを使用したかったのですが、認証も必要です。私はグーグルで解決策を検索しましたが、これまでで最高の解決策が見つかりました。承認済みの回答のスクリプト変更して、認証を含めました。ここに行く:

if [ $(id -u) -ne 0 ]; then
echo "This script must be run as root";
exit 1;
fi

if [ $# -eq 4 ] then

gsettings set org.gnome.system.proxy mode 'manual' ;
gsettings set org.gnome.system.proxy.http host '$1';
gsettings set org.gnome.system.proxy.http port $2;
gsettings set org.gnome.system.proxy.http authentication-user '$3';
gsettings set org.gnome.system.proxy.http authentication-password '$4';


grep PATH /etc/environment > lol.t;
printf \
"http_proxy=http://$3:$4@$1:$2/\n\
 https_proxy=http://$3:$4@$1:$2/\n\
 ftp_proxy=http://$3:$4@$1:$2/\n\
 no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
 HTTP_PROXY=http://$3:$4@$1:$2/\n\
 HTTPS_PROXY=http://$3:$4@$1:$2/\n\
 FTP_PROXY=http://$3:$4@$1:$2/\n\
 NO_PROXY=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n" >> lol.t;

 cat lol.t > /etc/environment;


 printf \
 "Acquire::http::proxy \"http://$3:$4@$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$3:$4@$1:$2/\";\n\
  Acquire::https::proxy \"https://$3:$4@$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

else

printf "Usage $0 <proxy_ip> <proxy_port> <username> <password>\n";

fi

ただし、オンラインアカウントはまだ機能しません(rhythmboxおよびその他のGTK3プログラムと同じ)。次のような白い画面が表示されます。

ここに画像の説明を入力してください

それを解決する方法についての提案はありますか?


回答:


31

最終的に解決しました:

(手順を順番に実行します)

1. rhythmboxやオンラインアカウントなどのgtk3プログラムの場合:

最初に、ネットワーク設定でプロキシ設定を入力する必要があります(認証とともに):

ここに画像の説明を入力してください

次に、システム全体に適用します。

2. apt、ソフトウェアセンターなど

ファイルを編集する /etc/apt/apt.conf

そして、すべての既存のテキストを次の行に置き換えます

Acquire::http::proxy "http://username:password@host:port/";
Acquire::ftp::proxy "ftp://username:password@host:port/";
Acquire::https::proxy "https://username:password@host:port/";

3.環境変数

ファイルを編集する /etc/environment

そして、PATH = "something here"の後に次の行を追加します

http_proxy=http://username:password@host:port/
ftp_proxy=ftp://username:password@host:port/
https_proxy=https://username:password@host:port/

それで全部です..


1
ステップ1)は/ etc / environmentを変更しますか?コマンドライン経由でその手順を実行する方法が欲しいです。
ルーカス

ステップ1)apt-get updateも同様に機能するようです。したがって、ステップ2)は必要ありません。
smwikipedia

@Ramanこれを行うときにパスワードの特殊文字をエスケープする必要がありますか?もしそうなら、どのように?
code_dragon

2

wgetプロキシでパッケージをダウンロードするには、/ etc / environmentでセットアップする必要があり、apt-getプロキシでパッケージをダウンロードするには、/ etc / apt / apt.confでセットアップする必要があります。


2
回答を詳しく説明してください。現在のところ、有用な情報はあまり提供されていません。
バイトコマンダー

1
Ask Ubuntuへようこそ!この回答を編集して、これを行う方法に関する具体的な詳細を追加することをお勧めします。(Ask Ubuntuでどのような回答が最も価値があると考えられるについての一般的なアドバイスについては、「良い回答を書くにはどうすればよいですか?」も参照してください。)
David Foerster

1

ようにするにはwget、プロキシとの仕事を、私が作成することも追加することになります.wgetrc含む、あなたのホームディレクトリに:

http_proxy = http://proxy:port/
https_proxy = http://proxy:port/
proxy_user = user
proxy_password = password
use_proxy = on
wait = 15

1

もちろん、それだけではありません。さらにいくつかのプログラム(npmcurlおよびgit):

npm config set proxy $HTTP_PROXY
npm config set https-proxy $HTTPS_PROXY
npm config set strict-ssl false
echo "proxy = $HTTP_PROXY" > ~/.curlrc
echo "noproxy = $NO_PROXY" >> ~/.curlrc
git config --global http.proxy $HTTP_PROXY
git config --global https.proxy $HTTPS_PROXY

Mavenの場合、編集します~/.m2/settings.xml。IntelliJもグローバル設定を取得しないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.