Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

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: http://www.kernel.org/
If you want to learn about kernel hacking, check out this site: http://www.kernelhacking.org/

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 http://www.gnome.org or http://www.kde.org
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 xfree86.org or kde.org.
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 http://www.kde.org 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.
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.


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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Looking for Linux Network Interface Card Driver for a 3Com 3C9050 and instructions on how to install 16 113
what does getent do 3 52
Linux 10 111
Embeded Linux on Router 9 109
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 fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

840 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