¿Cómo configuro servidores proxy en todo el sistema en Xubuntu, Lubuntu o Ubuntu Studio?


83

No puedo encontrar la configuración del proxy en ningún lado. ¿Tengo que configurarlo a través del terminal, a través gconftoolso hay alguna GUI presente para ello?

Respuestas:


115

Los proxies de todo el sistema en Ubuntu Studio, Xubuntu y XFCE deben establecerse mediante variables de entorno

Ubuntu Studio, al igual que Xubuntu, utiliza el entorno de escritorio XFCE que no contiene una herramienta de configuración gráfica para establecer servidores proxy de todo el sistema (a diferencia del entorno de escritorio predeterminado de Ubuntu, Unity ).

1. Configure el proxy / proxies para la mayoría de los programas

  • Abra el /etc/environmentarchivo con gksudo leafpad(o su editor favorito). Este archivo almacena las variables de todo el sistema inicializadas en el arranque.
  • Agregue las siguientes líneas, modificando adecuadamente. Debe duplicar en mayúsculas y minúsculas porque (desafortunadamente) algunos programas solo buscan uno u otro:

    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. Luego configure proxies para programas GTK3 como Rhythmbox:

Algunos programas GTK3 más nuevos, como Rhythmbox, ignoran las variables de entorno establecidas anteriormente y en su lugar confían en la configuración de Gnome. Para asegurarse de que estén cubiertos, abra un terminal y pegue el siguiente línea por línea, modificando según corresponda:

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, configure los proxies apt-gety Update Manager

  • Estos programas tampoco obedecerán las variables de entorno. Crear un archivo llamado 95proxiesen /etc/apt/apt.conf.d/, e incluyen los siguientes:

    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, cierre sesión y reinicie para asegurarse de que los cambios surtan efecto.


Fuentes: 1 , 2 , 3 . Consulte 1 en particular para obtener ayuda adicional, incluido un script para activar / desactivar rápidamente los proxies.


Scripts para encender / apagar el servidor proxy :

Descargo de responsabilidad: antes de continuar, tenga en cuenta que he intentado esto en Lubuntu 14.04 y es IMPORTANTE que antes de ejecutar los scripts mencionados, el archivo /etc/environmentdebe tener solo una línea, es decir, '$ PATH ...' y no debe haber nada más en el archivo, de lo contrario, es posible que deba modificar el código del script. Estas secuencias de comandos configuran y desactivan el proxy como se describió anteriormente, pero dependen del truncamiento de archivos y la adición de archivos para cambiar /etc/environmenty /etc/apt/apt.conf.d/95proxiesarchivos. Así que asegúrese de que:

1) /etc/environmentcontiene solo una línea, es decir, '$ PATH: ...'. Y nada más.

2) El archivo /etc/apt/apt.conf.d/95proxiesno existe o no tiene nada importante.

¡Entonces! Si desea automatizar el proceso de activación y desactivación del proxy sin tener que escribir la asignación. puede hacer dos scripts de shell ejecutables proxyon.shy 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;

Cómo usarlo : una vez que haya creado estos scripts, hágalos ejecutables, puede guardarlos en cualquier lugar que desee. Para activar el proxy, todo lo que tiene que hacer es ir al directorio que contiene el script 'proxyon.sh' y luego debe escribir sudo ./proxyon.sh {host} {port}. Como ejemplo considere esto:

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

Donde '10 .2.20.17 'es la IP del servidor proxy (también puede escribir algo como myproxy.server.com) y' 8080 'es el puerto. Después de eso, simplemente cierre sesión e inicie sesión en su cuenta, para asegurarse de que todo esté configurado. Puede comenzar a usar Internet o lo que sea. Y cuando desee desactivar el proxy, vaya al directorio que contiene 'proxyoff.sh' y escriba:

 $ sudo ./proxyoff.sh

Esto desarmará todos tus poderes. Ahora cierre sesión y vuelva a iniciar sesión para cambiar al modo normal.



si necesita autenticación para el proxy apt-get, puede configurarlos así: Adquirir :: http :: proxy " usuario: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Lo anterior funcionó para mí. Pero cuando llevo mi computadora portátil a casa del trabajo, donde no hay proxy, no puedo conectarme a Internet. ¿Hay una forma abreviada de deshabilitar el proxy nuevamente cuando llego a casa sin ir al extremo de rotar los archivos de configuración y reiniciar? Sería una buena adición a la respuesta.
TenLeftFingers

Por seguridad mientras estoy en WiFi público, estoy tratando de configurar mi navegador Chromium (en Xubuntu 16.04 LTS) para pasar todas las solicitudes de páginas web a través de un proxy PuTTY Socks5 en localhost: 10001, que se canaliza a través de un Raspberry Pi en casa mientras estoy lejos de casa. Las instrucciones anteriores no funcionan para los servidores proxy de Socks5, así que espero poder resolverlo. (nota: Firefox es fácil, ya que su configuración de proxy se puede establecer internamente dentro de FireFox, pero también quiero configurar el proxy para Chromium y apt-get, idealmente con solicitudes DNS que también pasan por el proxy).
Gabriel Staples

Si puede agregar instrucciones / modificaciones de proxy de Socks 5, eso también sería útil. ¡Gracias!
Gabriel Staples

8

Existe una herramienta gráfica llamada UbProxy, que establece todo el proxy del sistema, a través de una interfaz gráfica (GUI). El único problema para mí fue que tenía que cerrar la sesión de mi usuario e iniciar sesión nuevamente para cargar la configuración. Es muy simple de usar. https://code.google.com/p/ubproxy/


parece prometedor.
Dee

Puede configurar automáticamente todas las configuraciones de proxy requeridas por diferentes aplicaciones cuando se conecta a WiFi o incluso conecta la red cableada. Ver: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Tengo algunas funciones para lidiar con eso. Llámalos así:

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
esa es una sugerencia horrible para almacenar la contraseña en un archivo de texto
B 31овић

1
@ BЈовић: Tienes razón. En mi caso, es la contraseña de proxy uni pública, así que supongo que no importa.
Fernando Basso

¿Alguna idea de cómo configurar un proxy de calcetines?
Gabriel Staples

0

No es necesario reiniciar todo el sistema para apt-get tweak a través del archivo proxy95 en /etc/apt/apt.conf.d

  • Simplemente funciona inmediatamente después de escribir el archivo y
  • desaparece inmediatamente después de que desaparece el archivo.

Considere la secuencia de comandos para habilitar y deshabilitar el archivo renombrándolo a * .bak para cambiar rápidamente el proxy si es necesario.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.