What are the hardware and software options for programming an XMEGA from Linux?
I find that command-line avr-gcc and avrdude work great on Mac OS X for programming xmega; Should work equally well under linux.
Use Eclipse + AVR-GCC plugin + AVR-GCC Toolchain and it should all work pretty great. This link has some advice on building and setting up the toolchain. You will (obviously) also need a programmer, and there are lots of options, but I use the AVR-ISP mkII. I will caveat this by admitting I've only developed for AVRs in windows, but using the same set of tools...
Here I'm using avr-gcc v4.8.2 (both Atmel release and home-grown produce identical results), with AVR Dragon and avrdude 6.1-svn from September - there have been some updates since I believe. avarice 2.13svn works, used with avr-gdb 7.6, which I believe is also a bit dated now. Most of my interfacing in the meantime is via the Chip45 bootloader, in my case for Xmega128a4u