Xubuntu, Lubuntu 또는 Ubuntu Studio에서 시스템 전체 프록시 서버를 설정하는 방법


82

어디에서나 프록시 설정을 찾을 수 없습니다. 터미널을 통해 설정해야합니까, gconftools아니면 일부 GUI가 있습니까?

답변:


114

Ubuntu Studio, Xubuntu 및 XFCE의 시스템 전체 프록시는 환경 변수를 통해 설정해야합니다

Xubuntu와 마찬가지로 Ubuntu Studio 는 기본 Ubuntu 데스크톱 환경 인 Unity와 달리 그래픽 설정 도구가 포함되어 있지 않은 XFCE 데스크톱 환경을 사용합니다 .

1. 대부분의 프로그램에 프록시 / 프록시 설정

  • (또는 선호하는 편집기)로 /etc/environment파일을 엽니 다 gksudo leafpad. 이 파일은 부팅시 초기화 된 시스템 전체 변수를 저장합니다.
  • 적절하게 수정하여 다음 줄을 추가하십시오. (불행히도) 일부 프로그램은 하나만 찾아야하기 때문에 대문자와 소문자로 복제해야합니다.

    http_proxy = http : //myproxy.server.com : 8080 /
    https_proxy = http : //myproxy.server.com : 8080 /
    ftp_proxy = http : //myproxy.server.com : 8080 /
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = http : //myproxy.server.com : 8080 /
    HTTPS_PROXY = http : //myproxy.server.com : 8080 /
    FTP_PROXY = http : //myproxy.server.com : 8080 /
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    

2. 그런 다음 Rhythmbox와 같은 GTK3 프로그램에 대한 프록시를 설정하십시오.

Rhythmbox와 같은 일부 최신 GTK3 프로그램은 위에서 설정 한 환경 변수를 무시하고 대신 그놈 설정에 의존합니다. 그것들이 덮여 있는지 확인하려면 터미널을 열고 아래를 한 줄씩 붙여 넣어 적절히 수정하십시오.

gsettings set org.gnome.system.proxy mode 'manual' 
gsettings set org.gnome.system.proxy.http host 'myproxy.server.com'
gsettings set org.gnome.system.proxy.http port 8080

3. 마지막으로 apt-getUpdate Manager 용 프록시를 설정하십시오.

  • 이러한 프로그램은 환경 변수에도 따르지 않습니다. 라는 파일 만들기 95proxies에을 /etc/apt/apt.conf.d/하고 다음을 포함한다 :

    획득 :: http :: proxy "http://myproxy.server.com:8080/";
    획득 :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    획득 :: https :: proxy "https://myproxy.server.com:8080/";
    

마지막으로, 로그 아웃 한 후 재부팅하여 변경 사항을 적용하십시오.


출처 : 1 , 2 , 3 . 프록시를 빠르게 켜고 끄는 스크립트를 포함한 추가 도움말은 특히 1을 참조하십시오.


프록시 서버를 켜거나 끄는 스크립트 :

면책 조항 : : 계속하기 전에 Lubuntu 14.04 에서이 작업을 시도했으며 언급 한 스크립트를 실행하기 전에 파일에 /etc/environment한 줄만 있어야합니다 (예 : '$ PATH ...'). 그렇지 않으면 스크립트 코드를 수정해야 할 수도 있습니다. 이 스크립트는 위에서 설명한대로 프록시를 설정 및 설정 해제하지만 파일 잘림 및 파일 추가 /etc/environment및 변경 에 /etc/apt/apt.conf.d/95proxies파일을 사용합니다. 따라서 다음을 확인하십시오.

1) /etc/environment한 줄만 포함합니다 (예 : '$ PATH : ...'). 그리고 다른 것은 없습니다.

2) 파일 /etc/apt/apt.conf.d/95proxies이 존재하지 않거나 중요한 파일 이 없습니다.

그래서! 할당량을 입력하지 않고 프록시를 켜고 끄는 프로세스를 자동화하려는 경우. 다음 proxyon.shproxyoff.sh같이 두 개의 실행 가능한 쉘 스크립트를 만들 수 있습니다 .

proxyon.sh:

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

