Hvordan setter jeg proxy-servere for hele systemet i Xubuntu, Lubuntu eller Ubuntu Studio?

Jeg finner ikke proxy-innstillingene noe sted. Må jeg stille den inn via terminal, via gconftools eller finnes det en GUI for det?

Løsning

Systemomfattende proxyer i Ubuntu Studio, Xubuntu og XFCE må angis via miljøvariabler###.

Ubuntu Studio bruker, i likhet med Xubuntu, skrivebordsmiljøet XFCE, som ikke inneholder et grafisk innstillingsverktøy for å angi proxyer for hele systemet (i motsetning til Ubuntus standard skrivebordsmiljø, Unity).

1. Konfigurer proxy/proxyer for de fleste programmer###.

  • Åpne filen /etc/environment med gksudo leafpad (eller din favoritteditor). Denne filen lagrer de systemomfattende variablene som initialiseres ved oppstart.

  • Legg til følgende linjer, og modifiser dem på riktig måte. Du må duplisere med både store og små bokstaver fordi (dessverre) noen programmer bare ser etter det ene eller det andre:

    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. Sett deretter opp proxyer for GTK3-programmer som Rhythmbox:

Noen nyere GTK3-programmer, for eksempel Rhythmbox, ignorerer miljøvariablene som er angitt ovenfor, og bruker Gnome-innstillingene i stedet. For å forsikre deg om at de er dekket, åpner du en terminal og limer inn nedenstående linje for linje, og endrer det som passer:

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. Til slutt setter du opp proxyene for apt-get og Update Manager###.

  • Disse programmene vil heller ikke følge miljøvariablene. Opprett en fil kalt 95proxies i /etc/apt/apt.conf.d/, og inkluder følgende:

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

Logg til slutt ut og start på nytt for å sikre at endringene trer i kraft.


Kilder: 1, 2, 3. Se spesielt 1 for ytterligere hjelp, inkludert et skript for raskt å slå på/av proxyene.


Skript for å slå proxy-serveren på/av:

Ansvarsfraskrivelse:: Før du fortsetter, vær oppmerksom på at jeg har prøvd dette på Lubuntu 14.04, og det er VIKTIG at filen /etc/environment bare skal inneholde én linje, dvs. '$PATH...' før du kjører de nevnte skriptene, og at det ikke skal være noe annet i filen, ellers må du kanskje endre koden i skriptet. Disse skriptene aktiverer og deaktiverer proxyen som beskrevet ovenfor, men de er avhengige av filavkorting og filtillegg for å endre filene /etc/environment og /etc/apt/apt.conf.d/95proxies. Så sørg for at:

  1. /etc/environment bare inneholder én linje, dvs. '$PATH:...'. Og ikke noe annet.

  2. Filen /etc/apt/apt.conf.d/95proxies ikke eksisterer eller ikke inneholder noe viktig. noe viktig i den.

Hvis du vil automatisere prosessen med å slå proxyen av og på uten å måtte skrive inn alt, kan du lage to kjørbare skallskript proxyon.sh og proxyoff.sh som:

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  \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;

Hvordan bruke: Når du har laget disse skriptene, kan du gjøre dem kjørbare og oppbevare dem hvor du vil. For å slå på proxy er alt du trenger å gjøre å gå til katalogen som inneholder skriptet 'proxyon.sh' og deretter skrive sudo ./proxyon.sh {host} {port}. {port}. Ta dette som et eksempel:

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

Hvor '10.2.20.17' er proxyserverens IP - du kan også skrive noe sånt som myproxy.server.com - og '8080' er porten. Deretter er det bare å logge ut og logge inn på kontoen din for å kontrollere at alt er i orden. Deretter kan du begynne å bruke Internett. Og når du vil slå av proxyen, går du til katalogen som inneholder 'proxyoff.sh' og skriver:

 $ sudo ./proxyoff.sh

Dette vil slå av alle proxyene dine. Logg ut og logg inn igjen for å bytte til normal modus.

Kommentarer (10)

Det er ikke nødvendig å starte hele systemet på nytt for apt-get tweak via proxy95-filen i /etc/apt/apt.conf.d.

  • Den fungerer bare umiddelbart etter at filen er skrevet, og
  • den er borte umiddelbart etter at filen forsvinner.

Vurder skript for å aktivere og deaktivere filen ved å omdøpe den til *.bak for raskt å bytte proxy om nødvendig.

Kommentarer (0)

Gå til Dash Home type Systeminnstillinger, klikk på systeminnstillinger og deretter på nettverk.proxy-innstillingene blir synlige for deg. Klikk på system wide. Det kan fungere som i systemproxy-innstillingene.

Kommentarer (2)