![]()
Linux for Newbies, pt. 18 Linux for Newbies, pt. 18:
X Window Revisitedby Gene Wilburn
(The Computer Paper, Jan 2001. Copyright © Wilburn Communications Ltd. All rights reserved)
Linux works so well from the command line that you can easily shell into a Linux box and live there without a serious need for graphics. Command-line computing is a venerable Unix tradition that has lost none of its value over the years. Nonetheless, we live in a graphics world and if you've come to Linux from Windows, Mac or OS/2, you probably want the amenities that a nice GUI provides.
Linux has had graphical capabilities for a long time. Through X Window you can set up a Linux workstation that is thoroughly modern and pleasant. Our next stop on the Newbies train is to explore the contemporary world of X and the applications that live there.
Back in Part 5 ("Setting up X Window") we learned the basics of installing X Window on your Red Hat Linux system. (For any late-comers, this series is based on Red Hat Linux 6.X). If you had enough disk space and memory available when you installed Linux, you undoubtedly already have X installed. I'm going to assume you have X up and running.
X Window System
While X Window can turn Linux into an environment that looks similar to that of Microsoft Windows, Macintosh and OS/2, there are some fundamental differences. X is not an integral part of the operating system--it runs on top. This increases stability. If a graphical app goes berserk, for instance, it doesn't take the entire operating system down with it. X is also portable, running on Linux and other Unix-like operating systems such as FreeBSD, NetBSD and OpenBSD.
On the minus side, because X is less integrated into the OS there are occasional challenges in getting it installed properly. X is also a bit slower, overall, than an integrated graphical environment. Everything in system design, as in life, is a series of tradeoffs.
The X Window System, like Linux, is an open-source product. It comes from the XFree86 Project (www.xfree86.org) where it is available as source code. Most Linux distributions provide binaries so you don't have to compile the source. X is the fundamental graphical tookit that makes a graphical environment possible on Linux and BSD.
X uses some confusing terminology. When you run an X program on your Linux box, it is the X Window client and it connects itself to an X Window server. The display system of your PC is your X server. And because X is a networked client/server system, you can easily initialize X programs on one box and run them on the X server of another across the network. The remote system can be another Linux box, another Unix box, or Windows or Mac running an X server such as Hummingbird eXceed or Reflection X.
And to make things even more confusing, X by itself isn't enough. You need a windows manager to run on top of X before you have an environment. This is where the fun starts. Linux is about choice and X offers choices galore.
X Window managers range from relatively lightweight ones such as FVWM and IceWM to the heavyweights such as KDE and GNOME. I use IceWM on my old memory-challenged ThinkPad portable and GNOME and KDE on my higher-end workstations. There are window managers available for X that look like Windows, Macintosh, and NextStep as well as windows managers that have a unique look and feel. They come lean, they come fat, they come in everything in between. Experimenting with different window managers is as addictive as sampling choclates from a Laura Secord assorted collection.
But to really understand the full potential of X--to see it in its most contemporary apparel--you need to try KDE or GNOME. That's where today's serious action is.
The history of these two projects is somewhat tangled and the proponents of both camps take occasional potshots at each other over the question of "purity". It all stems from philosophy. KDE was started by folks who were not particularly concerned about licensing issues. To speed up the development of KDE, the developers used an excellent C++ graphics library from TrollTech called Qt. Qt was not GPL'ed at the time, although TrollTech offered a relaxed nearly-free license for non-Windows platforms.
To some, this violated the spirit of open source and the Linux world was split over whether or not to embrace KDE and the Qt license. A second group of developers decided to create a new environment with completely free licensing and they started the GNOME project, which used the open-source GTK+ library developed for the GIMP.
Controversy over Qt licensing only recently began to settle down when TrollTech finally GPL'ed the Qt library on September 4, 2000.
The main thing to know is that both environments have improved in quantum leaps over the past two years. They are getting as slick and easy to use as any commercial GUI. Put either one of these in front of your computer-challenged uncle and he will do at least as well as he would using Windows.
KDE
Despite the earlier controversy surrounding the licensing of its graphic engine, the KDE project (www.kde.org) has been highly successful in meeting its goal of creating an end-user environment that is as easy to use as a Mac or Windows environment. The KDE desktop is beautiful, contemporary, intuitive and free.
KDE applications have a common look and feel and they have the characteristics of a modern graphical environment, such as drag-and-drop, standardized menus and toolbars, an integrated help system, and network transparency. The KDE desktop browser is also quite a decent lightweight web browser. KDE is available in more than 40 languages.
In addition, KDE provides an applications framework for developers that makes X Window programming much easier. As a result KDE has a large army of volunteers creating applications for the environment. The KDE application framework is based on C++.
One of the big new developments for KDE is KDE Office 2, which provides an open-source office suite consisting of KWord, KSpread, KPresenter, KIllustrator, KImageShop, KFormula, Graphite, KChart and KImage. These are in addition to the dozens of small applications and utilities that have been created for KDE.
Because KDE had a head start in development, the KDE environment has tended to be more mature than GNOME and it is achieved a high measure of stability.
GNOME
GNOME (www.gnome.org) is part of the GNU Project that provided the software that made Linux possible (which is why Debian calls itself GNU/Linux). GNU developments are fiercely open source and the GNOME project refused to have anything to do with Qt while it was not an open-source product.
GNOME (which stands for GNU Network Object Model Environment and is pronounced "guh-nome") is based the GTK+ (Gimp ToolKit) library. The main development language is C rather than C++, but GNOME has bindings for several languages and calls itself "language agnostic".
As with KDE, the goal is to create a free, easy-to-use, contemporary desktop for Unix/Linux users and to provide free, high-quality development tools for developers. One of the hallmarks of GNOME is its embrace of open standards and leading-edge technologies such as CORBA component technology and XML. Like Microsoft Windows, GNOME is a compoment-based architecture and GNOME has strong internationalization features. In fact the head coordinator of GNOME--similar to Linus Torvalds for Linux--is Miguel de Icaza from Mexico.
GNOME development trailed behind KDE for some time but it now shows signs of catching up. A Cambridge, Massachusetts company called Helix Code Inc. has dedicated itself to making GNOME "the world's best Internet desktop". It has revamped the GNOME code base making GNOME faster and far more attractive. The freely-available Helix Gnome (www.helixcode.com) now rivals KDE. The Helix installation/update program is impressive. It makes updating Helix GNOME a snap.
On other fronts, GNOME has recently been adopted by Sun, IBM and HP as probable replacements for CDE as the graphical environments for their commercial Solaris, AIX and HP/UX operating systems. GNOME has formed a GNOME Foundation to oversee the coordination and development of GNOME with both open source and commercial interests. It is highly likely that GNOME will include the recently open-sourced Star Office (now called OpenOffice) from Sun as its office suite.
GNOME also has an interesting Macintosh tie-in. Legendary Macintosh developer Andy Herzfeld fell in love with the work of the GNOME project and, along with other Macintosh pioneers Bud Tribble, Susan Kare, Mike Boich and Darin Adler, co-founded a Mountain View, California company called Eazel (www.eazel.com) to enhance the development of GNOME. Its goal is to create the next-generation desktop and to offer commercial services based on an open-source model. Their first contribution to GNOME is a beta-ready piece called the Nautilus file manager.
Moving Forward
The nice thing about Linux is that you don't have to limit your choices. It is a relatively simple matter to install both KDE and GNOME on the same system, if you have enough disk storage. A 3Gb drive will easily hold both. Switching between the two is easy.
It is difficult, however, to put explanations in the context of both KDE and GNOME as we work our way through X, so I'm going to have to choose one or the other to discuss as we work our way through X applications. I'm picking GNOME because I like its philosophy and I think it's got great momentum. (I like KDE too, so no letters please.)
We're going to take a look at a wide range of graphical applications, from word processors and spreadsheets to an open-source challenger to PhotoShop, CD-rippers, Palm Pilot syncronizers and a bunch of stuff in between. We'll check out eye candy, editors, browsers and sound editors.
First step: get X on your system if you don't already have it. If you're using GNOME already, upgrade to Helix GNOME.
Great times ahead!
Gene Wilburn (gene@wilburn.ca) is a Toronto-based IT specialist, musician and writer who operates a small farm of Linux servers.
-30-