Selecting a GUI for Linux
Joe Zonker Brockmeier
You've probably been using Linux for years as a workhorse system for file serving, Web serving, and other thankless tasks. When Linux first came into the shop, it was as a server only and little thought was given to needing a graphical user interface (GUI). Recently, the focus on Linux has been as a workstation or desktop operating system. It's little wonder -- the advantages of Linux over other desktop offerings in terms of speed, reliability, and cost of ownership are huge. However, one thing you don't have to think about with other operating systems is what GUI to use. From a systems administrator's point of view, choosing a GUI for Linux doesn't mean picking the prettiest of the lot, but finding a GUI with the features users need with the lowest cost of ownership.
With Linux, there are many GUIs to choose from. In this article, I'll provide a brief overview of the features of the three most popular GUIs for Linux and try to ease the path through the jungle for sys admins who until now haven't had to worry about anything other than Linux's command line interface. Although there are dozens of Linux GUIs out there, the big three are CDE, KDE, and GNOME. Many of the GUIs for Linux are window managers only, but these three are complete desktop environments. Each GUI includes user tools, applications, network utilities, and development tools.
CDE, the Common Desktop Environment, has been around the longest. If you have a UNIX background, you've probably seen CDE before. CDE is a commercial product that is not free in any sense of the word. CDE is licensed by the Open Group and was originally designed as a standard for UNIX desktops under the COSE (Common Open Software Environment) initiative by Hewlett-Packard, IBM, Novell, and SunSoft. CDE is not as widely used in the Linux community as the other GUIs. However, if you are integrating Linux workstations amongst existing UNIX workstations and wish to keep a standard GUI, CDE might be a good bet.
KDE, the K Desktop Environment, is an Open Source project that derives features from CDE, Windows 9x, the MacOS, and also includes some innovative features of its own. The KDE project began in 1996 and has made amazing progress. The current version is 1.1.1, and the 2.0 version is in development. Although KDE is not a commercial product, it does receive some support from Linux distributors, and it is undergoing rapid development. At last count, there were several hundred developers working on KDE, and 110 working on translation alone! KDE uses the Qt libraries, which were not under an Open Source license by the strictest definition. KDE is the default GUI for most Linux distributions and is included with all major distributions.
GNOME, the newest GUI to the party, is also known as the GNU Network Object Model Environment. (Free software geeks love recursive acronyms.) GNOME was created in response to the fact that there were no completely free desktop environments for Linux and other Open Source operating systems at the time. GNOME is completely Open Source -- everything included with GNOME is licensed under the General Public License. GNOME is included with most Linux distributions. Unlike KDE and CDE, GNOME does not come with a standard window manager. Instead, GNOME works with GNOME-aware window managers like Enlightenment and Window Maker.
Cost of Ownership
Cost of ownership is usually the most important consideration when choosing hardware, operating systems, or application software -- what is the total cost of ownership? Good administrators won't save $10 on a network card that is likely to fail and cost $100 in lost time and labor to replace later, and they haven't gone with Linux on price alone either.
Of the three GUIs mentioned above, only CDE requires a license to be purchased for use. KDE and GNOME are available for free via download and require no licensing. Of course, cost of ownership goes beyond the initial purchase price. However, if you're setting up more than three or four Linux workstations, you can be looking at a hefty fee to equip each of them with CDE. Xi Graphics' version of CDE, bundled with their Accelerated X Display Server, has a suggested retail price of $199.95 for one license. Even with quantity discounts, that can get expensive fast.
The other major question of cost of ownership is the stability and performance of the GUIs. Free software isn't a bargain if it's too buggy to use. Most of us would prefer to install software once, configure it, and forget it exists. Having used each of the GUIs for some time, I've found no stability issues with CDE, KDE, or GNOME. The 1.0 release of GNOME was somewhat buggy, but GNOME has matured very quickly. The best scenario would be to install each desktop on a testbed machine similar to the machines that they will be deployed on and put them through their paces.
Each of the desktop environments include everything a user would expect with a modern OS. User tools include file managers, calendars, mail clients, calculators, online help, etc. The one problem with KDE and GNOME's online help is that it isn't always complete. Several programs under KDE and GNOME have only partial help files available for them at this time. The biggest downfall with most Open Source software is not in the quality of the software, but the availability of freely available documentation. CDE offers support for English, German, Spanish, French, and Italian. KDE and GNOME support at least 30 languages, with more support on the way.
Each desktop also includes configuration tools for the user to easily customize the look and feel of their environment. This is a major improvement for most users compared to the typical window managers available under Linux, which require customization to be done to text files by hand. While this is okay for the systems administrator, it doesn't work well for end users.
KDE and GNOME both come with a dizzying array of network tools, games, system tools, and other utilities. CDE is slightly more modest in the bundled software (as packaged by Xi Graphics), but it does include a number of useful tools including Adobe Acrobat reader, postscript and image viewers, and calendar and mail tools.
KDE and GNOME also include image and postscript viewers, calendar applications, and mail applications. Neither comes with the Adobe Acrobat reader, but it is freely available from Adobe's site. Tools included with KDE range from extremely useful to time-wasting. The tape backup tool, KDat, and the KFloppy floppy formatting tool simplify tasks that would intimidate most users unfamiliar with Linux or UNIX. The Font Manager greatly simplifies using fonts under Linux, something that Linux really needs before it can become a viable desktop option.
KDE also includes several SOHO type tools that would make KDE an attractive option for people wanting to use Linux in an office environment. A personal time tracker, the KOrganizer application, and address book applications are all very useful apps not currently included with CDE. The KDE project is also in the process of developing the KOffice suite. Now in an alpha stage of development, KOffice is a suite of applications that, when completed, should give Microsoft Office a run for its money. (Granted, that's quite a bit of money...) KOffice currently includes ten office programs, including word processing, a database application, and presentation and layout software. The fact that the applications are in alpha doesn't mean that they aren't stable, but they're not yet feature-complete. KOffice can be found at http://koffice.kde.org/, if it's not included in your Linux distribution.
Developers will appreciate KDevelop, a C/C++ IDE that allows programmers to develop KDE applications in a GUI environment. Although many Linux programmers shun IDEs in favor of Emacs or vi, KDevelop will be comforting to those developers who are newer to Linux. KDevelop is not included in the default KDE install, but is available from http://www.kdevelop.org/.
GNOME also has a time tracker, a calendar, and comes with a killer app for number-crunchers -- the Gnumeric spreadsheet application. Gnumeric is currently at version .38, but seems stable and is feature rich. GNOME also includes office apps, but there aren't quite as many as in KDE. The GNOME Workshop project is working on an office suite for GNOME as well, but it is not as far along as KOffice.
Currently, KDE is probably the best bet for an office-type environment. The K Window Manager will be more familiar to users accustomed to Windows or the MacOS, and KDE is slightly farther along the development path than GNOME. However, as with all Open Source projects, that could change rapidly. The best bet may be to install both environments, which will allow users to use applications designed for either KDE or GNOME. The beauty of using Linux and Open Source solutions is that you're not locked into solution A or solution B -- you can choose both!
The version of CDE distributed by Xi Graphics requires a Pentium or better processor, at least 32 MB of RAM with 64 MB recommended, and about 135 MB of free space on your hard drive. The company also recommends using CDE with their Accelerated-X server, rather than the free X servers distributed by the XFree86 project.
KDE and GNOME have slightly more modest system requirements than does CDE -- that is, they will run on 486, and possibly 386, processors. However, it is unlikely that anyone would be greatly pleased with the performance provided by a system with less than 16 MB of RAM and a Pentium-class processor. KDE and GNOME run just fine on XFree86 servers.
There is not a clearly superior product between CDE, KDE, and GNOME. However, unless you're looking for compatibility with machines already using CDE, it doesn't seem to offer enough benefits to justify the price tag. On a typical UNIX workstation, the cost of CDE was marginal compared to the cost of the hardware. On today's PCs, CDE would represent a large chunk of the cost compared to any other component of the system.
Unless there is a clear reason to require a unified desktop in the workplace, the best solution would be to install KDE and GNOME and allow the user to choose the desktop environment that they're most comfortable with. This can be done almost as easily as installing only one environment, and allows the end user to choose the preferable desktop.
About the Author
Joe Zonker Brockmeier has been working with, and writing about, Linux since 1996. Zonker is the VP of Marketing for LinuxMall.com and edits the Linux Newsletter, along with his other duties. His first book, Installing, Configuring and Customizing Slackware Linux will be published by Prima Publishing in early 2000. He can be contacted at: firstname.lastname@example.org.