if [ $# -eq 2 ]
  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;


  grep PATH /etc/environment > lol.t;
  printf \
  "http_proxy=http://$1:$2/\n\
  https_proxy=http://$1:$2/\n\
  ftp_proxy=http://$1:$2/\n\
  no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
  HTTP_PROXY=http://$1:$2/\n\
  HTTPS_PROXY=http://$1:$2/\n\
  FTP_PROXY=http://$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://$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$1:$2/\";\n\
  Acquire::https::proxy \"https://$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

  rm -rf lol.t;

  else

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

fi

proxyoff.sh:

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

gsettings set org.gnome.system.proxy mode 'none' ;

grep PATH /etc/environment > lol.t;
cat lol.t > /etc/environment;

printf "" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

사용 방법 : 일단 스크립트를 작성하고 실행 가능하게하면 원하는 위치에 유지할 수 있습니다. 프록시를 켜려면 'proxyon.sh'스크립트가 포함 된 디렉토리로 이동 한 다음을 입력해야합니다 sudo ./proxyon.sh {host} {port}. 예를 들어 이것을 고려하십시오.

 $ sudo ./proxyon.sh 10.2.20.17 8080
 OR
 $ sudo ./proxyon.sh myproxy.server.com 8080

여기서 '10 .2.20.17 '은 프록시 서버의 IP입니다. myproxy.server.com과 같은 것을 입력 할 수 있으며'8080 '은 포트입니다. 그런 다음 로그 아웃하고 계정에 로그인하여 모든 것이 설정되었는지 확인하십시오. 인터넷 등을 사용하여 시작할 수 있습니다. 프록시를 끄려면 'proxyoff.sh'가 포함 된 디렉토리로 이동하여 다음을 입력하십시오.

 $ sudo ./proxyoff.sh

그러면 모든 프록시가 설정 해제됩니다. 이제 로그 아웃했다가 다시 로그인하여 일반 모드로 전환하십시오.



apt-get 프록시에 대한 인증이 필요한 경우 다음과 같이 설정할 수 있습니다. Acquire :: http :: proxy " user : pass@myproxy.server.com : 8080 ";
Jim Ford

3
위의 내용은 저에게 효과적이었습니다. 그러나 프록시가없는 직장에서 랩톱을 집으로 가져 가면 인터넷에 연결할 수 없습니다. 구성 파일을 회전하거나 재부팅하지 않고 집에 돌아갈 때 프록시를 다시 비활성화하는 바로 가기 방법이 있습니까? 그것은 대답에 좋은 추가 일 것입니다.
TenLeftFingers

공용 WiFi를 사용하는 동안 보안을 유지하기 위해 localhost : 10001의 PuTTY Socks5 프록시를 통해 모든 웹 페이지 요청을 전달하도록 Chromium 브라우저 (Xubuntu 16.04 LTS)를 구성하려고합니다. 집을 떠나 위의 지침은 Socks5 프록시가 작동하지 않는 것처럼 보이기 때문에 이해할 수 있습니다. (참고 : FireFox 내에서 프록시 설정을 내부적으로 설정할 수 있기 때문에 Firefox는 쉽습니다.하지만 프록시를 통해 DNS 요청을하는 경우에도 Chromium에 프록시를 설정하고 apt-get도 설정하고 싶습니다.)
Gabriel Staples

Socks 5 프록시 지침 / 수정을 추가 할 수 있다면 도움이 될 것입니다. 감사!
Gabriel Staples

8

그래픽 인터페이스 (GUI)를 통해 전체 시스템 프록시를 설정하는 UbProxy라는 그래픽 도구가 있습니다. 나에게 유일한 문제는 구성을로드하기 위해 사용자를 로그 아웃하고 다시 로그인해야한다는 것입니다. 사용하기 매우 간단합니다. https://code.google.com/p/ubproxy/


유망 해 보인다.
Dee

WiFi에 연결하거나 유선 네트워킹을 연결할 때 서로 다른 응용 프로그램에 필요한 모든 다양한 프록시 설정을 자동으로 구성 할 수 있습니다. 참조 : gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
리처드 고메즈

3

나는 그것을 처리하기위한 몇 가지 기능이 있습니다. 다음과 같이 호출하십시오.

myProxyOn

https://gist.github.com/fernando-basso/6352040

#!/usr/bin/env bash

# gsettings list-recursively org.gnome.system.proxy

# Change de ip address and port number accordingly.
function myProxyOn() {
    gsettings set org.gnome.system.proxy mode 'manual' # ' manual / nome / automatic '
    gsettings set org.gnome.system.proxy.http host '10.0.0.1'
    gsettings set org.gnome.system.proxy.http port 8080
    gsettings set org.gnome.system.proxy.https host '10.0.0.1'
    gsettings set org.gnome.system.proxy.https port 8080
    gsettings set org.gnome.system.proxy.ftp host '10.0.0.1'
    gsettings set org.gnome.system.proxy.ftp port 8080

    echo "Configuração do 'System Proxy' settada para 'manual', com host 10.0.0.1, port 8080."
}

function myProxyOff() {
    gsettings set org.gnome.system.proxy mode 'none' # ' manual / nome / automatic '
    echo "Proxy cofigurado para 'none'."
}

function proxyOn() { # {{{
    #echo -n 'Username: '
    #read -e username
    #echo -n 'Password: '
    #read -es password
    #echo ''
    echo 'Setting variable "http_proxy"...'
    #export http_proxy="http://$username:$password@172.17.0.1:8080/"
    export http_proxy="http://10.0.0.1:8080/"
    echo 'Setting variable "https_proxy..."'
    export https_proxy="https://10.0.0.1:8080/"
    echo 'Setting variable "ftp_proxy"...'
    #export ftp_proxy="http://$username:$password@172.17.0.1:8080/"
    export ftp_proxy="ftp://10.0.0.1:8080/"
    echo 'Done!'
}

function proxyOff() {
    unset HTTP_PROXY
    unset http_proxy
    unset FTP_proxy
    unset ftp_proxy
    echo -e "\nProxy environment variables removed!"
}

1
그것은 암호를 텍스트 파일에 저장하는 끔찍한 제안입니다
BЈовић

1
@ BЈовић : 당신 말이 맞아요. 제 경우에는 공용 유니 프록시 암호이므로 중요하지 않습니다.
페르난도 바소

양말 프록시를 구성하는 방법에 대한 아이디어가 있습니까?
Gabriel Staples

0

/etc/apt/apt.conf.d의 proxy95 파일을 통해 apt-get tweak를 위해 전체 시스템을 다시 시작할 필요는 없습니다.

  • 파일이 작성된 직후에 작동합니다.
  • 파일이 사라지면 즉시 사라집니다.

필요한 경우 프록시를 빠르게 전환하려면 파일 이름을 * .bak로 바꾸어 스크립트를 활성화 및 비활성화하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.