Ubuntu: Is running Ubuntu One on Debian 'possible'? [closed]



Question:

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?


Solution:1

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.


Solution:2

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.


Solution:3

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).


Solution:4

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.


Solution:5

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


Solution:6

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


Solution:7

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »