J'utilise Ubuntu 14.04
. Je veux changer le http proxy
Paramètres de la ligne de commande. Cela devrait être équivalent à la modification de l'interface graphique (tous les paramètres-> Network-> Network Proxy) et en cliquant sur le bouton Apply System Wide
. Je ne veux pas redémarrer/déconnecter le système car je prévois de modifier les paramètres de manière dynamique d'un script (bash
).
D'après ce que je comprends, régler les proxies à l'échelle du système via cette interface graphique fait trois choses:
/etc/environment
./etc/apt/apt.conf
.1 et 3 prennent effet immédiatement. /etc/environment
est analysé sur la connexion, vous devrez donc vous déconnecter et vous connecter à cela pour prendre effet. (Notez que cela se connecte correctement, ne faisant pas simplement une coque de connexion.) Le script suivant doit être équivalent (supposant des 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
Même s'il nécessite une nouvelle connexion pour PAM d'appliquer /etc/environment
partout, dans un shell actuel, vous pouvez toujours extraire les valeurs dans ce fichier:
export http_proxy=$(pam_getenv http_proxy)
J'ai fait un outil, un proxyman, pour simplifier la tâche entière. Vous pouvez le télécharger à partir de ce lien .
De plus, vous pouvez consulter le code si vous êtes plus intéressé à connaître le fonctionnement du backend. Téléchargez le fichier zip, extrayez-les, accédez à l'emplacement des fichiers extraits dans la borne et les commandes suivantes vous aideraient à: