I've been using EAGLE (v4) for a few years under Linux and Windows, starting with the freeware version and then upgrading for larger PCB support.
It's very easy to learn, and has its own online community of users who upload their own device definitions, so that if the part you want isn't already in the included libraries, if it's a popular part, it's probably on the website for free download.
The PCB layout editor draws straight line signals between pins that are presently unrouted based on a shortest path rule, and the routing function uses a 'snap-to' to select the closest unrouted signal - this makes simple layout sections (such as short parallel bus lengths) very quick, but can be quite frustrating when you want to start routing from another point in the signal. Fortunately a command entry option allows this to be overridden. The next most annoying feature is that flood-fills are re-evaluated whenever you ask for the unrouted signals to be re-drawn - only usually a problem when you make significant changes to an existing layout.
Overall, I really like the package and have used it for many projects from tiny home-produced boards to professionally produced multi-layer with tin, stop and silkscreen. The auto-router is handy for inspiration (remember to save beforehand, as there's no undo on autorouted tracks) or the tedious bits that would involve lots of clicking but not much thinking. The schematic editor and layout editor are linked very well, allowing changes made in the schematic to automatically force changes in the layout, and device package specification can be changed from either allowing parts to be quickly swapped for ones of a different size. Basic rule checking warns of silly mistakes such as power supplies left disconnected or incorrectly wired.
Well worth having a play with if you're after a schematic and/or layout package that'll run on a regular PC and doesn't cost a fortune.