Updated UbuntuOne RPMS for Fedora 17

I've just uploaded new UbuntuOne packages into the yum repo. They're based on the 3.0 stable branch, which is the current version in Ubuntu 12.04 Precise Pangolin. There are no major visible changes, except that the GUI is now based on QT instead of GTK. This should also hopefully fix the authentication issues that showed up lately, by the way.

Konsole RPMs with Tab Cloning (KDE pre-4.9.0 git snapshot)

UPDATE (2012-06-13): updated konsole 4.9 beta RPMs are now available at kde-redhat's unstable repo.

If you regularly use SSH and Konsole, you may have noticed a missing "feature" after updating to KDE 4.8.0 (released on January 25, 2012): new tabs now always use the default profile instead of "cloning" the profile of the active tab. I mean, in pre-KDE-4.8 Konsole, you could run ssh://user@host:port in Krunner (that's the Alt+F2 menu), or konsole -e ssh -p port user@host, or even kioclient exec ssh://user@host:port and pressing Ctrl+Shift+T would open a new SSH tab. Add public key authentication and/or SSH connection multiplexing, and you got an automagically logged in remote session on each new tab for free!

I really missed this, so I submitted this bug report (with a couple of quick and dirty patches).

Turns out this feature was actually more like a "bug". In fact, the executed command was "remembered" by the current active Konsole profile. That's cool with SSH, but could lead to some nasty side effects, such as re-running a shell script for each new tab. Several bug reports showed this was really confusing and counterintuitive. In fact, this bug report is exactly the opposite of mine!

A proper fix has already been commited for KDE 4.9, which is scheduled for release on August 2012. But that's too much time lost just logging in again and again! (Ok, I could use SSHMenu or Remmina, but I love my konsoles :-D). So I set up a Yum repo with Konsole RPMs based on the excellent packages by the KDE Packaging Project for Fedora/RHEL and a snapshot of sources from Konsole's main git repo.

DISCLAIMER: This Konsole version includes tab cloning... but may also carry countless creepy horrible bugs and kitten-killing diseases!!!

  1. Install the kde-redhat Yum repo
  2. Download and install the .repo file into /etc/yum.repos.d/:

    # wget http://www.maxiberta.com.ar/repo/fedora-kde4.9.repo
    # mv fedora-kde4.9.repo /etc/yum.repos.d/

  3. You may need to enable the testing repos from both kde-redhat and konsole
  4. Install/update the bleeding edge version of Konsole:

    # yum install konsole

  5. Optionally associate a keyboard shortcut with the new "File -> Clone Tab" menu entry
  6. Enjoy all your free time saved from logging in through SSH again and again!

My UbuntuOne Yum Repo for Fedora

UPDATE (2012-11-01): updated and rebuilt packages for Fedora 18!
UPDATE (2012-06-21): updated and rebuilt packages for Fedora 17!

Are you a Fedora user? Have any of your friends or colleagues recently tried to share a bunch of files with you via UbuntuOne? I've been in such a situation and, to my surprise, I could not find any working/updated UbuntuOne RPMs on the web, despite the fact that it's all free and open source software used by more than 1 million people. The web interface is really nice, but a local client that performs transparent file-syncing with the cloud is even better. And what about running the UbuntuOne client for Windows on wine? Come on... really??

But, wait a minute! There must be someone who has already packaged the UbuntuOne client for Fedora! Well, there's this article on making it run on Fedora 11 (that's more than 3 years old!). Then there's this detailed tutorial on compiling it from source on Fedora 16 (the current version of Fedora), but I still wanted nicely packaged RPMs: I don't like having old, unknown, orphan and even conflicting files lying around in my filesystem, and yum makes managing packages much easier. (Edit: I've just found this yum repository at fedorapeople.org which unfortunately is outdated and compiled for Fedora 13, but could still serve as a good starting point.)

So I set out to build all the necessary packages from scratch and publish them in a public Yum repository. After all it's all based on Python, so how hard could it be?

The biggest hurdle was the lack of some key python libraries not packaged for Fedora which UbuntuOne requires to run, such as configglue, python-defer, lazr.restfulclient, lazr.uri and wadllib. All these packages are hosted on Launchpad and most of them are developed and maintainted by Canonical to power Launchpad, Landscape, and other applications. I guess these libraries are of little use outside Ubuntu, and that explains why they are not packaged for Fedora.

This caused an even worse challenge: Dependency Hell!! Fortunately my girlfriend was kind enough to grant me access to her Ubuntu box, where I could cheat using apt-cache depends and debtree, with which I could generate this nice dependency graph which helped me get an overall picture. It finally turned out to be around 10 new packages/subpackages.

All RPMs were built for Fedora 16 using a Mock chroot and uploaded to my yum repository. I tried hard to follow the Fedora Packaging Guidelines and the Fedora Guidelines for Python Addon Modules. AFAICT these packages comply with the Fedora Licensing Guidelines, and are not listed as Forbidden Items. I see no legal reason not to include them officially in Fedora in the future, so I'm planning to submit them for review.

I'm still struggling with a couple of bugs building the UbuntuOne Control Panel (UbuntuOne client's configuration GUI), but the basic filesharing functionality is working, though it requires some easy command-line tweaking.

So, head on and read the instructions on how to install UbuntuOne on your Fedora box in 4 easy steps. Enjoy!

Bugs, suggestions, insults? maxiberta at gmail dot com

UbuntuOne Packages for Fedora

Installing UbuntuOne RPMs on Fedora

UPDATE (2012-11-01): updated and rebuilt for Fedora 18!
UPDATE (2012-06-21): updated and rebuilt for Fedora 17!

Yum Setup

  1. Download and install the .repo file into /etc/yum.repos.d/:
    # wget http://www.maxiberta.com.ar/repo/fedora-ubuntuone.repo
    # mv fedora-ubuntuone.repo /etc/yum.repos.d/
  2. Install the ubuntuone-client package and all of its dependencies:
    # yum install ubuntuone-client

UbuntuOne Client Setup

  1. Connect to UbuntuOne services and authenticate:
    $ u1sdtool --connect
  2. A popup window will appear where you can register a new user or use an existing account.
  3. The Gnome Keyring will ask you to enter you passphrase in order to securely store your UbuntuOne credentials

The UbuntuOne Sync Daemon will run automatically every time you log in.

That's all! Your ~/"Ubuntu One" directory is now synchronized with your UbuntuOne cloud storage :-D

UbuntuOne Client Usage

With the u1sdtool command you can:
  • check the status of the UbuntuOne client:
    $ u1sdtool --status
        connection: With User With Network
        description: processing the commands pool
        is_connected: True
        is_error: False
        is_online: True
        queues: IDLE
  • list available shared folders:
    $ u1sdtool --list-shares
    Shares list:
     id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=Shared accepted=True subscribed=False access_level=Modify from=someone
  • subscribe to shared folders:
    $ u1sdtool --subscribe-share=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx


  • If something goes wrong, try restarting everything:
    $ u1sdtool --quit
    $ ps ax | grep ubuntu # there should be no ubuntu processes running 
    $ u1sdtool --start
  • You can also take a look at the logs, located at "~/.cache/sso" and "~/.cache/ubuntuone/log/".
  • Getting the following error while logging in?
    an exception representing an authentication failure
    Check that your date, time and timezone are ok.
  • Check the official Ubuntu One Server Status Dashboard
  • Check the official Ubuntu One FAQ
  • Check the official Ubuntu One Common Bugs, Troubleshooting and Debugging Tips
Subscribe to RSS - fedora