The Linux desktop environment
In the early days of Linux (the early 1990s) all that was available was a simple text interface to the Linux operating system. This text interface allowed administrators to start programs, control program operations, and move files around on the system.
With the popularity of Microsoft Windows, computer users expected more than the old text interface to work with. This spurred more development in the OSS community, and the Linux graphical desktops emerged.
Linux is famous for being able to do things in more than one way, and no place is this more relevant than in graphical desktops. There are a plethora of graphical desktops you can choose from in Linux. The following sections describe a few of the more popular ones.
The X Windows system
There are two basic elements that control your video environment — the video card in your PC and your monitor. To display fancy graphics on your computer, the Linux software needs to know how to talk to both of them. The X Windows software is the core element in presenting graphics.
The X Windows software is a low-level program that works directly with the video card and monitor in the PC, and controls how Linux applications can present fancy windows and graphics on your computer.
Linux isn’t the only operating system that uses X Windows; there are versions written for many different operating systems. In the Linux world, there are only two software packages that can implement it. The XFree86 software package is the older of the two, and for a long time was the only X Windows package available for Linux. As its name implies, it’s a free open source version of the X Windows software.
Recently, a new package called X.org has come onto the Linux scene. It too provides an open source software implementation of the X Windows system. It is becoming increasingly popular, with many Linux distributions starting to use it instead of the older XFree86 system. Both packages work the same way, controlling how Linux uses your video card to display content on your monitor. To do that, they have to be configured for your specific system. That is supposed to happen automatically when you install Linux.
When you first install a Linux distribution, it attempts to detect your video card and monitor and then creates an X Windows configuration file that contains the required information. During installation you may notice a time when the installation program scans your monitor for supported video modes. Sometimes this causes your monitor to go blank for a few seconds. Because there are lots of different types of video cards and monitors out there, this process can take a little while to complete. This is where many of the customized Linux distributions can be lifesavers. Most of them take great effort to automatically detect video hardware and settings without asking you any technical questions.
Unfortunately, sometimes the installation can’t autodetect what video settings to use, especially with some of the newer, more complicated video cards. Unfortunately, some Linux distributions will fail to install if they can’t find your specific video card settings. Others will ask a few questions during installation to help manually gather the necessary information. Still others default to the lowest common denominator and produce a screen image that is not customized for your video environment.
To complicate matters more, many PC users have fancy video cards, such as 3-D accelerator cards, so they can play high-resolution games. In the past, this caused a lot of problems if you tried to install Linux. But lately, video card companies are helping to solve this problem by providing Linux drivers. And many of the customized Linux distributions now include drivers for specialty video cards.
The core X Windows software produces a graphical display environment, but nothing else. While this is fine for running individual applications, it is not too useful for day-to-day computer use. There is no desktop environment allowing users to manipulate files or launch programs. To do that, you need a desktop environment on top of the X Windows system software.
The KDE desktop
The K Desktop Environment (KDE) was first released in 1996 as an open source project to produce a graphical desktop similar to the Microsoft Windows environment. The KDE desktop incorporates all of the features you are probably familiar with if you are a Windows user. Figure 1 shows a sample KDE desktop running on Linux.
The KDE desktop allows you to place both application and file icons on the desktop area. If you single-click an application icon, the Linux system starts the application. If you single-click on a file icon, the KDE desktop attempts to determine what application to start to handle the file.
The bar at the bottom of the desktop is called the Panel. The Panel consists of four parts:
■ The K menu: Similarly to the Windows Start menu, the K menu contains links to start installed applications.
■ Program shortcuts: These are quick links to start applications directly from the Panel.
■ The taskbar: The taskbar shows icons for applications currently running on the desktop.
■ Applets: These are small applications that have an icon in the Panel that often can change depending on information from the application.
This is only a partial list of applications produced by the KDE project. There are lots more applications that are included with the KDE desktop
The GNU Network Object Model Environment (GNOME) is another popular Linux desktop environment. First released in 1999, GNOME has become the default desktop environment for many Linux distributions (the most popular being Red Hat Linux).
While GNOME chose to depart from the standard Microsoft Windows look-and-feel, it incorporates many features that most Windows users are comfortable with:
■ A desktop area for icons
■ Two panel areas
■ Drag-and-drop capabilities
Other desktops
The downside to a graphical desktop environment is that they require a fair amount of system resources to operate properly. In the early days of Linux, a hallmark and selling feature of Linux was its ability to operate on older, less powerful PCs that the newer Microsoft desktop products couldn’t run on. However, with the popularity of KDE and GNOME desktops, this hallmark has changed, as it takes just as much memory to run a KDE or GNOME desktop as the latest Microsoft desktop environment. If you have an older PC, don’t be discouraged.
The Linux developers have banded together to take Linux back to its roots. They’ve created several low-memory-oriented graphical desktop applications that provide basic features that run perfectly fine on older PCs. While these graphical desktops don’t have a plethora of applications designed around them, they still run many basic graphical applications that support features such as word processing, spreadsheets, databases, drawing, and, of course, multimedia support.