Thursday, November 15, 2012

Fixing the proxy problem in Mendeley Developer preview 1.7 on Ubuntu 12.04 LTS

I am a big fan of Mendeley (www.mendeley.com) as a tool for storing and organizing my references. In particular the pretty robust extraction of bibliographic data from PDFs saves me a couple of steps in the workflow that I was used to when doing this with Endnote.
I recently received my new (proper) workstation and I have switched from running Ubuntu 10.04LTS in a virtual machine to using Ubuntu 12.04LTS as the main OS and rather running a virtual machine instance of Windows 7 for the few remaining pieces of software which need a Windows OS. Since switching over to Linux, I have not been able to use the Linux version of Mendeley, as it steadfastly refuses to connect to the internet via our work proxy server. While it is possible to configure the proxy settings under "Tools/Options/Connection" the connection test (which can be invoked by pressing Ctrl+Shift+D to bring up the debug console - "Test Internet Connection") reported that it wasn't able to provide proxy authentication. I tried several fixes as outlined in the Mendeley support forums (e.g. http://feedback.mendeley.com/forums/4941-general/suggestions/1051563-generic-linux-bug-connecting-through-proxy-does-n) but none of them worked...

Eventually a combination of defining system wide proxy settings as described here:

http://askubuntu.com/questions/150210/how-do-i-set-systemwide-proxy-servers-in-xubuntu-lubuntu-or-ubuntu-studio

and here some GNOME specific settings:

http://developer.gnome.org/ProxyConfiguration/

and setting the "Tools/Options/Connection" settings in Mendeley to

"No Proxy"

have fixed this problem.

Now Mendeley uses the system-wide proxy setting for connecting to the server and nicely syncs my library the way I was used to. Unfortunately I cannot tell which environment variable is relevant to Mendeley, but as I am using a number of applications which need internet access and everyone of them seems to read out different variables the best way seems to be to set all possible PROXY variables with the relevant connection information.