I have been on Windows my entire life.

Without getting too technical, what are these things? When I search on the net, I get some technical results. I simple do not understand what these things are!

I work on Windows and completely miss the point when this lingo is used.

How is Linux different from Windows basically. I thought it is a set of operating systems which are open source and/or free.

How wrong am I?

Is it entirely a different world out there??

  • 43
    The difficult part of understanding the different components of a Linux system versus Windows is that Windows rolls everything up into a ball and gives you the ball as a whole (filesystem, kernel, console, gui, applications, servies, etc...). Linux gives you alternative choices for nearly everything. It's like comparing a toy boat to a lego boat. The toy boat you're stuck with as it comes, the lego boat you can rip apart, extend, shrink, or swap out tons of pieces.
    – STW
    Sep 15, 2009 at 21:35
  • exactly, now I am beginning to understand..
    – Lazer
    Sep 15, 2009 at 21:50
  • 6
    oh Yoooder I like your analogy, that works pretty well. To extend it, let's call Mac OX a really, really cool lego boat super glued together. U can break the pieces part, but you will spend alot more effort than a linux boat, and there's a chance u might break something.
    – Roy Rico
    Sep 15, 2009 at 22:50
  • 1
    @Yoooder: wicked nice analogy.
    – pave
    Sep 16, 2009 at 12:52
  • all the answers are awesome. cant choose one as 'accepted answer'
    – Lazer
    Sep 20, 2009 at 22:45

15 Answers 15


One important thing to note before we start is that Microsoft is the single source for the Windows operating system, and "Microsoft Windows" might be seen as a single product, but technically it consists of multiple layers of software, working together transparently from the user's point of view. In the Linux world, however, there are multiple software packages available for each of these layers. This array of choices makes it easy for an unaccustomed user to get confused with the terms.

I'll try to explain the multiple layers below.

1st layer — Command line interface / kernel

To understand the multiple layer aspect of Linux and describe it in simple Windows-like terms, let's pretend we're back in the days of Windows 95.

In this analogy, the "Linux" operating system is similar to DOS where everything is executed from a command line interface (abbreviated "CLI"). In fact, on most server installations of Linux, a CLI is the only way to access the machine. After Linux starts up, depending on configuration, it will either stay in command line mode, or start a graphical user interface (abbreviated "GUI") automatically. Additionally, on some machines that stay in CLI mode, a user who logs into the CLI can manually start a GUI.

2nd layer — Graphical user interface

On top of the command line interface sits the GUI. Modern Linux systems typically use an X Server, which is essentially just like the Windows desktop — think of it as a blank canvas.

This layer handles the hardware level of the GUI, managing the input from the keyboard, mouse, etc., and output to monitors, etc. Basically, it handles how things are drawn to the screen; what is drawn on the screen is controlled by a window manager.

3rd layer — Window manager

Sitting on top of the X window system is a window manager. It's responsible for drawing each application on the "canvas", and attaches common window elements like borders, the title bar and minimize/maximize buttons to the window. Switching window managers can be likened to switching between "Classic mode" and "Aero mode" in Windows: the frame of the window will change, while the content of the window stay the same.

The most high-profile window managers in the Linux world are KDE and Gnome, and generally a Linux distribution will focus on one window manager as the primary interface. However, in general, you are able to install any window manager on any distribution and be able to run it without issue.

Ultimately, it's a matter of choice which platform you would want to use. Each provides a large number of applications that run under them, using their framework. Also important to know is that multiple window managers can be running at the same time (Enlightenment can be used under Gnome, etc), but that's typically outside the need of normal users.

With regards to Gnome and KDE, these two projects have grown much larger than being only window managers. Among other things, they also include development frameworks to create applications from. The KDE framework is known as Qt and the Gnome framework is known as GTK. To state the entire scope of these two projects in this post would be information overload.

To help confuse the issue for normal users, the KDE and Gnome frameworks are now also available for use on the MS Windows platform, typically used by applications that are trying to be used on multiple platforms (like the IM client Pidgin). In most instances, however, when you see mentions of Gnome or KDE, a Linux desktop is being described.

Thanks to Phoshi, whose answer I built upon.

  • Good in-depth answer, +1
    – TJ L
    Sep 16, 2009 at 15:27
  • 6
    Good overview. One correction: KDE & Gnome are not window managers, but "desktop environments". A DE is a bundle of software (config tools, helper programs, file managers, start menu, panel etc.) that provides everything people need on their desktop. A window manager is part of KDE & Gnome, but they're much more.
    – sleske
    Feb 16, 2010 at 23:11
  • 1
    Also note that while you can use KDE & Gnome in parallel, you can not (normally) run more than one window manager at a time. One program has to decide where your windows will go :-).
    – sleske
    Feb 16, 2010 at 23:12
  • 2
    Finally "KDE framework is known as Qt, and the Gnome framework is known as GTK" is rather misphrased. KDE is built on the Qt framework, while Gnome is built on GTK.
    – sleske
    Feb 16, 2010 at 23:13
  • 1
    "multiple windows managers can be running at the same time" that's incorrect. There can only be one windowmanager running per X server (screen). Your mixing up desktop environments with window manager. As already said, KDE & Gnome are not windowmanagers but desktop environments. Application using different DE frameworks can run in parallel, even if using a window manager not part of a DE (both GNOME and KDE got there own default window manager). A window manager is just a special application that handles all other applications windows Sep 14, 2010 at 16:47

Easiest definition -

Gnome and KDE are to Explorer, as Linux is to Windows!

I cannot recommend any over any others though.

It is not a entirely different world, but it is a different world!

Edit - Some people have downvoted this due to the definition, so I will explain some more.

Windows is the operating system, Explorer is the name of the "shell" that both is the taskbar and file manager. Whilst I would say 99% of people use Explorer as the Windows shell, it is possible to use others and very easy to switch.

If you want to take a look at others, for example you can even use KDE on Windows.

  • 1
    Best not to recommend one over the other. I've seen some fierce competition between Gnome and KDE apologists. Try them both out and see which one you prefer.
    – Tom A
    Sep 15, 2009 at 20:51
  • 4
    -1: While this is a nice answer, it's not useful for someone who has never used Linux and has no idea of what window managers are or what are the differences between them.
    – Javier
    Sep 15, 2009 at 21:02
  • 7
    To most normal user - Explorer is the part where they do file management. They don't see it as the windows mgt system - in that aspect, they would not understand your statement comparing Explorer to Gnome/KDE.
    – caliban
    Sep 15, 2009 at 21:02
  • Right, thanks guys! I did say easiest definition - especially as the original poster said "without being getting too technical" I have edited it to make it a bit more accurate... But I do think that most people who even know about this site, (especially a programmer), knows what explorer is. Sep 15, 2009 at 21:10
  • 1
    @Wil : Judging from some of the questions I have seen asked around SU... Wouldn't bet on it that most people know what Explorer(.exe) really is... ;) Usually, when someone says something like "don't get too technical", it's more like saying "I'm complete clueless about tech, but I am too proud to admit it!" Tech support hears these kind of stuff, they go real slow, heheh.
    – caliban
    Sep 15, 2009 at 21:21


enter image description here


enter image description here


enter image description here

These are desktop environments - they are the graphical interface to the system, and normally come with a suite of applications designed with them.

  • 1
    Nice of you to add screenshots :)
    – alex
    Sep 15, 2009 at 21:28
  • 7
    i don't want to troll, but how do screenshots explain the what KDE & Gnome are? They may explain what the differences between the two are, but if you don't know what either of them is in the first place, I don't think its of any help. Don't get me wrong, i like screen caps, but there is no mention of what a window manager is, or even the basic premise that they mostly run on the Linux operating system.
    – Roy Rico
    Sep 15, 2009 at 23:06
  • 1
    What Roy said, plus a nitpick: KDE and Gnome are desktop environments strictly speaking. That is, they include window managers but do more than that. en.wikipedia.org/wiki/Desktop_environment
    – Jonik
    Sep 16, 2009 at 12:09
  • I edited it - you are of course right, KDE and Gnome are DEs. Sep 16, 2009 at 17:05
  • 3
    -1 from a Windows user, by the defiition of "this answer is not useful." Sorry, but I don't understand any difference from these images. It could be three user's desktops they've configured the way they want; you could do that on any system. It's not apparent what the actual differences are. I've just begun using Linux, and I've not understood this difference yet. Nov 14, 2009 at 17:26

