Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Tinkering with Linux code

Posted on 2003-12-07
Medium Priority
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
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
  • 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.
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


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 480 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

Basic Security of Your VPC

So, you’ve got this shiny new VPC and a fancy new application configured on your EC2 servers ready to go. This application is only accessible from your computer, which is great for security, but you need your users to be able to access it! So, what’s the easiest way to do this?

Question has a verified solution.

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

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…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

670 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