Before buying a scanner, visit the supported scanners list of the SANE Project to verify if what's compatible and what's not.
From the SANE project introduction:
SANE stands for "Scanner Access Now Easy" and is an application programming interface (API) that provides standardized access to any raster image scanner hardware (flatbed scanner, hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The SANE API is public domain and its discussion and development is open to everybody.
I've had a pretty good experience with the Canon LiDE 20. Right off the bat, it works with Ubuntu's built-in scanner client. No configuration necessary to get it up and running.
The Canon LiDE 20 has been discontinued and replaced by the Canon LiDE 25. I can't vouch for the LiDE 25, but the SANE web site does say that compatibility is good. Price-wise, it's a little more expensive than the LiDE 20, but it's still in the same price range.