Defina as configurações de proxy do sistema Ubuntu sem reiniciar a partir da linha de comando

11

Estou usando Ubuntu 14.04 . Eu quero alterar as configurações de http proxy na linha de comando. Isso deve ser equivalente a alterações na GUI (todas as configurações- > rede- > proxy de rede) e ao clicar no botão Apply System Wide . Eu não quero reiniciar / logout do sistema, pois estou planejando alterar as configurações dinamicamente de um script ( bash ).

    
por ma08 26.08.2014 / 16:08

3 respostas

12

Pelo que entendi, a configuração de proxies em todo o sistema por meio dessa GUI faz três coisas:

  1. Defina os valores correspondentes no banco de dados dconf.
  2. Defina os valores em /etc/environment .
  3. Defina os valores em /etc/apt/apt.conf .

1 e 3 entram em vigor imediatamente. /etc/environment é analisado no login, portanto, você precisará efetuar logout e login para que isso seja efetivado. (Observe que este é o login correto, não apenas executando um shell de login). O script a seguir deve ser equivalente (assumindo proxies http / https):

#! /bin/bash
HTTP_PROXY_HOST=proxy.example.com
HTTP_PROXY_PORT=3128
HTTPS_PROXY_HOST=proxy.example.com
HTTPS_PROXY_PORT=3128

gsettings set org.gnome.system.proxy mode manual
gsettings set org.gnome.system.proxy.http host "$HTTP_PROXY_HOST"
gsettings set org.gnome.system.proxy.http port "$HTTP_PROXY_PORT"
gsettings set org.gnome.system.proxy.https host "$HTTPS_PROXY_HOST"
gsettings set org.gnome.system.proxy.https port "$HTTPS_PROXY_PORT"

sudo sed -i.bak '/http[s]::proxy/Id' /etc/apt/apt.conf
sudo tee -a /etc/apt/apt.conf <<EOF
Acquire::http::proxy "http://$HTTP_PROXY_HOST:$HTTP_PROXY_PORT/";
Acquire::https::proxy "http://$HTTPS_PROXY_HOST:$HTTPS_PROXY_PORT/";
EOF

sudo sed -i.bak '/http[s]_proxy/Id' /etc/environment
sudo tee -a /etc/environment <<EOF
http_proxy="http://$HTTP_PROXY_HOST:$HTTP_PROXY_PORT/"
https_proxy="http://$HTTPS_PROXY_HOST:$HTTPS_PROXY_PORT/"
EOF

Mesmo que seja necessário um novo login para o PAM para aplicar /etc/environment em todos os lugares, em um shell atual você ainda pode extrair os valores nesse arquivo:

export http_proxy=$(pam_getenv http_proxy)
    
por 26.08.2014 / 21:05
4

Eu fiz uma ferramenta, ProxyMan, para simplificar toda a tarefa. Você pode baixá-lo em este link .

Além disso, você pode dar uma olhada no código se estiver mais interessado em conhecer o funcionamento do back-end. Faça o download do arquivo zip, extraia-os, vá para o local dos arquivos extraídos no terminal e os comandos a seguir ajudarão você:

  • bash main.sh: para definir e remover o proxy.
  • bash proxy_check.sh: para verificar suas configurações de proxy atuais.
por 17.01.2016 / 06:43
-2

Acho que isso deve evitar dores de cabeça:

Vídeo de configurações de proxy

Um excelente tutorial, executado em python. Definindo Configurações de Proxy Simples e Autenticadas no Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 / 14.10 e acima de 100% de Trabalho.

Solução 1 O sistema deve ser instalado "python". Com o intérprete executando o comando: Comando: "sudo python setproxy.py [Proxy_Server] [porta_proxy] [PROXY_USER] [password_password]"

Vídeo: link

[ Proxy_Server ] : proxy.test.ts
[ Proxy_port ] : 8080
[ PROXY_USER ] : domainuser
[ Proxy_password ] : " the_password "

Solução 2: comandos:

"Sudo apt- get install python- support"
"Sudo apt- get install ntlmaps "

Preencha os campos conforme apropriado:

- Proxy server
- Proxy port
- User
- Password
    
por 15.09.2016 / 23:46