Linux DevCenter    
 Published on Linux DevCenter (http://www.linuxdevcenter.com/)
 See this if you're having trouble printing code examples


What Is the Linux Desktop

by Jono Bacon, author of Linux Desktop Hacks
10/13/2005
Linux Desktop
The Linux desktop is a graphical interface to the open source Linux operating system. Many distributions such as Ubuntu, RedHat, SuSE, and Mandriva include Linux desktop software. The desktop itself comes in two primary forms, KDE and GNOME, and there are a range of desktop applications for a range of different tasks, such as productivity, graphics, multimedia, and development.

In This Article:

  1. It's All About the Applications
  2. What Can You Do with It?
  3. The Ups and Downs
  4. Refinements and Improvements
  5. An Exciting Future

Ever since the invention of Linux and the appearance of open source, potential uses for the software have fallen into three broad categories: server, embedded, and desktop. With the widespread success of Linux in both the server room and on devices such as the Nokia 770, Zaurus, and Motorola phones, the desktop is the last remaining battlefield. Though many deem its success as inevitable, what is the Linux desktop, why should we use it, and why on earth should you care?

The story of the Linux desktop began many moons before Linux itself was invented. Back in the early '80s, the efforts by Richard Stallman to create free implementations of Unix applications under his GNU project were largely intended for rather mundane but important tools such as compilers, editors, and languages. At the time, most people did not use a graphical interface; they were simply too expensive. In 1984, boffins at MIT invented the X Window System, a framework for drawing graphics on different types of computer. Released later in 1987, X has provided an industry standard for creating graphical applications. Luckily, the free implementation of X, Xfree86, was available to support the growing free software community. XFree86 has since evolved into X.org, a cutting-edge implementation of X.

It's All About the Applications

As Linux burst onto the scene and Linux distributions matured, an increasing importance was placed in the graphical interface. Early window managers such as mwm, twm, and fvwm were rather primitive and simplistic for the then-current state of the art. To provide a more complete environment, Matthias Ettrich started work on KDE, a project to create a complete desktop environment. Based on the Qt toolkit, KDE matured at quite a pace and soon provided a compelling, attractive graphical interface that many distributions shipped as the default environment. Despite the engineering success of KDE, licensing concerns about Qt (a toolkit that was not considered entirely free software) drove a number of concerned developers to create a competing desktop called GNOME. Although it was pedal to the metal for KDE and GNOME, a good desktop is more than just the environment itself; it is all about applications, applications, applications.

Related Reading

Linux Desktop Hacks
Tips & Tools for Customizing and Optimizing your OS
By Nicholas Petreley, Jono Bacon

Traditionally, the Linux platform was more than capable when it came to development or academic processing, but there was something of a barren wasteland of desktop applications for common needs. With KDE and GNOME providing an insight into what could happen with the open source desktop, more and more work went into creating these kinds of applications. In addition to open source efforts, some companies made concerted efforts to solve the applications problem. One of the biggest events at the time was Netscape open sourcing its Communicator suite. With Netscape Navigator as the most feature-complete browser available for Linux, this move cemented confidence in the burgeoning platform. Another major event was the open sourcing of the StarOffice office suite when Sun purchased StarDivision. StarOffice had existed for a number of years on Linux, but the suite had become rather bloated and lost. These two applications would later become Firefox and OpenOffice.org, two of the most popular open source products.

As the desktop has continued to develop, more and more support has evolved from commercial organizations. With support from major hardware manufacturers, support organizations, training companies, and application vendors, desktop Linux is edging closer to everyone's radar each day. With the availability of tools such as Acrobat Reader, VMWare, Nero, and Skype, and rumors of Macromedia tools available for Linux, the desktop is still edging towards that reality. Although the choice of commercial applications for the Linux desktop still does not compare to its Windows and Mac cousins, today's Linux desktop still offers an incredibly capable platform.

What Can You Do with It?

The modern Linux desktop offers a comprehensive platform for a variety of different tasks. This platform is not only useful by the technical cognoscenti, but is genuinely useful by non-technical users who simply need to use a computer for word processing, spreadsheets, web browsing, sending email, looking at digital camera photos, and listening to music. More and more stories are reported of moms and dads across the world getting in on the Linux desktop and it saving untold hours of pain from spyware, viruses, and other internet nasties.

Deciding how the Linux desktop can work for you is largely dependent on what you want to use it for. Here are some examples of different types of users and how the Linux desktop can help:

Office productivity: Creating documents in various forms is an essential requirement for any office. Word processing, spreadsheets, presentations, drawing, diagrams, desktop publishing, and more are all needed. The OpenOffice.org suite can satisfy many of these needs. OpenOffice.org also supports a range of formats, including those of Microsoft Office. For more specific desktop publishing, Scribus has been particularly popular. Providing a level of functionality akin to Quark XPress, Scribus can be used for everything from flyers to entire magazines.

Graphic design: Graphic designers typically need to work in both 2D and 3D. For 2D work, the GIMP is a popular Photoshop-like tool for 2D bitmap drawing. Although some high-end Photoshop users may find that the GIMP lacks a few features, many users find it entirely capable for their needs. If the designer needs to venture into vector graphics, Inkscape is another useful application. Inkscape provides a very feature-complete toolbox for creating resizable graphics. For 3D work, Blender provides an insanely complete 3D modelling environment. Blender has been used extensively for creating 3D images, animations, and interactive walkthroughs. Combined with Yafray, Blender can produce photorealistic results. The Blender project is cementing its potential in the open source Project Orange initiative in Amsterdam. Their DVD pre-sales are supporting the creation of a complete, professionally produced, animated short.

Web development: Web developers primarily need tools to create web applications as well as attractive designs. Aside from the hugely popular PHP/MySQL development platform (installed easily with the XAMPP framework), there are a number of tools and extensions available for easing development work. This includes Eclipse, a powerful, modular development environment, and Nvu, a simple WYSIWYG editor for visually creating websites. With the huge success of the Firefox web browser, many of its new users don't realize that Firefox can be expanded with extensions. One of the most useful extensions is the Web Developer Toolbar, which provides a range of essential features such as CSS editing, validation, debugging, and more.

Communication: Everyone loves to talk, and email and instant messaging are the most common methods of online discussion. The Linux desktop has plenty of support for all types of communication. Integrated email/calendaring tools such as Evolution and Kontact provide Outlook-type functionality, and the Gaim instant messenging program supports a wide range of networks, including MSN, AIM, and Google Talk. For those of you with a meaty network connection, GnomeMeeting can be used for audio/video conferencing.

These four use cases demonstrate a small fraction of the opportunities available with the Linux desktop. There are, of course, hundreds of other applications and tools available for a variety of common uses, such as media production, development, marketing, etc., as well as less-common uses, such as machining, custom engineering, stress testing, and so on.

The Ups and Downs

Although the Linux desktop is an intriguing proposition for many users, there are naturally both advantages and disadvantages to the platform in its current form. Luckily, many distributions provide live CDs (such as Ubuntu) that can be used to try out the desktop by booting and running from a CD. This can give you a hands-on idea of how well the Linux desktop works for your needs.

The advantages of the Linux desktop come in various forms and include:

Although the desktop boasts these advantages, there are also some areas that are not quite so nice, and sometimes rather frustrating:

Refinements and Improvements

Like everything else in the IT industry, the Linux desktop is certainly not standing still. There is feverish development going into its every nook and cranny, much of which is concentrating on truly innovative uses of technology. Although some of this technology will not be mature for the next few years, the work of today is promoting a promising future for the desktop.

The development of the desktop is largely pushing in two directions: refinements and entirely new concepts. The refinements are exactly what you expect--improvements and changes to existing tools. An example of this includes the constant attention to OpenOffice.org to slim it down, add new features, and refine the user interface. This work is happening across the full gamut of the desktop, with exciting user-facing applications (such as KDE/GNOME) and less-exciting but important applications (such as system libraries and compilers) getting buffed and sheened all the time.

In recent years, a number of developers have sat back and considered entirely new directions in which development should focus. Aside from intriguing niche projects such as SymphonyOS, both the KDE and GNOME projects have ideas about how a re-engineered version of their desktops will function. These proposed ideas are pushing for a different method of users interacting with the desktop that is more task- and people-oriented than application-oriented. For KDE, their vision is in the form of Plasma and the other components of their Appeal Project. For the GNOME camp, their visions of GNOME 3.0 are being solidified with Project Topaz. Both of these projects are heavily in the design stage and their developers are thinking of new and innovative ways to push the desktop forward.

One of the most interesting areas in which both Plasma and Topaz are keen to improve is in the quality of the graphical interface. In addition to usability changes, both projects are keen to create a truly attractive desktop. To make this easier, other developers have been working on underlying technology to improve the user interface. One such project is Cairo. Cairo provides a very high-quality 2D drawing framework that can be used to easily create graphics that are the same quality on the screen as they are when printed. Recently, GTK+ (the graphical toolkit GNOME uses for its buttons, scrollbars etc.) has switched to Cairo. This has opened up the possibility of high-quality Cairo themes in the future, such as Clearlooks. In addition to Cairo, other developers have been working on Xgl to provide a hardware-accelerated OpenGL interface for the X Window System. Xgl can be used to create exciting effects, such as spinning the entire screen, lighting effects, zooming, and more.

In addition to the look and feel of the desktop, work is also going on to better support hardware devices and multimedia. The already well-established Project Utopia stack is making it simple to plug in USB devices and work with them easily, and extra efforts are concentrating on better support of printers and USB sound cards. Many of the multimedia hardware devices are also benefiting from the powerful GStreamer framework, a comprehensive system that makes it simple to write applications to perform a variety of types of multimedia operations. GStreamer supports a range of codecs and has been used successfully with tools such as Amarok, Totem, and Rhythmbox. GStreamer is making the Linux desktop a particularly exciting place for video editing, with both PiTiVi and Diva promising exciting opportunities.

An Exciting Future

The Linux desktop is an exciting beast to observe due to its intense rate of development. When you consider the progress made in the last ten years, you can see how dedicated the developers behind the platform are to its success. As more and more people jump aboard and contribute to different parts of the desktop, it is sure to become a more compelling option for everyday users. When you roll into the mixture the work on technologies such as Cairo, Xgl, GStreamer, Plasma, and Project Topaz, the Linux desktop certainly has a bright, attractive future.

No one really pays that much attention to the predictions about the "year of the Linux desktop," but with so much going on, it is likely that it will be sooner rather than later.

Jono Bacon is an award-winning leading community manager, author and consultant, who has authored four books and acted as a consultant to a range of technology companies. Bacon's weblog (http://www.jonobacon.org/) is one of the widest read Open Source weblogs.


Return to the Linux DevCenter.

Copyright © 2009 O'Reilly Media, Inc.