KiCad is a Free Open Source Software (FOSS) suite for Electronics Design Automation (EDA). It contains various tools that facilitate the creation of schematics and the design of Printed Circuit Boards (PCB).
In Ubuntu you can get Kicad using the following command:
sudo apt-get install kicad
KiCad can be used without restrictions on PCB size and it's free for non-commercial and commercial purposes. I have used KiCad for a few projects and I'm satisfied with the results.
One of the downsides of KiCad is the small library that comes with it. Luckily, there are quite a few libraries available on the net. Of these libraries, the most helpful one IMO is the Walter Lain's library that contains hundreds of footprints and 3d models.
The aforementioned library comes in two flavors: one for Windows and one for Linux, but I noticed that this wasn't necessary, so I modified the structure of the library to make it work under Windows and Linux at the same time. I have named this modified library "libKiCad" and it's available in the following repository.
For now libKiCad contains the same footprints and 3d models that the original library, but I'll be adding more components as per my needs and as time permits.
Now for the schematics symbols, I think the best place to start is the latest KiCad official library and then create the additional components you need.
I'll try to contact with the maintainers of the KiCad official library and see if I can contribute some schematics symbols I have created.