Comment définir des serveurs proxy à l'échelle du système dans Xubuntu, Lubuntu ou Ubuntu Studio?


84

Je ne peux trouver les paramètres de proxy nulle part. Dois-je le configurer via terminal, gconftoolsou via une interface graphique?

Réponses:


116

Les mandataires à l'échelle du système dans Ubuntu Studio, Xubuntu et XFCE doivent être définis via des variables d'environnement.

Ubuntu Studio, comme Xubuntu, utilise l'environnement de bureau XFCE, qui ne contient pas d'outil de paramètres graphiques pour définir des proxys à l'échelle du système ( contrairement à l'environnement de bureau par défaut d'Ubuntu, Unity ).

1. Configurez le / les mandataires pour la plupart des programmes

  • Ouvrez le /etc/environmentfichier avec gksudo leafpad(ou votre éditeur préféré). Ce fichier stocke les variables système initialisées au démarrage.
  • Ajoutez les lignes suivantes en les modifiant de manière appropriée. Vous devez dupliquer les majuscules et les minuscules car (malheureusement), certains programmes ne recherchent que l'un ou l'autre:

    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 = "hôte local, 127.0.0.1, adresse locale, .localdomain.com"
    

2. Configurez ensuite les serveurs proxy pour les programmes GTK3 tels que Rhythmbox:

Certains programmes GTK3 plus récents, tels que Rhythmbox, ignorent les variables d'environnement définies ci-dessus et utilisent plutôt les paramètres Gnome. Pour vous assurer qu'ils sont couverts, ouvrez un terminal et collez ce qui suit, ligne par ligne, en modifiant le cas échéant:

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. Enfin, configurez les proxys pour apt-getet Update Manager.

  • Ces programmes n'obéiront pas non plus aux variables d'environnement. Créez un fichier appelé 95proxiesdans /etc/apt/apt.conf.d/, et inclure les éléments suivants:

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

Enfin, déconnectez-vous et redémarrez pour vous assurer que les modifications prennent effet.


Sources: 1 , 2 , 3 . Voir 1 en particulier pour obtenir une aide supplémentaire, y compris un script pour activer / désactiver rapidement les mandataires.


Scripts d'activation / désactivation du serveur proxy :

Avertissement: Avant de continuer, notez que j'ai essayé ceci sur Lubuntu 14.04 et qu'il est IMPORTANT qu'avant d'exécuter les scripts mentionnés, le fichier /etc/environmentne contienne qu'une seule ligne, à savoir '$ PATH ...' et qu'il ne doit y avoir rien d'autre. dans le fichier, vous devrez peut-être modifier le code du script. Ces scripts définissent et suppriment le proxy comme décrit ci-dessus, mais ils reposent sur la troncature de fichier et l'ajout de fichiers aux modifications /etc/environmentet aux /etc/apt/apt.conf.d/95proxiesfichiers. Alors assurez-vous que:

1) /etc/environmentne contient qu'une seule ligne, par exemple '$ PATH: ...'. Et rien d'autre.

2) Le fichier /etc/apt/apt.conf.d/95proxiesn’existe pas ou n’a rien d’important.

Alors! Si vous souhaitez automatiser le processus d'activation et de désactivation du proxy sans avoir à taper attribuer. vous pouvez créer deux scripts shell exécutables proxyon.shet proxyoff.sh:

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;

Comment utiliser : Une fois que vous avez fait ces scripts, rendez-les exécutables, vous pouvez les conserver où vous voulez. Pour activer le proxy, tout ce que vous avez à faire est de vous rendre dans le répertoire contenant le script 'proxyon.sh', puis de taper sudo ./proxyon.sh {host} {port}. A titre d'exemple, considérons ceci:

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

Où '10 .2.20.17 'est l'adresse IP du serveur proxy - vous pouvez aussi saisir quelque chose comme myproxy.server.com - et' 8080 'le port. Après cela, déconnectez-vous et connectez-vous à votre compte pour vous assurer que tout est configuré. Vous pouvez commencer à utiliser Internet ou autre chose. Et quand vous voulez désactiver le proxy, allez dans le répertoire contenant 'proxyoff.sh' et tapez:

 $ sudo ./proxyoff.sh

Cela désélectionnera tous vos serveurs mandataires. Maintenant, déconnectez-vous et reconnectez-vous pour passer en mode normal.



si vous avez besoin d'une autorisation pour apt-get proxy, vous pouvez les configurer comme suit: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Ce qui précède a fonctionné pour moi. Mais lorsque je ramène mon ordinateur portable à la maison après le travail, lorsqu'il n'y a pas de proxy, je ne peux pas me connecter à Internet. Existe-t-il un moyen rapide de désactiver le proxy une fois que je suis rentré chez moi sans aller trop loin dans la rotation des fichiers de configuration et le redémarrage? Ce serait un bon ajout à la réponse.
TenLeftFingers

Pour des raisons de sécurité en WiFi public, j'essaie de configurer mon navigateur Chromium (sous Xubuntu 16.04 LTS) pour qu'il réponde à toutes les demandes de page Web via un proxy PuTTY Socks5 sur localhost: 10001, lequel est tunnelé à la maison par Raspberry Pi à la maison. Loin de la maison. Les instructions ci-dessus ne fonctionnent pas pour les mandataires Socks5, donc j'espère pouvoir comprendre. (Remarque: Firefox est facile, car ses paramètres de proxy peuvent être définis en interne dans FireFox, mais je souhaite également définir le proxy pour Chromium et apt-get - idéalement avec des requêtes DNS passant également par le proxy).
Gabriel Staples

Si vous pouvez ajouter des instructions / modifications du proxy Socks 5, cela serait également utile. Merci!
Gabriel Staples

8

Il existe un outil graphique appelé UbProxy, qui définit l’ensemble du proxy système, via une interface graphique (GUI). Le seul problème pour moi était que je devais déconnecter mon utilisateur et me reconnecter pour charger la configuration. Est très simple à utiliser. https://code.google.com/p/ubproxy/


Cela semble prometteur.
Dee

Vous pouvez configurer automatiquement tous les paramètres de proxy requis par différentes applications lorsque vous vous connectez au WiFi ou même au réseau câblé. Voir: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

J'ai quelques fonctions pour faire face à cela. Appelez-les comme ça:

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!"
}

2
qui est une suggestion terrible pour stocker le mot de passe dans un fichier texte
BЈовић

1
@ BЈовић: Vous avez raison. Dans mon cas, il s’agit du mot de passe public uni proxy, alors je suppose que cela n’a aucune importance.
Fernando Basso

aucune idée de comment configurer un proxy chaussettes?
Gabriel Staples

0

Il n'est pas nécessaire de redémarrer tout le système pour apt-get tweak via le fichier proxy95 dans /etc/apt/apt.conf.d

  • Cela fonctionne juste après que le fichier soit écrit et
  • il est parti immédiatement après la disparition du fichier.

Envisagez l’utilisation d’un script pour activer et désactiver le fichier en le renommant * .bak pour un changement rapide de proxy si nécessaire.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.