I'm fairly new at geocaching, and have been looking into various Linux software. I use gpsman for planning routes and seeing caches near each other. (QLandKarte is also a fairly workable program, but it's in beta and has trouble communicating with my Garmin eTrex basic yellow.)
Mostly though, I use gpsbabel to translate downloaded LOC files to GPX and upload them to the unit in one command.