Getting Xastir functional (With GPS, and decent maps) has been a bit of a challenge. One, that I almost threw my hands up and gave up.
However, some little arcane knowledge about how Linux used to be maintained (Through source tarballs + compilation), rather than through a software manager saved the day.
Turns out, recently, the gpsd team changed how gpsd gave out the information to it's clients. It broke a good many GPS-utilizing software. Xastir included. But, as is the nature of open source, it was fixed rather quickly. A couple of weeks.
So, with that knowledge, I apt-get'd xastir, gpsd, gpsd-clients, and tried to get it to work. Turns out, Ubuntu hasn't updated the packages as of yet. So, you still have a broken implementation of Xastir.
So, apt-get purge xastir. cvs checkout xastir, and then compile. These steps here are very detailed, and effective. And, you get built in osm map support. Coupled with the caching ability of Xastir, you get a good set of maps wherever you drive.
Also, as a side note, the Ubuntu repository version of soundmodem is broken as well. The diagnostics screens freeze after about 10 seconds. Again, download the source tarball, and compile (PS, if you build Xastir first, the only additional libraries you will need are libgtk2.0-dev and libasound).
If anyone is pushing through this process and gets stuck, feel free to PM me, or post in the thread here. I'd be more than happy to help, and I'm sure many others here can chime in with support.