Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Imagine I have three Ubuntu computers home, laptop, beach-house. They all have the same version of Ubuntu, 10.04 installed, and are kept up to date from the repositories.

I use f-spot, thunderbird, and google-chrome on all of the computers. Is there a way to keep the data and configuration in sync across them, without requiring constant connectivity for normal (non-synchronous) usage?

For example, they should be usable without network connectivity, so something like NFS won't work.

An ideal solution would not require manual action to start the syncing process.

share|improve this question
    
A similar question has been asked: ubuntu.stackexchange.com/questions/69/… –  Marco Ceppi Aug 10 '10 at 23:13
3  
Does the accepted answer get a weekend in the beach house? ;-) –  David Z Aug 11 '10 at 1:54
add comment

closed as too localized by Luis Alvarado Mar 14 '13 at 16:36

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

Are you regularly on all three systems simultaneously, doing lots of data changing on all of them? If not, is there any reason an rsync on login and another on logout wouldn't do? Perhaps not the perfect solution, but adequate...

On login:

rsync -avz -e ssh remote1:~/.thunderbird/ ~/.thunderbird/
rsync -avz -e ssh remote2:~/.thunderbird/ ~/.thunderbird/

On logout:

rsync -avz -e ssh ~/.thunderbird/ remote1:~/.thunderbird/
rsync -avz -e ssh ~/.thunderbird/ remote2:~/.thunderbird/

where remote1 and remote2 are whichever two systems you're not sitting at?

share|improve this answer
add comment

For google chrome enabling sync will sync your bookmarks. In newer versions it allows you to sync autofill, bookmarks, extensions, preferences, and themes.

share|improve this answer
add comment

Jorge Castro says "in newer versions" Chrome will let you sync history. I have the latest; I don't see it as an option. Since this is a feature dear to my heart, please let me know where you saw this information.

Or did you mean "future versions"?

share|improve this answer
    
My answer was incorrect, it currently doesn't do history. I've edited it to be correct, thanks! –  Jorge Castro Sep 13 '10 at 19:39
add comment

XMarks can sync your bookmarks, passwords, and open tabs between Firefox and Chrome (and a few others) on different computers.

DropBox for F-Spot.

share|improve this answer
add comment

Apps like f-spot, thunderbird, and google-chrome all use some form of binary database to store their data. Trying to sync things like this where there's the possibility of the same app accessing/modifying the file at the same time could get really messy.

Instead you want to look for application-specific solutions.

  • With thunderbird, I would say use IMAP. If you don't have it, GMail supports it. You could have thunderbird upload all your email there, or better yet, have GMail pull in email from your other accounts. You also gain pretty decent webmail and a great spam filter for free.

  • Firefox has (amongst other things) Firefox Sync.

  • Chrome has a sync feature built in, documented here.

  • F-Spot is tougher. Perhaps consider something to sync the files but not the database. This would mean you'd need to scan for new files all the time but only if you needed to use F-Spot on every computer.

    You could limit yourself to using F-Spot on one computer and just accessing the files on the others. Of the three, the F-Spot database is the most fragile so be careful if you do share the database file.

share|improve this answer
add comment

To synchronize data, such as documents, use UbuntuOne or DropBox. I can really recommend the latter. This assumes that you don't mind storing your data in a company's data center or cloud. I'm not sure about sharing your music collection through the internet. My network connection is not fast enough to allow this, so I'd go with manual copying or using rsync regularly.

For configuration, there are two different cases: applications that use regular text files as configurations, and those that use a gconf, a database or something nonstandard. For the former, you can store the dotfiles (for instance ~/.vim/, ~/.zshrc) in a subfolder of your Dropbox (or UbuntuOne) folder, and then symlink the files back to your $HOME directory. This works well.

As to the applications you mention, it seems that none of them use simple text files as configuration. That means, in essence, that you can't effectively synchronize them. The reason is that, if there is a conflict, you won't be able to resolve it. Furthermore, some parts of the configuration directory, such as cache files, are bound to be system-specific or otherwise inappropriate for synchronization. In these cases, I say don't bother with synchronization, and just copy over the config directory once. There's an exception, however: applications that natively support sharing a configuration across multiple computers. Firefox can do this, and recent versions of Google Chrome can store at least some parts of the configuration in your Google profile (check your preferences). I'm not sure sharing plugins/extensions is supported, but it's a feature that is being worked on.

share|improve this answer
    
For two-way synchronization (i.e. when sometimes side A will be more recent than B, and sometimes side B will be more recent than A), use unison, not rsync. –  Gilles Aug 10 '10 at 21:59
    
The Dropbox/UbuntuOne idea will cause trouble if more than one of the machines is online at the same time. Especially with the thunderbird folder. –  Source Lab Aug 10 '10 at 22:28
    
@Source Lab- as I said, Dropbox oughtn't be used for application data. It's not a good idea to sync your thunderbird folder. That's what IMAP is for anyway. –  loevborg Aug 11 '10 at 9:13
add comment

You could use a startup script that syncs (with rsync) the necessary files if the network is up. Hence you could use upstart to trigger the script and base it on the network ready event.

Alternatively, maybe it would be possible to use Ubuntu-one for the synchronization of the files in question.

share|improve this answer
    
Not a good idea on a desktop machine, the network ready event is sent way before the machine is online since it doesn't usually doesn't go online until you login and the NetworkManager applet initiates a connection. –  Source Lab Aug 10 '10 at 22:22
    
This is true for wireless connections but not for ethernet connections. –  txwikinger Aug 11 '10 at 0:18
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.