How can I "diff" two files with Nautilus?

I have installed Meld and found out it's a great comparing tool. Unfortunately there is no integration with Nautilus 3.2. This means, I can't right click on files and select an option to open them in Meld for comparison.

I have seen in the tools comment that the tool need the diff-ext package to be installed. This package has been removed from Ubuntu universe, I am guessing because gtk 3.0. Even if I manually downloaded from source forge the diff-ext package, when I try to configure it the check fails with the message:

checking for DIFF_EXT... configure: error: Package requirements (libnautilus-extension >= 2.14.0 gconf-2.0 >= 2.14.0 gnome-vfs-module-2.0 >= 2.14) were not met:

No package 'libnautilus-extension' found
No package 'gconf-2.0' found
No package 'gnome-vfs-module-2.0' found

Ok, so from this output I gather that indeed gtk 2 is being required to install the diff extension to nautilus.

Now, my question is: Is there a possibility to integrate Meld into Nautilus? Or, are there any other diff based tool which integrate with current Nautilus? So gtk3 based.

I am using Ubuntu 11.10 if there was any doubt so far.


There is a useful python extension that incorporates Meld into Nautilus

enter image description here

enter image description here

how to install

Obtain the source or the deb package from the authors website.

wget http://www.giuspen.com/software/nautilus-pyextensions_3.4.1-1_all.deb

sudo apt-get install python-nautilus
sudo dpkg -i nautilus-pyextensions_3.4.1-1_all.deb

Search for pyextension in Dash and run Nautilus PyExtension.

Activate the meld extension (install it if asked) and click the restart Nautilus toolbar option.

GConf error

In case you find an GConf related error when trying to open Nautilus PyExtension, install "gobject-introspection" and "gir1.2-gconf-2.0":

sudo apt-get install gobject-introspection
sudo apt-get install gir1.2-gconf-2.0

You can also install the nautilus-compare package, available (starting with Ubuntu 12.04) from the standard Ubuntu package repositories -- run the following from a terminal:

sudo apt-get install nautilus-compare

This provides nautilus menu options for 2-way and 3-way comparisons. Meld is used by default, but any user-defined diff application can be used.

A significant advantage of this solution is that one can compare files or folders located in different directories (e.g. /home/user/a/b/c/file.txt and /home/user/d/e/f/otherfile.txt can be opened in different Nautilus windows, and compared against each other).


Nautilus script

An easier and more efficient alternative to installing a dedicated extension would be using a Nautilus script like the following one:

#!/bin/bash
meld "$@"

Installation instructions: How can I install a Nautilus script?