28

I read somewhere that Ubuntu One only runs on Ubuntu, which was a surprise (and I suppose it's just an official stance). What will it take for me to run it on Debian?

0

7 Answers 7

21

Just for the record, you can run Ubuntu One anywhere you want, but we don't have the resources to test it and get it running smoothly everywhere.

Having said that, Ubuntu One is made up of several parts; the most problematic to get running in Debian is the syncdaemon, and I presume that is what you mean; tomboy, desktopcouch and funambol plugins shouldn't be an issue at all (at least, no issue specific to Debian :-) ).

@ajmitch is working on getting packages of syncdaemon ("ubuntuone-client") into Debian.

Meanwhile, you can get it running. The versions of some of the libraries are slightly off for squeeze, so some patching is needed for now. Here's what you can do for the most rudimentary version of "running", in squeeze (starting from a base install with the 'desktop' task installed):

sudo apt-get install 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
mkdir ~/u1; cd ~/u1
bzr branch lp:ubuntuone-client/stable-1-4 client
bzr branch lp:ubuntuone-storage-protocol/stable-1-4 protocol
bzr branch lp:ubuntu-sso-client/stable-1-0 sso
bzr branch lp:configglue
sed -i~ -e 's/Spinner()/Label("...")/; /spinner.start/D' sso/ubuntu_sso/gui.py
(cd protocol; python setup.py build)
(cd client; ./autogen.sh --with-protocol=../protocol --with-sso=../sso --prefix=/usr; make)
PYTHONPATH=sso sso/bin/ubuntu-sso-login &
PYTHONPATH=configglue:sso:client:protocol client/bin/ubuntuone-syncdaemon client/data/syncdaemon.conf --debug
PYTHONPATH=sso:client client/bin/u1sdtool -c

while the above gets the syncdaemon online and syncing (assuming you're using Network Manager), it doesn't include dbus activation and nautilus integration, which help. If you want those, you could try

(cd sso && sudo python setup.py install --prefix=/usr)
(cd configglue && sudo python setup.py install --prefix=/usr)
(cd protocol && sudo python setup.py install --prefix=/usr)
(cd client && sudo make install)
sudo mkdir /etc/xdg/ubuntuone; sudo cp client/data/syncdaemon.conf /etc/xdg/ubuntuone

this should make the whole stack work. If you get import errors, check that things got installed in dist-packages and not site-packages (if they're in the latter, move them over :-) )

See? One-click install.

2
  • 2
    any improvement to this since your reply? Thanks.
    – F.C.
    Commented Jun 2, 2012 at 14:24
  • 1
    Any chance you will update this answer to reflect 2013?
    – Redsandro
    Commented Apr 8, 2013 at 23:38
11

You'd need ubuntuone-client and ubuntu-sso-client (single sign on) and all their various dependencies. It's mostly python so there shouldn't be any binary compatibility issues from just dragging the packages over.

But you can start tracking down the dependencies here: http://packages.ubuntu.com/maverick/ubuntuone-client

Q. Why not give instructions to add Ubuntu repositories to Debian for this?

A. Unless you found a PPA that just had the required stuff, you could end up with it replacing (read: upgrading) a whole load of packages to a point where things became very unstable. It's much safer to only pull in what you need.

Something like apt-get install --no-install-recommends ubuntuone-client wouldn't work, because as soon as you add the Ubuntu repository to a Debian install, it would try to upgrade all packages to the latest version. If any of the packages in the Maverick repo were newer than those in the Debian repo(s) used on that system, it would want you to upgrade to them. If those packages contained (as they probably do) any Debian-incompatible patches, it would nuke the Debian system. It's infinitely safer to just download the required debs through packages.ubuntu.com (or even just the source) and install manually.

The problem of automatically upgrading unwanted packages could be reduced or possibly avoided by using apt pinning, but that's beyond the scope of my answer.

0
4

It is certainly possible, but there are no packages in Debian yet. There is an ITP bug though, which means the person filing that bug is working on or going to work on packaging it (ITP = Intent To Package).

0
1

Well, it is Ubuntu One, and not Debian One. :)

You should of course, be able to rebuild the packages from the latest Ubuntu for the pieces of Ubuntu One you need, on a Debian-based distribution which has the required dependencies available for doing so. If the dependencies aren't available, you may also need to port them over.

Those distributions are not supported, though if you run into any issues getting the packages rebuilt on them, you can ask for some help in #ubuntuone IRC on the Freenode network.

1

There's a much easier way: get the DEBs from the package site (for Debian Wheezy get DEBs from UBuntu 12.04), install one by one using gdebi (or similar). Trial and error to get the right order. After isntalling all the DEBs, run ubuntuone-install from comand line and follow the instructions.

Hint: you must have Network-Manager enabled and managing your connection.

In this site I list the packages needed:

http://conalambre.wordpress.com/2012/10/15/ubuntu-one-en-debian-wheezy/

It's in spanish but the names of the packages are the same :-D

0

I recently migrated from Ubuntu to Debian and had the same problem. I have it running now and have written a detailed blog entry on how to run Ubuntu One on debian.

The link is here: http://blog.pinguinplanet.de/2012/05/ubuntu-one-on-debian-wheezy.html

1
  • 1
    Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
    – fossfreedom
    Commented May 14, 2012 at 10:07
0

I was able to get the syncing to work using the information from the link above and some trial and error. The references are this thread, https://wiki.ubuntu.com/UbuntuOne/Headless and http://blog.pinguinplanet.de/2012/05/ubuntu-one-on-debian-wheezy.html.

These are the steps needed:

  1. Switch to 'testing' release by replacing 'wheezy' with 'testing' in the configuration file /etc/apt/sources.list followed by:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. Install prerequisites:

    sudo 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 python-configglue python-oauthlib protobuf-compiler
    
  3. Build and install the UbuntuOne client:

    mkdir u1
    cd u1
    bzr branch lp:ubuntuone-storage-protocol
    (cd ubuntuone-storage-protocol/ ; sudo python setup.py install )
    bzr branch lp:configglue
    (cd configglue/ ; sudo python setup.py install) 
    bzr branch lp:dirspec
    (cd dirspec/ ; sudo python setup.py install) 
    bzr branch lp:ubuntu-sso-client
    (cd ubuntu-sso-client/ ; sudo python setup.py install) 
    bzr branch lp:ubuntuone-client
    (cd ubuntuone-client/ ; sudo python setup.py install)
    
  4. get and save the Ubuntu One login 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... 
    
    mkdir ~/.config/ubuntuone
    cd ../.config/ubuntuone
    cp ../../u1/ubuntuone-client/data/syncdaemon.conf .
    

    edit syncdaemon.conf:

    [__main__]
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    

Now u1sdtool --start can be used to start the sync daemon and u1sdtool -s gives:

ERROR:root:Could not find any typelib for Unity
State: QUEUE_MANAGER
connection: With User With Network
description: processing the commands pool
is_connected: True
is_error: False
is_online: True
queues: IDLE

It seems OK to ignore the error. I don't have Unity installed.

Not the answer you're looking for? Browse other questions tagged .