Tinkering with Linux code

Posted on 2003-12-07
Last Modified: 2010-04-22
Hi I am new to the Linux environment but am wondering if anyone can tell me where is the best place to go in order to find out how to edit the LINUX source code in particular the graphical User Interface. And what should I be aware of when doing so...
Question by:myleseven2
  • 3
  • 3
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 9893655
It depends ...

First of all, you have to understand where the different parts come from. "Linux" is just the kernel. You can download the source code here:
If you want to learn about kernel hacking, check out this site:

The graphical user interface is based on XFree86. You can find more about this project at

What you usually see when you look at a Linux system is a desktop environment like KDE or Gnome. If you want to learn more about this, go to or
Both environments have documentation about how to program for their respective systems.

Author Comment

ID: 9893847
So does this mean that xfree86 is the interface for KDE?
If I wanted to learn how to remove things from the Desktop or customize what appears from the desktop should I go to learn from or
For example I would like to develop a very simple interface environment for my grandfather to allow him to load up his computer and then just be presented with 1 or 2 buttons to take him to eg Email or Write a letter etc, and then maybe have a big Turn Off button on the screen to allow him to turn off the computer easily.
Can I hide menus and things like that that only confuse him?
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 9893925
All the things you've listed can be done with just some configuration of KDE. There is no need to start programming. Just visit and read the user documentation.

If you look at the KDE interface, you will see that most of the things you want to do are already on the UI (e.g. the button for EMail or Write). The menus can be confusing, but you have full control over what gets displayed, so you can remove the ones you don't need.

You are right, KDE is built on top of XFree86, so XF86 is the interface that KDE (or Gnome) uses to paint on the screen.
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline


Author Comment

ID: 9894053
Wow all that info looks great to get started with...
 if I wanted to develop a simple email or word program for him, would you recommend starting from scratch or from making adjustments to someone elses source code?
I have expereince in Borlands Delphi and have heard that there is version of this that can be used for Linux called Kylix, do you know of this and if using Kylix would be a good way to begin programming in Linux, from what I have read though I need to know C++ or java... what do you think?

thanks heaps
LVL 44

Accepted Solution

Karl Heinz Kremer earned 120 total points
ID: 9894082
Before you start to develop a mail application or an editor, please take a look at what's already available.

If you really think that none of the existing applications does what you need it to do, you should seriously consider modifying an existing application. Doing this from scratch is a lot more work. You also have to solve all the problems other applications have already solved. Good user interface design is something that requires a lot of experience. We can probably assume that an application that's used by a number of people is better than something that you can come up with for one user (please don't get me wrong. I have no idea about how good you are and it's certainly possible that you have a huge experience in human factors, but chances are that you don't,a nd this is a potential problem).

If you decide to start from scratch, you can probably work with Kylix. I've never used it. All I know about it is that it's a distant relative of the old Turbo Pascal.

Author Comment

ID: 9894278
I think modifying an existing application would be the best way to go, thanks heaps for your help that was awesome :)

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to demonstrate how we can upgrade Python from version 2.7.6 to Python 2.7.10 on the Linux Mint operating system. I am using an Oracle Virtual Box where I have installed Linux Mint operating system version 17.2. Once yo…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Here's a very brief overview of the methods PRTG Network Monitor ( offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now