After fetching the new sources with
run
to install Spotify 🙂
After fetching the new sources with
run
to install Spotify 🙂
I tried to update the electron repulsion integral handler libint in our
quantum chemical code AICCM. But the linking against gmp failed on my
Ubuntu 12.04 LTS. After discovering that it would build on a Debian Wheezy I
decided to install Debian on my computer. Since I am using the Ubuntu One cloud
service to sync all my data across various machines, including
smartphone and tablet, I was disappointed to find out that there are no
packages available for Debian. I did not want to abandon the service since I am a paid subscriber. It is only 29.99$ per year for 25GB.
After searching through forums and trying
several failed approaches to use the binary packages from Ubuntu 12.04 I
decided to build it from the sources.
In this blog entry I would like to give a detailed description how to build and install Ubuntu One on a Debian system. If you have any questions or comments please do not hesitate to contact me.
mkdir $HOME/UbuntuOne
cd $HOME/UbuntuOne
and install the dependencies:
apt-get install python-twisted pyqt4-dev-tools bzr python-lazr.restfulclient python-oauth python-pyinotify python-protobuf gnome-common gobject-introspection xutils-dev libnautilus-extension-dev libgconf2-dev libebook1.2-dev gnome-settings-daemon-dev python-twisted-names python-libproxy python-distutils-extra python-setuptools
There are two ways to obtain the source code (1b is recommended):
1a. From bazaar repository (latest development version)
If you are using this option you need to neglect the version numbers in the following.
1b. Download the tarball from launchpad (latest stable version)
If you have downloaded the latest stable version you have to extract all downloaded archives
2. Set the $PYTHONPATH
So open the file in your favorite editor (I use vim):
And add the following lines:
# Ubuntu One PYTHONPATH
export PYTHONPATH=”$HOME/UbuntuOne/configglue-1.0.3:$PYTHONPATH”
export PYTHONPATH=”$HOME/UbuntuOne/dirspec-3.0.0:$PYTHONPATH”
export PYTHONPATH=”$HOME/UbuntuOne/ubuntuone-client-3.0.1:$PYTHONPATH”
export PYTHONPATH=”$HOME/UbuntuOne/ubuntuone-storage-protocol-3.0.0:$PYTHONPATH”
export PYTHONPATH=”$HOME/UbuntuOne/ubuntu-sso-client-1.3.3:$PYTHONPATH”
The $PATH and $LD_LIBRARY_PATH variable needs modification, too. So also add this:
# Ubuntu One PATH
Then reload the settings:
3. Build the client:
The next step is to build the client. Note that you do not need to run make install and pollute your $HOME 🙂
3. Get an auth token
wget http://people.canonical.com/~roman.yepishev/us/ubuntuone-sso-login.py
python ubuntuone-sso-login.py
Ubuntu SSO Login: **your Ubuntu SSO Login** Password: **your Ubuntu SSO Password** oauth=hPQWPsH:rhOokmNiRuuoiHe...
4. Copy the configuration file and add an auth token
Create the directory and copy the config file of the server:
[__main__] oauth=hPQWPsH:rhOokmNiRuuoiHe...
This part (3. & 4.) is best described here.
5. Wrapper files
The files look like this:
u1sdtool-wrapper
#!/bin/bash
# u1sdtool wrapper for headless Ubuntu One
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
ENVVAR=”DBUS_SESSION_BUS_ADDRESS”
eval $(ps xe | grep “[u]buntuone-syncdaemon.*$ENVVAR” |
sed -E “s/.*($ENVVAR=[^ ]+).*/1/g” )
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
# Ubuntu One is not running and we don’t have a dbus daemon
eval `dbus-launch –sh-syntax`
fi
export DBUS_SESSION_BUS_ADDRESS
fi
exec u1sdtool “$@”
ubuntuone-syncdaemon-wrapper
#!/bin/bash
# wrapper for headless Ubuntu One
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
ENVVAR=”DBUS_SESSION_BUS_ADDRESS”
eval $(ps xe | grep “[u]buntuone-syncdaemon.*$ENVVAR” |
sed -E “s/.*($ENVVAR=[^ ]+).*/1/g” )
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
# Ubuntu One is not running and we don’t have a dbus daemon
eval `dbus-launch –sh-syntax`
fi
export DBUS_SESSION_BUS_ADDRESS
fi
exec ubuntuone-syncdaemon $HOME/.config/ubuntuone/syncdaemon.conf &
ubuntu-sso-login-wrapper
#!/bin/bash
# ubuntu-sso-login wrapper for headless Ubuntu One
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
ENVVAR=”DBUS_SESSION_BUS_ADDRESS”
eval $(ps xe | grep “[u]buntuone-syncdaemon.*$ENVVAR” |
sed -E “s/.*($ENVVAR=[^ ]+).*/1/g” )
if [ -z “$DBUS_SESSION_BUS_ADDRESS” ]; then
# Ubuntu One is not running and we don’t have a dbus daemon
eval `dbus-launch –sh-syntax`
fi
export DBUS_SESSION_BUS_ADDRESS
fi
exec ubuntu-sso-login “$@”
6. Start the syncdeamon
7. Use the u1sdtool-wrapper
This shows you the available commands:
These might be tho ones you need the most:
u1sdtool-wrapper –list-folders
Examples:
1. Add a folder to be synched (that is already in the cloud)
Type:
Get:
Folder list:
id=2ce31368-0a79-411e-XXX subscribed=False path=/home/mpei/Xoom
Type:
u1sdtool-wrapper –subscribe-folder=2ce31368-0a79-411e-XXX
Known issues:
1. network-manager / connection: With User Not Network
fixed the problem for me 🙂