Linux is actually just the kernel of the OS, that is the part of the OS connected to hardware and a part you don't really see.

In unix-type OS'es graphical application usually runs in X (a.k.a X Window System), on top of X one run a window manager, a special application that handles other applications windows. One might also want toolbars/taskbars/docks etc these are usually part of the desktop enviromment. KDE and Gnome are two different desktop environments, these define the look and feel of your OS, they include window manager, toolbars, taskbars, file explorer etc.

  • First correct answer :-).
    – sleske
    Feb 16, 2010 at 23:14

This is not related to your question, but here's a simple explanation between Linux and other operating systems:

enter image description here

  • 3
    How true, the Linux paradigm explained :)
    – invert
    Oct 15, 2009 at 6:29
  • Very good - and I use all three OSs, I am not a Linux zeslot.
    – Bob D
    Dec 22, 2009 at 6:31

In simple, windows-centric terms, let's pretend we're back at windows 95. "Linux" is similar to DOS (Lots of variations, entirely Command Line), and KDE, GNOME, are similar to the windows shell that ran on top of DOS.
This doesn't, however, mean KDE and GNOME are 'outdated' compared to windows, it's just a different method of reaching the same goal.

  • 1
    this explanation is for someone who has used windows, probably better to define CLI, as a "command line interface".
    – Roy Rico
    Sep 15, 2009 at 21:25
  • While CLI is an OS-independent term, you're probably right - was just me being lazy :P (Because Command Line Interface is really long to type :()
    – Phoshi
    Sep 16, 2009 at 12:05

Gnome and KDE are the two most popular window managers for Linux. The Unix operating systems were originally command-line only. Eventually, a program called an X server was added. This program provides facilities for programmers to make graphical software. Gnome and KDE (and others) use these programming utilities to provide a unified desktop, with windows and menus and stuff.

The best way to understand would be to look at screenshots:





  • 6
    X is older than Linux Sep 15, 2009 at 21:29
  • Agreed, X predates linux by a long time.
    – GodEater
    Sep 16, 2009 at 7:21
  • 1
    He means "The Unix operating systems were originally command-line only".
    – endolith
    Oct 13, 2009 at 22:50
  • The screenshots are not helpful at all if you don't point out which one is which...
    – LWZ
    Sep 11, 2014 at 23:04

In Linux, the set of programs that does things like show you windows, show your start menu, your taskbar, etc., is not directly tied to the operating system in general. You can run a GNU/Linux distribution without any graphics at all, or with windowing and task management handled by one of a dozen different systems: Gnome, KDE, Xfce, Fluxbox. These are called Window Managers, because they provide the interface for interacting with all the graphical applications on your GNU/Linux installation.

For a better idea of what I'm talking about, you can simply look at screenshots of all these different things in action; since much of their user-facing distinctiveness is in how they differentiate as interfaces, you can see the different ways they're set up.

  • May I suggest: "there are called window manager because they provide the inteface for manipulating windows in the GUI." or something like that? Sep 15, 2009 at 23:39

It's the distinction between GUI and command line. KDE and Gnome are alternative GUIs. I'll elaborate as to the situation with Windows as Microsoft hasn't always combined the two. There are cases where windows has run on DOS. Like a GUI and Command line, like with the linux situation. So In addition to what has been said.. i'll give another perspective that hasn't been mentioned.

Back in the days of Windows 3.1, Windows was just the GUI. (It looks like they had to be installed separately, and could have been sold in either different boxes or the same box, but were still on separate disks, they were separate programs) Notice of the three disks in view, one says MS-DOS 6.22 and the other two seem to say Microsoft Windows and they're sold in this case, in the same box. Though you could also get them in separate boxes of course. enter image description here

NT aside, Back then, Windows was -technically- not a full OS. It was an add-on for DOS.

The core part of an OS, that makes it an OS, is the Kernel. The Kernel was within DOS, not within Windows.

Windows was a GUI for DOS.

