Como posso configurar servidores proxy em todo o sistema em Xubuntu, Lubuntu ou Ubuntu Studio?

Não consigo encontrar as definições de proxy em lado nenhum. Tenho de a configurar através do terminal, através do gconftools ou há alguma GUI presente para isso?

Solução

Os substitutos de todo o sistema no Ubuntu Studio, Xubuntu e XFCE devem ser definidos através de variáveis de ambiente

O Ubuntu Studio, tal como o Xubuntu, utiliza o ambiente de trabalho XFCE que não contém uma ferramenta de configuração gráfica para definir proxies de todo o sistema (ao contrário do ambiente de trabalho padrão do Ubuntu, Unity).

1. Configurar o proxy/proxies para a maioria dos programas

  • Abra o ficheiro /etc/environment com gksudo leafpad (ou o seu editor favorito). Este ficheiro armazena as variáveis de todo o sistema inicializadas no arranque.

  • Adicione as seguintes linhas, modificando-as adequadamente. Deve duplicar tanto em maiúsculas como em minúsculas porque (infelizmente) alguns programas só procuram um ou outro:

    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.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.0.1,localaddress,.localdomain.com"
    

2. Em seguida, criar proxies para programas GTK3, tais como o Rhythmbox:

Alguns programas GTK3 mais recentes, como o Rhythmbox, ignoram as variáveis de ambiente definidas acima, e confiam antes nas definições do Gnome. Para se certificar de que estão cobertos, abrir um terminal e colar a linha abaixo, linha a linha, modificando conforme apropriado:

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. Finalmente, criar os proxies para apt-get e Update Manager

  • Estes programas também não obedecerão às variáveis ambientais. Criar um ficheiro chamado 95proxies em /etc/apt/apt.conf.d/, e incluir o seguinte:

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

Finalmente, logout e reinício de sessão para garantir que as alterações entram em vigor.


Fontes: 1, 2, 3. Ver 1 em particular para ajuda adicional, incluindo um guião para ligar/desligar rapidamente os procuradores.


**Escritas para ligar/desligar o servidor Proxy***:

Disclaimer:: Antes de prosseguir, note que tentei isto no Lubuntu 14.04 e é IMPORTANTE que antes de executar os scripts mencionados, o ficheiro /etc/environment deve ter apenas uma linha, isto é, '$PATH...' e não deve haver mais nada no ficheiro, senão poderá ter de modificar o código do script's. Estes scripts definem e desajustam o proxy como descrito acima, mas dependem da truncagem do ficheiro e do ficheiro anexo para alterar os ficheiros /etc/environment' e/etc/apt/apt.conf.d/95proxies'. Portanto, certifique-se disso:

  1. `/etc/environment' contém apenas uma linha i.e. '$PATH:...'. E nada mais.

  2. O ficheiro `/etc/apt/apt.conf.d/95proxies' não existe ou não tem nada importante nela.

Então! se quiser automatizar o processo de ligar e desligar o proxy sem ter de digitar allot. pode fazer dois shell scripts executáveis proxyon.sh e proxyoff.sh como:

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;

Como utilizar: Depois de ter feito estes guiões, torná-los executáveis, pode mantê-los onde quiser. Para ligar o proxy tudo o que tem de fazer é ir ao directório contendo o 'proxyon.sh' script e depois tem de escrever sudo ./proxyon.sh {host} {port}. A título de exemplo, considerem isto:

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

Onde '10.2.20.17' é o servidor proxy's IP - também pode digitar algo como myproxy.server.com - e '8080' é a porta. Depois disso, basta sair e iniciar sessão na sua conta, para se certificar de que tudo está definido. Poderá então começar a utilizar a Internet ou o que quer que seja. E quando quiser desligar o proxy, vá ao directório contendo 'proxyoff.sh' e escreva:

 $ sudo ./proxyoff.sh

Isto irá desestabilizar todos os seus procuradores. Agora, faça logout e login novamente para mudar para o modo normal.

Comentários (10)

Não é necessário reiniciar todo o sistema para apt-get tweak via proxy95 file in /etc/apt/apt.conf.d

  • Funciona imediatamente após a redacção do ficheiro e
  • desaparece imediatamente após o desaparecimento do ficheiro.

Considerar script para activar e desactivar o ficheiro, renomeando-o para *.bak para mudar rapidamente o proxy, se necessário.

Comentários (0)

Vá a Dash Home Type System Settings, clique em system settings e depois em network.Proxy settings será visível para si. Clique em system wide. Pode funcionar como nas definições de proxy do sistema.

Comentários (2)