What is the difference between a Desktop Environment and a Window Manager in Linux? I always got the two mixed up. Luckily there are some good resources out there that will clear things up.

First of all a Desktop Environment is a desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.  A desktop environment includes a suite of applications that are tightly integrated so that all applications are aware of one another.  A Desktop Environment includes a  Window Manager but builds upon it. The Desktop Environment typically is a far more fully integrated system than a Window Manager. A desktop environment requires both X Windows and a Window Manager.

X Windows – This is the foundation that allows for graphic elements to be drawn on the display. X Windows builds the primitive framework that allows moving of windows, interactions with keyboard and mouse, and draws windows. This is required for any graphical desktop.

Window Manager: The Window Manager is the piece of the puzzle that controls the placement and appearance of windows. Window Managers include: Enlightenment, Afterstep, FVWM, Fluxbox, IceWM, etc. Requires X Windows but not a desktop environment.


The layering of the linux graphical desktop

Some more reading on desktop environments and window mangers can be read here.