Come posso impostare server proxy a livello di sistema in Xubuntu, Lubuntu o Ubuntu Studio?


83

Non riesco a trovare le impostazioni del proxy da nessuna parte. Devo impostarlo tramite il terminale, tramite gconftoolso c'è qualche interfaccia grafica presente per esso?

Risposte:


115

I proxy a livello di sistema in Ubuntu Studio, Xubuntu e XFCE devono essere impostati tramite variabili di ambiente

Ubuntu Studio, come Xubuntu, utilizza l'ambiente desktop XFCE che non contiene uno strumento di impostazioni grafiche per impostare proxy a livello di sistema (a differenza dell'ambiente desktop Ubuntu predefinito, Unity ).

1. Configurare il proxy / proxy per la maggior parte dei programmi

  • Apri il /etc/environmentfile con gksudo leafpad(o il tuo editor preferito). Questo file memorizza le variabili di sistema inizializzate all'avvio.
  • Aggiungi le seguenti righe, modificando in modo appropriato. Devi duplicare sia in maiuscolo che in minuscolo perché (sfortunatamente) alcuni programmi cercano solo l'uno o l'altro:

    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. Quindi impostare i proxy per i programmi GTK3 come Rhythmbox:

Alcuni programmi GTK3 più recenti come Rhythmbox ignorano le variabili di ambiente impostate sopra e si affidano invece alle impostazioni di Gnome. Per assicurarsi che siano coperti, apri un terminale e incolla il seguente riga per riga, modificando come appropriato:

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. Infine, imposta i proxy per apt-gete Update Manager

  • Questi programmi non obbediranno neanche alle variabili d'ambiente. Creare un file chiamato 95proxiesin /etc/apt/apt.conf.d/, e sono i seguenti:

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

Infine, disconnettersi e riavviare per assicurarsi che le modifiche abbiano effetto.


Fonti: 1 , 2 , 3 . Vedi 1 in particolare per ulteriore aiuto, incluso uno script per attivare / disattivare rapidamente i proxy.


Script per l'attivazione / disattivazione del server proxy :

Dichiarazione di non responsabilità:: prima di procedere, notare che ho provato questo su Lubuntu 14.04 ed è IMPORTANTE che prima di eseguire gli script citati, il file /etc/environmentdovrebbe contenere solo una riga, ad esempio '$ PATH ...' e non ci dovrebbe essere nient'altro nel file, altrimenti potresti dover modificare il codice dello script. Questi script impostano e disinseriscono il proxy come descritto sopra, ma si basano sul troncamento dei file e sull'aggiunta dei file alle modifiche /etc/environmente ai /etc/apt/apt.conf.d/95proxiesfile. Quindi assicurati che:

1) /etc/environmentcontiene solo una riga, ad esempio '$ PATH: ...'. E nient'altro.

2) Il file /etc/apt/apt.conf.d/95proxiesnon esiste o non contiene nulla di importante.

Così! Se vuoi automatizzare il processo di attivazione e disattivazione del proxy senza dover digitare allot. puoi creare due script di shell eseguibili proxyon.she proxyoff.shcome:

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;

Come usare : Dopo aver creato questi script, rendili eseguibili, puoi tenerli ovunque tu voglia. Per attivare il proxy non devi fare altro che andare nella directory contenente lo script 'proxyon.sh' e quindi devi digitare sudo ./proxyon.sh {host} {port}. Ad esempio, considera questo:

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

Dove '10 .2.20.17 'è l'IP del server proxy - puoi anche digitare qualcosa come myproxy.server.com - e' 8080 'è la porta. Dopodiché, esci e accedi al tuo account, per assicurarti che tutto sia impostato. Puoi iniziare a utilizzare Internet o qualsiasi altra cosa, quindi. E quando vuoi disattivare il proxy, vai alla directory contenente 'proxyoff.sh' e digita:

 $ sudo ./proxyoff.sh

Questo disinserirà tutti i tuoi proxy. Ora disconnettersi e accedere nuovamente per passare alla modalità normale.



se hai bisogno di auth per apt-get proxy puoi impostarli in questo modo: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford,

3
Quanto sopra ha funzionato per me. Ma quando porto il mio laptop a casa dal lavoro, dove non esiste un proxy, non riesco a collegarmi a Internet. Esiste un modo scorciatoia per disabilitare nuovamente il proxy quando torno a casa senza andare agli estremi della rotazione dei file di configurazione e del riavvio? Sarebbe una bella aggiunta alla risposta.
TenLeftFingers

Per sicurezza mentre sono su WiFi pubblico, sto provando a configurare il mio browser Chromium (in Xubuntu 16.04 LTS) per passare tutte le richieste di pagine Web attraverso un proxy PuTTY Socks5 su localhost: 10001, che viene tunnelato attraverso un Raspberry Pi a casa mentre sono lontano da casa. Sembra che le istruzioni sopra non funzionino per i proxy Socks5, quindi spero di riuscire a capirlo. (nota: Firefox è semplice, poiché le impostazioni del proxy possono essere configurate internamente in FireFox, ma voglio impostare il proxy per Chromium e anche apt-get, idealmente con le richieste DNS che passano anche attraverso il proxy).
Gabriel Staples,

Se puoi aggiungere istruzioni / modifiche al proxy di Socks 5, anche quello sarebbe utile. Grazie!
Gabriel Staples,

8

esiste uno strumento grafico chiamato UbProxy, che imposta l'intero proxy systema, tramite un'interfaccia grafica (GUI). L'unico problema per me è stato il fatto di dover disconnettere il mio utente e accedere nuovamente per caricare la configurazione. È molto semplice da usare https://code.google.com/p/ubproxy/


sembra promettente.
Dee,

È possibile configurare automagicamente tutte le varie impostazioni proxy richieste dalle diverse applicazioni quando ci si connette al WiFi o addirittura si collega la rete cablata. Vedi: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes,

3

Ho alcune funzioni per affrontarlo. Chiamali così:

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
questo è un suggerimento terribile per memorizzare la password in un file di testo
BЈовић

1
@ BЈовић: hai ragione. Nel mio caso, è la password del proxy uni pubblica, quindi immagino che non abbia importanza.
Fernando Basso,

qualche idea su come configurare un proxy calze?
Gabriel Staples,

0

Non è necessario riavviare l'intero sistema per apt-get tweak tramite il file proxy95 in /etc/apt/apt.conf.d

  • Funziona subito dopo la scrittura del file e
  • è sparito immediatamente dopo la scomparsa del file.

Considera lo script per abilitare e disabilitare il file rinominandolo in * .bak per cambiare rapidamente il proxy, se necessario.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.