At the moment I'm using the Linear Technology LTSpice program for schematic capture and simulation.
I've usually got the gEDA GNU-licensed computer aided circuit design package installed on my Linux partition, which should offer netlists compatible with most printed circuit layout programs, including the GNU-licensed PCB (also part of the gEDA package).
It's reputed to have a steep learning curve, and while I've used it to sketch elementary bits of circuit from time to time, I've yet to take a serious design through to production-level documentation with it. It looks to be a bit more accessible than the packages I have used to take serious designs through to production-level documentation, but I don't expect to master it over-night.
For programmable logic devices, I used to use the ICT Place software, but I'm now waiting for an electronic problem that will let me choose between Xilinx and Lattice and the appropriate programming software for their ISR (in-system-reprogrammable) parts.