Image by gigasoft via FlickrOpen up your Ubuntu Hardy (or later version) file manager and press CTRL+F to start a search. You'll notice that it's slow and only searches by name. Sure, you've got the deskbar (unless you're using a recent version of Ubuntu) and can get Tracker full text search, but why wouldn't you want Tracker integrated with Nautilus? Well, it turns out that a lot of people didn't want it and the integration was stopped after Gutsy (what a bone-headed decision that was!). Don't bother trying to report this as a bug, even though the Nautilus project and the Tracker project both claim integration with each other -- it'll just be marked "Invalid" or "Won't fix." Wake up. Modern desktops have this kind of integration.
So what's a person to do? Are you going to run off to another Gnome distro which doesn't do this? You have the power of the source. Use the source, Luke! Fix your crap. It's an easy cut and paste job for you. Just open a terminal and paste the following in (I'll explain later what each part does):
sudo apt-get build-dep nautilus
sudo apt-get install build-essential libtrackerclient-dev \
apt-get source -b nautilus
sudo dpkg -i libnautilus-extension*.deb nautilus*.deb
You should now have a near-instant search via full-text Tracker. Have fun.
- We're going to need to recompile nautilus, so we need to get the build dependencies for Naultilus. The first line does this automatically without having to work through everything manually.
- Since the Tracker dependencies weren't installed, we need to include those. We also need fakeroot since we don't want to build as root -- fakeroot is a package which keeps us from needing to use those priveledges while building the package. Build-essential makes sure that we have all the build tools installed. I normally have them, and I'm not sure whether you actually need to have this package on the second line or not (due to build-dep above), but it doesn't hurt to have it and I don't want anyone's build failing. The backslash in the middle of that line makes a carriage return possible without executing the command.
- We retrieve the source for Nautilus and automatically build it. Since Nautilus checks for Tracker during compilation, we don't need to mess with any compilation flags -- that's handled automatically.
- We install the new packages.
- We need to kill Nautilus to restart it.