Disclaimer: this is a hack from someone who doesn’t know Tomboy well. It seems to work for me, but YMMV. And I have backups.
I wanted a way to sync Tomboy on my Ubuntu desktop with Conboy on my Nokia N900, but Conboy only syncs to Ubuntu One—a proprietary web service. Snowy synchronization support is supposed to be on the way, but Snowy itself is still under heavy development, so this might be a great option in the near future, but not today.
A comment on maemo.org made me think that rsync over ssh was a possibility, and a quick rsync showed this to work (as far as I can tell). The trick is being able to sync changes back and forth; rsync can’t handle updates to both the source and destination—it’s unidirectional.
Hence, Unison—a bidirectional synchronization utility. In case it’s useful to anyone else, this is how I’ve setup Unison to sync notes between Tomboy and Conboy.
Step 0: Some things you should know
First, I want to be clear that this is a temporary hack while I wait for proper synchronization support through Conboy with Snowy.
Prerequisites: I already have OpenSSH running on my server, and I have key-based ssh access configured from both my laptop and N900. Unison syncs remotely over SSH.
What this does: It allows me to synchronize notes and changes to notes from my N900 to my laptop, and potentially to any number of other computers.
What this doesn’t do: Unison has support for handling conflicts, but it’s not the least bit Tomboy-aware. A proper Tomboy sync might give you the option of renaming a note that has been changed in more than one place, but with Unison, you’ll be looking at diffs and merges of cryptically named XML files. So, I don’t recommend relying on Unison to sort out conflicts. I plan to sync often, backup often, and avoid conflicts as much as possible. This is for advanced users.
Tomboy Concerns: I’m using Tomboy, but actually quite uncomfortable with the risk, since it depends on Mono. I’ve considered switching to Gnote, but haven’t yet because I’m concerned about losing data/synchronization compatibility. But, this solution might work for Gnote too, and I may well s/Tomboy/Gnote/g in the near future.
Step 1: Desktop
1A: Install Unison
Unison is cross-platform and available for a variety of operating systems
I have Ubuntu on both my laptop and server right now, and I’m syncing through that server (instead of directly to my N900, which would be another option).
In Ubuntu, you can install unison with the command:
sudo apt-get install unison
Or, if you want a GUI:
sudo apt-get install unison-gtk
1B: Create a Unison profile for Tomboy
I created a file called ~/.unison/notes.prf with the following text:
# Unison preferences file
root = /home/balleyne/.local/share/tomboy/
root = ssh://alleyne.to/.local/share/tomboy/
I decided to sync my notes with the Tomboy directory on my server, which is also a workstation.
Now, I can synchronize the notes on my laptop with my server by running the command:
unison notes
1C: Enable NoteDirectoryWatcher Add-in for Tomboy
Tomboy doesn’t automatically look for changes to notes on the file system unless you enable the NoteDirectoryWatcher Add-in: Edit > Preferences > Add-Ins > Tools > Note Directory Watcher > Enable. This way, Tomboy will accept any changes you get from the Unison sync.
Step 2: Mobile
2A: Installing Unison in Maemo 5
To compile Unison, you need the OCaml compiler. To compile OCaml, you need the gcc compiler. I began the process of compiling compilers, but then realized that there were some unison .debs available already:
These were compiled for an older version of Maemo, but the command line version seems to be working fine for me in Maemo 5. Note, that if you use the GUI, it’s standard GTK, not a Maemo port, so you might need the stylus to use it.
To install, I ran the following commands:
$ sudo gainroot
# wget http://www.bundyo.org/maemo/unison/unison_2.27.57-2_armel.deb
# dpkg -i unison_2.27.57-2_armel.deb
2B: Create a Unison profile for Conboy
Similar to step 1B, I created a file at ~/.unison/notes.prf:
# Unison preferences file
root = /home/user/.conboy
root = ssh://alleyne.to/.local/share/tomboy
Now, I can sync my mobile computer with the server by running the command:
unison notes
And there was much rejoicing.
Conclusion
With Unison configured, I now have a basic, low-level sync between Tomboy and Conboy. I’m getting into the habit of syncing every time I change anything, to avoid conflicts. This should tie me over until a Conboy Snowy sync is available.


Thank you very much! I’m using it to synchronize directly between my notebook and the n900.
Desktop is Ubuntu 10.04
in the unison config file I needed to add a second slash between hostname and path. Now it looks like this:
# Unison preferences file
root = /home/mgafner/.local/share/tomboy/
root = ssh://user@tuxli.local//home/user/.conboy/
Ah, yeah, that second slash would be for the absolute path combined with ssh.
Cool, glad it’s working for you!