How to configure proxy settings on Linux XFCE

browserPROXYxfce

I have been running into problems whilst configuring my XFCE proxy settings. Whilst declaring the proxy variables in /etc/environment seems to work for wget, curl and chrome, it has no effect on apt or firefox. In addition, there seems to be a need for duplicated proxy variables, one in lower case, the other in higher case.

Can anyone list the full set of configuration changes needed to effectively inform all applications to use proxy settings across the XFCE environment and perhaps comment on the need for upper and lower case settings?, Thanks.

Best Answer

The environment variables for controlling proxy behaviour are as follows: http_proxy, ftp_proxy, https_proxy, all_proxy and no_proxy. Unfortunately, some applications require these in upper case, other applications need these variables in lower case, that just the way it is.

The format for declaring a proxy exclusion list is simply a comma separated list, the declaration has some wildcard capabilities but not all applications respect these:

no_proxy=127.0.0.1,*.local.com

Your /etc/environment needs to have the following proxy configuration:

no_proxy=localhost,127.0.0.0/8,*.local
NO_PROXY=localhost,127.0.0.0/8,*.local
all_proxy=socks://proxy.example.com:8080/
ALL_PROXY=socks://proxy.example.com:8080/
http_proxy=http://proxy.example.com:8080
HTTP_PROXY=http://proxy.example.com:8080
ftp_proxy=http://proxy.example.com:8080
FTP_PROXY=http://proxy.example.com:8080  
https_proxy=http://proxy.example.com:8080
HTTPS_PROXY=http://proxy.example.com:8080

You must log out before your desktop environment will refresh it's environment variables. As all desktop applications are started by the desktop environment, they subsequently inherit its environment settings.

Next, you'll need to update your apt configuration. Create a file called /etc/apt/apt.conf and edit it to contain these declarations:

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

Verify that apt has picked up these settings via this command

apt-config dump  | grep -i proxy # lists the proxy settings

Chrome will respect the proxy environment variables but Firefox does not, even though it has apparently addressed this issue

Related Question