Linux is Command line, like DOS but a far more complex command line, and DOS ceased development long ago.

Linux has GUIs like KDE and Gnome.

With Windows 3.1, what'd happen was DOS would load up, and it'd run a file called autoexec.bat which ran things automatically. You could add a line pointing to the windows 3.1 executable, whatever it was and wherever it was, like C:\WIN\WIN.EXE and then Windows would be loaded like that, from DOS. Automatically.

When Windows 95/98 came along, things got blurred. It was running on DOS but it wanted to look like it wasn't.

(and as a side note, i'd point out that if you make a windows 98 boot disk and don't include a file called msdos.sys with BootGUI=0 and Logo=0 under [options] then a windows 98 splashscreen or menu comes up when it isn't even really loading windows).

Windows XP which came after Windows 98, ran completely without DOS. Windows XP was from the NT family/line, like Windows 2000, and didn't require or run on DOS or any OS.

(Note- some early NTs might've had some kind of relationship with an OS called OS2)

  • There were also some other complexities with Win9X, like autoexec.win config.win even an autoexec.ini
    – barlop
    Feb 11, 2013 at 12:16

Sitting at a Windows computer, I'm looking at screens with windows on them, and the windows have various controls I can click. If I select a window by clicking on it, I might be able to type into it. There's icons down the left side, and a task bar on the bottom.

That's basically what Gnome or KDE do: they provide the same sort of GUI controls I've just mentioned. There are other programs that do much the same thing, but they're not as popular on Linux machines.

An operating system is a piece of software that runs on your computer and makes it basically useful. It allows you to run applications. It comes in layers, more or less.

There's the kernel, which handles things like how files exist on disk or whatever, what processes get to run when, and how much memory they get to use. It doesn't talk to the user directly.

There's system tools that do various things. If you type ls into a Linux command line, or dir into a Windows one, it will give you a list of files with information attached. It fundamentally gets the information from the kernel, but processes it in other ways. (With Windows, these sorts of tools usually come with GUIs, while in Linux they usually don't.)

There's the GUI, which is what you usually work in.

There's other parts, but I'm trying to keep these simple.

In Windows, Microsoft provides all of these neatly wrapped up in large packages. With Linux operating systems, you have choices for a lot of things, and can build a system in lots of different ways.

Many Linux providers provide packages. For example, if you were to install Ubuntu Linux (a popular version), it would work much like Windows in that all sorts of things would be pre-installed, and (barring hardware incompatibilities) would just work. If you used Gentoo Linux instead, you'd find yourself doing a lot more work and making many more decisions. Some people find this fun (there's a very wide range of things some people somewhere will consider fun), and some like being able to tailor their operating system to suit themselves.

