You are probably enrolled in a computer science course. You have learnt or learning C right now. You have heard about Open Source, Linux, GNOME and interested to try it out.

But you have always worked all your life in (cough...) an alien operating system....

Welcome to the exciting world of Linux, GNU, GNOME :-)

You are not alone.

This page attempts to arm you with the bare essentials that you need to know to get started off towards fixing your first bug / contributing the first line of code to the community. It also provides you pointers for good sources of further learning - setting you off on a never-ending, exciting journey.

The basic tools in your box that you will use in your craft are :

  • Shell and the commandline - yes, the cool, powerful, quick yet extremely humble - gnome-terminal and the bash shell. man bash  or info bash

tells you all that you need to know (and may never need to know) but you can learn the basics for everyday use from here.

  • A good Text Editor - vim/Emacs/<add your own favorite here>. Stay away from the holy wars. Pick one (any) and learn how to use it well. Google for

<Your editor> quick reference card  - print a copy and tape it to your desk. You now have access to most of the commands you would ever use, at a single glance.

  • CVS - Obtain a quick reference card on CVS too. Yes, jhbuild helps out in obtaining the code without having to learn all the required commands - but soon you will be

generating diffs and sending patches ( and after a while, when you have arrived :-) , you will start committing them as well ). For starters, look hard at  cvs update  and  cvs diff .

* find, grep, diff and patch - your best friends - Use man/info and learn them well.

   Tip : An extremely useful (and used) command 
            find <your module directory>  -name '*.[ch]' |xargs grep -n <your search term> | less

* Learn the code naming and formatting conventions and patch generation guidelines of the module which you are hacking on. You can find the information on Evolution's guidelines here.

Attic/LinuxPrimer (last edited 2013-11-23 01:11:19 by WilliamJonMcCann)