web-dev-qa-db-fra.com

Paramètres de proxy à l'échelle du système dans Ubuntu

Je voulais utiliser Internet sur le serveur proxy de mon collège, qui requiert également une authentification. J'ai cherché sur google pour trouver des solutions et la meilleure solution que j'ai trouvée était this . J'ai modifié le script dans la réponse acceptée pour inclure l'authentification. La voici:

if [ $(id -u) -ne 0 ]; then
echo "This script must be run as root";
exit 1;
fi

if [ $# -eq 4 ] 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;
gsettings set org.gnome.system.proxy.http authentication-user '$3';
gsettings set org.gnome.system.proxy.http authentication-password '$4';


grep PATH /etc/environment > lol.t;
printf \
"http_proxy=http://$3:$4@$1:$2/\n\
 https_proxy=http://$3:$4@$1:$2/\n\
 ftp_proxy=http://$3:$4@$1:$2/\n\
 no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
 HTTP_PROXY=http://$3:$4@$1:$2/\n\
 HTTPS_PROXY=http://$3:$4@$1:$2/\n\
 FTP_PROXY=http://$3:$4@$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://$3:$4@$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$3:$4@$1:$2/\";\n\
  Acquire::https::proxy \"https://$3:$4@$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

else

printf "Usage $0 <proxy_ip> <proxy_port> <username> <password>\n";

fi

Cependant Les comptes en ligne ne fonctionnent toujours pas (comme pour Rhythmbox et les autres programmes GTK3) . Un écran blanc apparaît comme ceci:

enter image description here

Des suggestions sur la façon dont il peut être résolu?

22
Raman

Résolu finalement:

(Suivez les étapes en série)

1. Pour les programmes gtk3 tels que rhythmbox et les comptes en ligne:

Vous devez d’abord entrer les paramètres de proxy dans les paramètres réseau (avec l’authentification):

enter image description here

Ensuite, appliquez le système à l'échelle.

2. Pour apt, centre de logiciel, etc.

éditer le fichier /etc/apt/apt.conf

Et puis remplacez tout le texte existant par les lignes suivantes

Acquire::http::proxy "http://username:password@Host:port/";
Acquire::ftp::proxy "ftp://username:password@Host:port/";
Acquire::https::proxy "https://username:password@Host:port/";

3. Variables d'environnement

éditer le fichier /etc/environment

Et puis ajoutez les lignes suivantes après PATH = "quelque chose ici"

http_proxy=http://username:password@Host:port/
ftp_proxy=ftp://username:password@Host:port/
https_proxy=https://username:password@Host:port/

C'est tout..

30
Raman

Pour télécharger des paquets par proxy wget, vous devez les configurer dans/etc/environment, et pour télécharger des paquets par apt-get proxy, vous devez les installer dans /etc/apt/apt.conf.

2
sauser

Pour que wget fonctionne avec un proxy, je voudrais également créer un .wgetrc dans votre répertoire personnel, contenant:

http_proxy = http://proxy:port/
https_proxy = http://proxy:port/
proxy_user = user
proxy_password = password
use_proxy = on
wait = 15
1
trudide12

Ce n’est pas tout, bien sûr. Quelques autres programmes (npmname__, curlet gitname__):

npm config set proxy $HTTP_PROXY
npm config set https-proxy $HTTPS_PROXY
npm config set strict-ssl false
echo "proxy = $HTTP_PROXY" > ~/.curlrc
echo "noproxy = $NO_PROXY" >> ~/.curlrc
git config --global http.proxy $HTTP_PROXY
git config --global https.proxy $HTTPS_PROXY

Pour Maven, éditez ~/.m2/settings.xml. IntelliJ ne semble pas non plus prendre la configuration globale.

1
MPi