우분투의 시스템 전체 프록시 설정


22

대학 프록시 서버에서 인터넷을 사용하고 싶었고 인증도 필요했습니다. Google에서 솔루션을 검색했으며 아직 찾은 최고의 솔루션은 다음과 같습니다 . 나는 한 스크립트를 수정 인증을 포함하도록 허용 대답. 여기 간다:

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

그러나 온라인 계정은 여전히 작동하지 않습니다 (리듬 박스 및 기타 GTK3 프로그램과 동일) . 흰색 화면이 다음과 같이 나타납니다.

여기에 이미지 설명을 입력하십시오

어떻게 해결할 수 있습니까?


답변:


31

마침내 해결되었습니다.

(단계를 순차적으로 수행)

1. 리듬 박스 및 온라인 계정과 같은 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"뒤에 다음 줄을 추가하십시오.

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를 변경합니까? 커맨드 라인을 통해 그 단계를 수행하는 방법을 원합니다.
Lucas

단계 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

물론 전부는 아닙니다. 더 많은 프로그램 ( npm, curlgit) :

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.