It can sound bit weird, but most problematic platform for UbuntuOne client is Ubuntu itself – especially when your PC is behind proxy – or even worst when you’re moving between several networks with your laptop, where some nets are using proxy.
First issues is that UbuntuOne client does not have proxy support installed by default, fix is easy :
sudo apt-get install ubuntuone-client-proxy
Second issue is more tricky – if you change your proxy settings in Network Settings (which are stored in dconf backend) as you move from one network to another, UbuntuOne client (especially the daemon process
ubuntuone-syncdaemon) is not aware of this change and will not connect to cloud any more. Quick and dirty fix is to restart
ubuntuone-syncdaemon with a script like this:
pkill -f ubuntuone
/usr/bin/python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon 1>/dev/null 2>&1 &
To automate this changes one can use for instance a script in
/etc/NetworkManager/dispatcher.d/ that can detect particular network and set proxy and restart UbuntuOne. I’m using thetool – a small tool of mine, that can detect network changes (via DBus) and take some actions – like to set proxy or run a script.