Como definir servidores proxy em todo o sistema no Xubuntu, Lubuntu ou Ubuntu Studio?


83

Não consigo encontrar as configurações de proxy em nenhum lugar. Preciso configurá-lo através do terminal, através gconftoolsou há alguma GUI presente para ele?

Respostas:


115

Os proxies em todo o sistema no Ubuntu Studio, Xubuntu e XFCE devem ser definidos por meio de variáveis ​​de ambiente

O Ubuntu Studio, como o Xubuntu, usa o ambiente de área de trabalho XFCE, que não contém uma ferramenta de configurações gráficas para definir proxies em todo o sistema ( diferente do ambiente de área de trabalho padrão do Ubuntu, Unity ).

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

  • Abra o /etc/environmentarquivo com gksudo leafpad(ou seu editor favorito). Este arquivo armazena as variáveis ​​de todo o sistema inicializadas na inicialização.
  • Adicione as seguintes linhas, modificando adequadamente. Você deve duplicar em maiúsculas e minúsculas porque (infelizmente) alguns programas procuram apenas 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 = "host local, 127.0.0.1, endereço local, .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 = "host local, 127.0.0.1, endereço local, .localdomain.com"
    

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

Alguns programas GTK3 mais recentes, como o Rhythmbox, ignoram as variáveis ​​de ambiente definidas acima, e dependem das configurações do Gnome. Para garantir que eles estejam cobertos, abra um terminal e cole a linha por linha abaixo, 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. Por fim, configure os proxies apt-gete o Update Manager

  • Esses programas também não obedecem às variáveis ​​de ambiente. Crie um arquivo chamado 95proxiesno /etc/apt/apt.conf.d/, e incluem o seguinte:

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

Por fim, efetue logout e reinicialize para garantir que as alterações entrem em vigor.


Fontes: 1 , 2 , 3 . Consulte 1 em particular para obter ajuda adicional, incluindo um script para ativar / desativar rapidamente os proxies.


Scripts para ativar / desativar o servidor Proxy :

Isenção de responsabilidade:: Antes de prosseguir, observe que eu tentei isso no Lubuntu 14.04 e é importante que antes de executar os scripts mencionados, o arquivo /etc/environmenttenha apenas uma linha, ou seja, '$ PATH ...' e não deve haver mais nada no arquivo, caso contrário, pode ser necessário modificar o código do script. Esses scripts definem e desabilitam o proxy conforme descrito acima, mas dependem do truncamento e do anexo de arquivos para alterações /etc/environmente /etc/apt/apt.conf.d/95proxiesarquivos. Portanto, verifique se:

1) /etc/environmentcontém apenas uma linha, ou seja, '$ PATH: ...'. E nada mais.

2) O arquivo /etc/apt/apt.conf.d/95proxiesnão existe ou não possui nada de importante.

Assim! Se você deseja automatizar o processo de ativar e desativar o proxy sem precisar digitar allot. você pode criar dois scripts shell executáveis proxyon.she proxyoff.shcomo:

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;

Como usar : Depois de criar esses scripts, torne-os executáveis, você poderá mantê-los onde quiser. Para ativar o proxy, tudo o que você precisa fazer é ir para o diretório que contém o script 'proxyon.sh' e depois digitar sudo ./proxyon.sh {host} {port}. Como exemplo, considere isso:

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

Onde '10 .2.20.17 'é o IP do servidor proxy - você também pode digitar algo como myproxy.server.com - e' 8080 'é a porta. Depois disso, basta sair e fazer login na sua conta, para garantir que tudo esteja definido. Você pode começar a usar a internet ou o que quer que seja. E quando quiser desativar o proxy, vá para o diretório que contém 'proxyoff.sh' e digite:

 $ sudo ./proxyoff.sh

Isso desabilitará todos os seus proxies. Agora saia e entre novamente para mudar para o modo normal.



se você precisar de autenticação para o proxy apt-get, poderá configurá-los assim: Adquirir :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford.

3
O acima funcionou para mim. Mas quando levo meu laptop para casa do trabalho, onde não há proxy - não consigo me conectar à Internet. Existe uma maneira de atalho para desativar o proxy novamente quando eu chegar em casa sem ir ao extremo de girar os arquivos de configuração e reiniciar? Seria uma boa adição à resposta.
TenLeftFingers

Por segurança enquanto estiver em WiFi público, estou tentando configurar meu navegador Chromium (no Xubuntu 16.04 LTS) para passar todas as solicitações de páginas da web por meio de um proxy PuTTY Socks5 no localhost: 10001, que é encapsulado em um Raspberry Pi em casa enquanto estou longe de casa. As instruções acima não funcionam para os proxies do Socks5, então espero que eu possa descobrir. (observação: o Firefox é fácil, pois as configurações de proxy podem ser definidas internamente no FireFox, mas quero definir o proxy para o Chromium e o apt-get também - idealmente com solicitações de DNS passando pelo proxy).
Gabriel Staples

Se você pode adicionar instruções / modificações no Socks 5, isso também seria útil. Obrigado!
Gabriel Staples

8

existe uma ferramenta gráfica chamada UbProxy, que define todo o proxy do sistema, por meio de uma interface gráfica (GUI). O único problema para mim era que eu precisava sair do meu usuário e entrar novamente para carregar a configuração. É muito simples de usar. https://code.google.com/p/ubproxy/


parece promissor.
Dee

Você pode configurar automaticamente todas as várias configurações de proxy exigidas por diferentes aplicativos quando se conectar ao WiFi ou até conectar a rede com fio. Veja: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Eu tenho algumas funções para lidar com isso. Chame-os assim:

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
que é uma péssima sugestão para armazenar a senha em um arquivo de texto #
313

1
@ BЈовић: Você está certo. No meu caso, é a senha pública do proxy uni, portanto, acho que não importa.
Fernando Basso

alguma idéia de como configurar um proxy de meias?
Gabriel Staples

0

Não é necessário reiniciar o sistema inteiro para o apt-get tweak através do arquivo proxy95 em /etc/apt/apt.conf.d

  • Apenas funciona imediatamente após o arquivo ser gravado e
  • desapareceu imediatamente após o arquivo desaparecer.

Considere o script para ativar e desativar o arquivo renomeando-o para * .bak para alternar rapidamente o proxy, se necessário.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.