Comment 1 for bug 56293

Revision history for this message
Roland Kruse (rkruse) wrote :

I also got bitten by this. I also think I found the reason for this confusing behaviour.

The system preferences proxy setting (System -> preferences -> Network Proxy) has the effect of setting the http_proxy environment variable, to be inherited by all programs started subsequently. You can confirm this by starting a terminal after setting the proxy, and type 'echo http_proxy' (or 'env | grep proxy').

The bug is that any authentication tokens you set in system preferences (by pressing the 'Details' button to the right of the http proxy in the network proxy window) are *not* reflected in the http_proxy environment variable. And, the http_proxy environment variable *overrides* any "Acquire::http::proxy" settings you have in apt.conf (see apt.conf manpage).

This only becomes a problem when the proxy requires authentication. It affects (at least) apt-get, synaptic, the upgrade manager, and wget (by http_proxy also overriding /etc/wgetrc).

Interestingly, if you start gconf-editor, you'll see that the authentication tokens are stored (system->http_proxy), the problem being only that they are not exported in the http_proxy environment variable.

As you point out, the only workaround is to set up direct internet access in the system proxy settings, and edit in proxy settings in apt.conf and wgetrc manually (the latter is required for some of the non-free packages using wget to get stuff from the 'net).

Coming from Debian, I am used to edit .conf files and can live with this, but I'd hate to have to explain this to a newly converted Windows user. Adding to the confusion is that there are also proxy settings in Synaptic (as you point out) and Firefox. The FIrefox setting is completely unrelated, but adds to the confusion for ex-Windows users because they are used to set proxy settings in only one place - Internet explorer.