Linux Desktop Environments?

What are Desktop Environments? Wikipedia defines it as:

In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface …… A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers, and desktop widgets. (See WIMP.)

I would add a file manager and browser to this list also! Let’s look at the two most popular consumer Operating Systems (in three variants) and their Desktop Environments:

OS Name Widgets Window Manager File Manager Browser Windows XP Luna Stack Window Manager Windows File Explorer Internet Explorer 6 Windows Vista Aero Desktop Window Manager Windows File Explorer Internet Explorer 7 Mac OS X Cocoa Quartz Compositor Finder Safari 2.X Now take Linux; really a Kernel, but packaged means an Operating System. Which way you package it makes all the difference! You still use the same drivers, the boot process is still the same, but when your machine finishes its boot and launches all that graphics stuff anything can appear: anything. It’s abstraction to have no real graphics in a kernel other than that which are drivers to control hardware. This is very strange to people who think in the Windows way (nb. I used to be one of these). At the end of Windows XP booting I have never seen anything but Luna; and most people don’t know its called that. So it is very strange for people my age and slightly older who grew up over DOS and Windows 3.1/95 line to have this fundamental shift in logic.

When most people say Linux they ’never’ (as Home Desktop user) normally mean the Kernel; they mean ‘Gnome’, ‘KDE’, ‘Fluxbox’, ‘Enlightenment’ and I could go on! To confuse further; people who say Linux may mean ‘Ubuntu’, ‘Fedora’, ‘OpenSuse’, ‘Mandriva’ which are all packaged versions of Linux Kernel with a Desktop Environment such as Gnome or KDE (and GNU Toolkit). So here’s the table:

Desktop Environment Widgets Window Manager File Manager Browser Gnome GTK2 Metacity Nautilus Firefox/ Ephiphany KDE QT KWin Dolphin/Konqueror Konqueror XFCE GTK Window Manager Thunar Midori

The interesting part…

Yes there really was a point to all of this rambling! The point is the you are not bound to any graphical way in Linux:* there is none*. It is completely your choice what you choose to use. If you go with a pre-package distribution the choice is made: Ubuntu uses Gnome, Kubuntu uses KDE, and Xubuntu uses XFCE. The really neat part: all can co-exist happily on the same machine. I have KDE, Gnome and XFCE all installed right now. I can open up Konqueror in Gnome; Thunar in KDE and Epiphany in XFCE. All my KDE programs appear in my Gnome menu and vice-versa; same with XFCE. This is a strange concept from being able to use say Mac OS X Finder on Windows: it can’t be done! Open source plays nice ;) Now for the part I like; lovely screenshots to help you on your journey to choose!

image image image image Gnome 2.20 KDE 4 XFCE Enlightenment

NB. I wrote this post as I noticed some in my Computer Science class struggled with this concept, in many ways I couldn’t understand this at first either… so I just thought what would normal people think? My response is this post; with a few screenshots to hopefully brighten things up! Wikipedia has a more in-depth comparison of X11 Linux-compatible Desktop environments here for those interested.