There's also cultural differences. Linux operating systems are normally made up of components you can duplicate freely, examine, and change to your liking, and so there's a strong preference for applications you can get on the same terms. (The advantage for the non-technical person is that many apps are free to download and install, quickly, easily, and safely, without worrying about licenses or transferring money around.) Windows users are more used to paying money for closed-source apps they just use. (The advantage here is that people being paid good money for things generally pay more attention to the needs of people who give them money, and so commercial applications are often easier to use, and there's more commercial apps available for things programmers find dull.) Don't exaggerate this too much. There's plenty of closed-source commercial applications that will run nicely on Linux, and plenty of open-source applications you can just grab for Windows.


I have a simple answer for you:

Get an Ubuntu "Live CD". You can get one for free. Stick it in your computer, and boot from it. Note: it will not install anything on your hard disk, or even touch your hard disk, unless you tell it to do so.

Now play around with it. Surf the web a bit. Maybe try out some games.

You will find that it is different, but not shockingly different.

If Windows is working for you, you may be done at this point. But still, tuck away that Ubuntu CD; it can serve as a handy "rescue CD" to help you if your Windows system ever gets overrun with viruses, or melts down due to a registry error, or whatever.

If you are still curious, you might want to repeat the exercise, this time with a "KUbuntu" CD. Compare how the KDE desktop in KUbuntu looks and works, compared to the GNOME desktop in Ubuntu. Some people really like KDE. Other people prefer GNOME. In Linux, you get to choose. (In Windows, the only choice you have is: run XP, or run Windows 7? If you run XP you get the XP desktop, and if you run Windows 7, you get the Windows 7 desktop. In Windows it all comes together.)

You may have a friend who can give you an Ubuntu CD. Or, you may have a Linux club in your city, where someone would be happy to give you an Ubuntu CD. Or you can make your own:

Here is a web page that describes how to download and burn your own Ubuntu CD.



Unix and later Linux started as command line based operating systems. The nix philosophy is to provide a simple function that does one thing properly. If you want additional functionality, you take the output of one function and input it to another. When MIT was given given different types of computer workstations, they came up with a platform that allowed graphical environments to be spread across the computers. It was a distributed com;puter environment splitting out the display portion of a program from the processing portion. KDE and Gnome are two different display managers, Gnome being more object oriented than KDE.


To put it simply, Linux is just another choice. It's like you have been eating with a fork and knife all along, and then one day you realized that hey! you can actually eat with just your fingers!

The objectives accomplished by using your fingers, or using a full cutlery set, is the same - to move food into your mouth. However, using your fingers is free, whereas if you use a full cutlery set, it costs money, and it can be quite expensive depending on how fine the cutlery set is.

For a lot of people, eating with your fingers is unpolished, messy, and uncivilized. They are clumsy at it - lots of food gets dropped between fingers. Most of them give up after a short while. This group of people however are adept with cutlery, and is more than willing to pay for a set of fine well-crafted cutlery so they can eat with finesse, and style even.

However, there is another class of people, that has absolutely no problem eating with their fingers. In fact, they love it! They love how from having only 2 points of contact with their food, it expands to 10 suddenly. They love the choice available - and best of all, they love it that if ever one day all the cutlery disappears in the world - they will know how to use their fingers at least (not like the other bozos).

Linux - is just like eating with your fingers. If you don't know how to do it, it's really messy, and you'll probably hate it. However, once you get the hang of it, you love the choices, and best of all, you love it that you never have to pay for a cutlery set ever again if you don't wish to.

Windows - is like eating with a good, solid, if unremarkable, set of cutlery. Bland, but functional, and hey, everyone's doing it too.

Mac, ah Mac... that's like eating with pure gold cutlery probably. Finely balanced, looks good, but you pay for the privilege.

enter image description here

  • :) cool explanation. What I really wanted to know is that apart from what you said, how different is the organization of the OS? How different they are at the core... I did not know the concept of Window Managers, which I think I understand now.
    – Lazer
    Sep 15, 2009 at 21:19
  • @eSkay: i'll leave the honors for the others. It's an endless topic on the differences between OSes. P.S you don't sound very unsavvy to me, that's for sure. ;) have fun!
    – caliban
    Sep 15, 2009 at 21:35
  • @eSKay: and since you are from India, this analogy shouldn't be too hard to understand.
    – caliban
    Sep 15, 2009 at 21:40
  • ;) yes I understood that part completely.
    – Lazer
    Sep 15, 2009 at 21:49
  • Some of us (including me) think that Linux provides the gold cutlery, that Macs are the good, unremarkable set (it's just another Unix under the hood), and that Windows is like eating with your fingers. It depends on what you are attempting to do, but for me, Linux is the best option there is. Sep 15, 2009 at 22:16

Now then, KDE and GNOME are desktop environments. A window manager is a program that controls the way windows are displayed, but a desktop environment controls the icons and panels (equivalents to the Windows taskbar) on your desktop. If you want a desktop environment that functions exactly like Windows XP, get XPDE. Wish I could post screenshots of my KDE and GNOME, but I'm on Windows now.

Also, linux uses the / instead of C:\ for its root folder. Your Documents folder is in /home/username/Documents and your Pictures folder is in /home/username/Pictures, likewise. Same thing for your Videos, Music, and Downloads folders.


Qt (pronounced cute) and GTK are frameworks to build a GUI. Whereas, KDE and GNOME are the actual implementation. Qt came first,and it is C++ based with available language bindings (although there's none available for C). Similarly, GNOME was started later which is what Red Hat Linux uses for example...it is based on C with language bindings for many other programming languages.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .