Ubuntu One KDE UI sort-of alpha1
Harald Sitter apachelogger at ubuntu.com
Sun Jun 13 14:20:02 BST 2010
I am currently working on my Google Summer of Code project where I am to bring
better Ubuntu One experience to KDE users. This project is divided into two
parts, one being user interface integration and the other is data integration
(a.k.a. Akoandi support).
In ppa:apachelogger/ubuntuone-kde you can now get a pretty much working Alpha
1 of the user interface integration, only that it is not really Alpha 1.
BEFORE installing please read everything below and be warned that this is all
work in progress and I will most likely not provide seamless upgrade
experience, so it would be best if you know how to resolve file conflicts in
DPKG and the like.
So first let me state why it is not the real alpha...
Unfortunately the Ubuntu One SyncDaemon (the component that is responsible for
interacting with the Ubuntu One cloud) does in its current stable iteration
only support the GNOME keyring as secret storage unit. But for sensible
integration into KDE the authentication and therefore the secret storage must
be handled by KDE components, most importantly KWallet. (*Ignore the next
sentence -- it no longer applies since Harald Sitter corrected this.) So in order
to make everything work properly you need to patch the SyncDaemon.  provides
a one-line command to do this, which basically just applies a patch  to your
SyncDaemon exchanging the gnome-keyring support for KWallet support.
Once you have that done you should install ubuntuone-kde and relogin, after
that you can safely try using the KDE integration. It should be noted that
using the KCM first will not work, and I am not sure about Dolphin integration
You can use the Dolphin integration only if you place a .ubuntuone file in the
directory you want to use it with (also with 4.5 beta2 you will need to turn
on the plugin via the Dolphin settings, it will show up there as a version
The statusnotifier item (fancy systemtray icon) can be started via ubuntuone-
statusnotifier, or via the utilities section of your menu.
A configuration module is to be found in your systemsettings, currently it
will just display information queried on-the-fly from the Ubuntu One servers.
Authentication is handled by ubuntone-auth.
What I ask you to do is give it a good test run and start crying really bad
should you encounter:
a) a crash
c) clearly wrong behavior
d) stuff that you think I did not think of, but seems worth mentioning
StatusNotifier and Dolphin integration use libubuntuone-kde which basically
provides an interface to the Ubuntu One SyncDaemon, upon status changes this
beastie should emit the appropraite information so that the StatusNotifier can
react properly. Another implementation of using the SyncDaemon is available in
the source  as a proof of concept plasmoid.
The KCM uses libubuntuone-qt-api which is a Qt interface to the Ubuntu One
server side REST API (hence this thing is mosty asynchronious). Please note
that the KCM will not work unless you used the statusnotifer before, because
it will be missing authentication information and at this time does not
trigger the auth process itself. If you wish you can also try creating own
apps to test the API implementation, currently the KCM does not use the API to
its full extent, though it probably will do once I am finished.
Ubuntuone-auth registers to DBus and provides the same interfaces as the GNOME
version provides, so technically one could also use it with the GNOME UI
(that is if someone really wants to hook it up with gnome-keyring). One
technical point of interest is that it will launch an own tiny HTTP server for
the authentication process, this will then lead to a fist-start workflow like:
1) you start an U1 app 2) webbrowser opens asking you if you want to auth the
machine you are on to use U1 3) you either agree or decline 4) U1 server calls
back to local HTTP server and transmits some tokens through the URL 5)
ubuntone-auth requests access tokens and tells the app(s) about arrived
While I am at it, let me also give a quick heads up on the Akonadi stuff.
At  and  you can find components started by Till Adam some time ago
laying out very good basics for addressbook integration with Akonadi. If you
are very, and I mean VERY, brave, then you might try it out. Although
currently it will only (almost completely) map Ubuntu One contacts into
KAddressbook processable ones. Everything else will result in undefined
behaviour. Also please note that authentication to desktopcouch is not
implemented, so you will need to turn off authentication in your desktopcouch
Kubuntu Core Developer