Wednesday, December 21, 2011

Linux Desktop Environment Round Up

A year and a half ago I did an entry entitled "Overview and Explanation of Linux Desktop Environments". Anyone that is in the technology field (or knows even a little bit about it) knows that 18 months is a like a life time in the world of tech. Today I would like to re-cap my previous post with a few additions that have been added in recent months and mention a few desktops I missed last time.

I'm going to list a good deal of desktops today, so in order to keep things organized I'm going to group them based on the toolkit they are written in.

GTK Desktops

Gnome Shell -

The flagship desktop for a number of popular Linux distributions (including Red Hat's community driven Fedora). Gnome Shell has taken a good deal of flak in recent months due to the drastic changes this release implemented compared to the previous Gnome 2 version. As of this posting the latest version of Gnome Shell is 3.2 and it looks something like this:


Gnome Shell is written in C (and some Java Script) and utilizes the GTK3 toolkit.

Mate -

This is a fairly recent fork of the code base of the older Gnome 2 desktop. With the idea of "don't fix what isn't broken" the Mate desktop sticks to maintaining the a Gnome 2 desktop experience without making drastic changes. For many Linux users it will be a familiar and welcoming experience:


Since Mate is a fork of the old Gnome 2 code base it utilizes the GTK2 toolkit. Mate is still a very new project and as such no Linux distributions use it as their default desktop currently.

Unity -

The brainchild of Ubuntu's SABDFL, Unity is a desktop also written in the GTK3 toolkit. Similar to Gnome Shell, Unity brought with it drastic change to the Linux desktop experience. Whether that change is for better or worse really depends on who you ask. The Unity desktop is fairly new, but it has gone through heavy development work in the last year due to the large testing base of the Ubuntu community and the other resources Canonical has available to them. At any rate when you first load Unity your desktop will look something like:


Unity is the default desktop for the Ubuntu Linux distribution.

LXDE -

This desktop utilizes the GTK2 toolkit and has a focus on speed. Written to be lightweight LXDE will take only a small toll on your computer's resources. One of the best things about LXDE is that all of it's pieces are fully independent. This means you can use the LXDE file manager (or any other part) under any other desktop without having to install all of LXDE with it. LXDE is a more traditional desktop setup and has a similar default layout to Windows 2000/XP:


LXDE is the default desktop of the Peppermint Linux distribution.

XFCE

Slightly older and more mature than LXDE, XFCE is also a desktop written in GTK2 that is designed to be lightweight. XFCE latest version as of this posting is 4.8 and it's default layout looks something like:


The primary version of Salix OS features the XFCE desktop.

Cinnamon -

This is a very new desktop. So new in fact that if you click the above link you will see it simply goes to a GITHub page. Cinnamon is a fork of the Gnome Shell code base that is going to be maintained by the Linux Mint developers. It's goal is to utilize advanced features the GTK3 toolkit while still providing a more traditional desktop experience. An early screenshot of this desktop looks something like:


This is only speculation, but since the Linux Mint team is going to be maintaining this desktop one would guess that their distribution will be using it eventually as their default desktop.

QT Desktops

KDE -

This is one of the oldest Linux desktop environments. KDE provides a full and rich user experience. KDE is modular and provides a number of widgets you can add and remove from your desktop. KDE is also fairly flexible in appearance and offers both a traditional looking desktop layout:


And a "netbook" layout that is optimized for small/touch screens:


As of this posting KDE's latest stable release is 4.7. In my opinion Chakra Linux provides one of the best KDE experiences to date.

Trinity -

The Trinity desktop does for KDE's older 3.5 release what the Mate desktop does for Gnome's 2.x series. It's goal is to simply maintain the old desktop, fix bugs and keep it functional. The latest release as of this posting is 3.5.13 and it looks something like this:


At this current point there are not any Linux distributions that use Trinity as their default desktop.

Razor -

Sometimes called "Razor QT" is what I would call the "LXDE" of QT desktop environments. It aims to be modern and functional while still maintaining a light weight status. This is also a fairly new project as far a software goes (currently only at a 0.4 release), but it is functional. Currently it's default desktop looks fairly close to this:


As of yet there are no Linux distributions that use Razor QT as their default desktop.

EFL Desktop

Enlightenment -

E17 or Enlightenment is currently the only desktop environment based on the EFLs (Enlightenment Foundation Libraries). E17 is currently under heavy development (and thus lacking some features), but in it's current state it is fast, flexible and stable. E17 is a modular desktop that is highly customizable. It can have a more traditional desktop layout:


Or one that is more optimized for a touch screen: 


Bodhi Linux is a distribution that features Enlightenment as it's default desktop.

Window Managers

Beyond the various desktops, there are a number of Window Managers that can be used either in combination with the above desktops or on their own. I am only going to talk about one of these Window Managers today, but you can find a fairly good list of them here.

Openbox -

The Openbox Window Manager is easily the most popular Window Manager to date. It is favored due largely to how fast it is. It is recommended for use with both the LXDE and Razor QT desktops. Openbox is fairly flexible though and can be used all on it's own. If you are using pure Openbox it can look like a variety of things including:


ArchBang is a Linux distribution that utilizes just the Openbox Window Manager.

Follow Up

Which desktop is right for you will vary based on your needs. The best piece of advice I can give is try a few different ones out before settling on one. Hopefully you learned as much from reading this as I did from writing it. I believe I covered at least a small bit about each of what I believe to be all of the most important/major desktops. If I am missing anything or you would like to add something feel free to do so by adding a comment below.

Cheers,
~Jeff Hoogland

17 comments:

  1. Oh, Mr Hoogland, besides E-17, none of them makes me Ohhh...
    And, what about IceWM, my favorite window manager (fast, light and lean) ?
    It's still very active, even today.

    Regards

    ReplyDelete
  2. e17 under heavy development? hardly... the project is Half dead with very little going in to improve it... E17 has been in the works for years with no stable release due anytime soon

    ReplyDelete
  3. Nice article. Thanks for posting :)

    Is gnome shell and gnome 3 different?. i.e. can Gnome3 be used without gnome shell. Cinnamon is called as Cinnamon shell. Is it different from MGSE (Mint Gnome Shell Extensions), as MGSe does not have independent existance

    thanks

    ReplyDelete
  4. Hey Jeff,

    I think this is a very well written, clear and good article. I did not heard of the Razor desktop yet, so thanks! The images really finish the touch!

    Cheers

    ReplyDelete
  5. looking forward to try Razor and Cinnamon.. thanks for the tips..

    ReplyDelete
  6. @Anoymous The Enlightenment SVN sees around 1000 commits a month. That is far from "half dead".

    ~Jeff

    ReplyDelete
  7. E17 is at the top of my list currently and am lovin' Bodhi with E17.

    ReplyDelete
  8. Very good article. Think I'll be trying out Razor on an Arch install as I've never used it before. Lets see how it measures up to E...

    ReplyDelete
  9. Thank you. No matter what topic you pick or what you say about it, I always enjoy your posts.

    Personally, I'd like to see desktops settle down a bit. And want to see them keep evolving for the better.

    Arghhh! I'm looking for incompatible things!

    Right now I've found a good balance with Mint LXDE. Not saying it's the One True Desktop, but all I really want is quick and easy access to applications in a stable environment.

    I have flat gray wallpaper with a gray panel. No animations, no doodads, no fuzz. It works. It's easy to tune.

    OK so far.

    I donated money to the Mint folks.

    ReplyDelete
  10. Nice article, like the screenshots.

    ReplyDelete
  11. Splendid summary of Linux desktop environments. Thanks for giving us a sweep of the newer DEs and reminding everyone of the choices available to Linux users.

    ReplyDelete
  12. IceWM? Afterstep? Fluxbox? FVWM? Sawfish? And there are even others I'm not aware of.

    ReplyDelete
  13. Well, he said desktop environments, LinuxLover...

    But I found a small omission. Sorry to correct ;), but Porteus 32bit is using Trinity since the 1.0 release.

    ReplyDelete
  14. Currently using Ubuntu Oneric but with E17 installed. Love E17 and think that next time I do a reinstall Bodhi Linux is what will be going on.

    I have used Linux for years from Slackware to RedHat and Ubuntu.... always ended up using Enlightenment (E17)... its by far the nicest, most configurable, intuitive and gratifying desktop to use.

    Tried the new Gnome for over 3 months and about 1 month with Unity. Just cant leave E17. It simply the best!

    Plus, from being dead... I get its daily update... yep daily....! Thats not dead!

    ReplyDelete
  15. You forgot to other window managers, I3 and awesome. However, good job on the review.

    ReplyDelete
  16. There have been a couple of releases of PhoenixOS that use Trinity as the default. There is an upcoming release of it's 12.04 based edition that will use Trinity as well.
    It is coming along nicely try it out.

    ReplyDelete
  17. I thought that Openbox is just WM, not a DE.

    ReplyDelete