usbkey roaming

November 8, 2007

Max mentioned fedora on a usb key. I have to say  I really like having a live-key of fedora hanging around. It makes testing things simpler and it’s nice to show off to friends. Not so long ago I wrote a screed to an internal red hat list about what I thought the ‘online desktop’ should be about. It should be about my data everywhere/anywhere I want it. A system, a network connection and a usb-key should be all I need to get my desktop in front of me.

So I mucked about a bit and I came up with something that is a little bit of a start.

I worked on it off and on for a bit and I did the gconf diff-ing script and finally got something worth playing with, I think.

Here’s how it works:

1. sync-up: Grab this script and run it from your desktop like any other gtk-app – don’t run it from a terminal or it won’t be as cool 🙂

now you’ve just dumped a bunch of files up on your account at (or wherever you like, it just defaults to

2. boot with the livekey, login, bring up your network

3. quick-sync: Grab this script and run it from your desktop like any other gtk-app. It’ll grab the right files that you just sync-up’d and synchronize your gconf settings. Your screen may flash a bit as it brings your settings into line with the ones it downloaded

That’s it. Now, your usbkey has a lot of the stuff you’d want on it and it looks like your other desktops.

Now,  this isn’t a terribly exciting or interesting script, really. It’s an ssh script + zenity + rsync + a gconf-diffing python script it grabs. It’s not what I’d call legendarily intelligent.  However, the goal of this is just to prove that doing this from the live usb key is useful and quasi-functional. It syncs over the things I think of as valuable and also stuff I know is on the default usb key. 🙂

telling me this is dumb is fine.


6 Responses to “usbkey roaming”

  1. Looks cool.

    1. A little recoding bash -> Python
    2. a little Glade magic + some amount of PyGtk

    Then there is a new Feature for F9 🙂

  2. This is not dumb but awesome 😀 Looking forward to seeing how this develops!



  3. Kevin Kofler Says:

    What I think would be nicer would be to put the data ON the USB stick, in a separate partition from the live image. (Yes, it’s possible with manual mounting, but it should be supported out of the box.) Why bother with online accounts and a network connection when you’re moving your OS around on physical media anyway, why not move the data with you? Preferably in an encrypted file system (e.g. LUKS).

  4. skvidal Says:

    I don’t mind the data being on the key but I like the idea of my data only ever living permanently on a sealand server out in the middle of nowhere and accessible from anywhere. I like that by dropping my usb key and crushing it I’m out NOTHING. I like that I can hand this same key to anyone and not have anything compromised but they can use it identically to how I am using it.

  5. skvidal Says:

    So all the bits except for the rsync I can do in python. It’s just the rsync that’s got me a bit wedged. I know about rdiff-backup and duplicity that you use librsync in python but it’s not a very generic or easily used module set for a simple ‘put these files over there’ mechanism.

    I guess the other idea could be to use bzr as an rsync-like protocol – that’s easy to access from python.

    Other ideas?

  6. Seth,
    This moves logging into a Fedora workstation closer to logging into World of Warcraft. So, just typing your password at any machine running the distro requests your preferences and data from their proper place on the net, in order to present you with a customized, rich user experience. That’s what I want the online desktop to do. Now, it would be perfect if I also get “bing” sound effects when I commit changes.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: