Can you explain the different components of Linux?

Yes. It’s not commonly advertised, and I can’t think of a single third-party window manager implementation, but it’s possible.

Yes, but that’s not stop. That’s switch. You can’t actually stop Aero or Luna without replacing them with something else.

Also, Aero and Luna really aren’t WMs, but DEs.

Oh, we’re talking about running a Windows system without a Window Manager? I don’t have enough experience with it to know whether Windows 2008 Server Core Edition counts–I know it boots to a single command prompt, but I don’t know if it’s running a stripped WM for no reason with that.

Oh. OK. That makes sense. (I really do not know Windows that well.)

BigT: Thanks for the Windows information. It’s interesting.

Yes, it is. It was named by the person who ran the FTP upload site Torvalds used to get the first version out to the world; Torvalds originally wanted to call it Freax, for ‘free Unix’ or ‘freaky Unix’ or something.

For those playing along at home, ‘bloat’ is “Any feature I’m not using (at the moment).”

I have been letting this thread ripen. Thanks forsome good info.

This was the same confusion I had at first. I thought you were pointing out that, technically, GNOME is more than a WM. That’s why you can run other WMs on top of it, and yet still have some parts of Gnome still present.

Based on the screenshots, I’d say it’s still running the Windows:USER window manager I mentioned. Without a window manager, there’d be no window decoration or any way to move the command window around. The same would apply to any GUI programs you run from it, like, say Notepad, which comes with the OS.

Also, the more stripped down recovery console doesn’t count either, since it’s also not running any GUI.

Do note that running without a window manager is not the same thing as running without a shell, which is rather easy to do. The easiest way is just to use the Task Manager and shut down explorer.exe. A tweaking of the registry would allow you to make it your default option. I do believe you have to set some other program as your Shell, but that can be a program that quits as soon as you start it. Though, more likely, you’d want to use it to start a game or something.

It’s not quite the same thing, but there are third-party replacements for the Windows shell. These programs replace the desktop, the taskbar, the Start menu, and the file browser, but I don’t think any of them replace the window manager.

Thank you all for the responses. They’ve been very illuminating :slight_smile: I’ve been lurking and reading, but I’ve learned a lot.

I’m still a bit confused as to the distinction between a “window manager” and a “desktop environment” – am I correct in understanding that the exact divide varies from project to project?

Also, I’m not sure how GDI got involved in this topic, but is it basically a graphics abstraction layer that things on top use to draw lines, shapes, etc.? Kinda like a primitive Direct2D?

And – not to turn this into a GD – but I just want to say that as a lifelong Windows user, it’s very interesting to see the open source world approach the problem of OS design in a much more decentralized, modular way. There are definitely things I both like and dislike about that approach, but I’ll save that for another thread… :slight_smile:

Oh, and is X Window System (such an unwieldy name) itself a GDI, or does it sit on top of a GDI? Or is GDI the Microsoft term for their graphics layer, which X is more than?

A window manager is that portion of the graphical user interface which is responsible for behaviour windows on the desktop. This includes determining the shape and colour and text of the window titlebar and other borders, and also the form and function of the buttons on them. It also includes managing windows, such as determining their initial placement, as well as determining how the user manipulates (moving, resizing, focussing, tiling, cascading, maximizing, minimizing, restoring, pinning, shading, etc.) them. For example, some window managers, the focus follows the mouse pointer, in others windows are brought into focus only through a click, and in still others the user is given the option to configure this behaviour. In some window managers, you get “minimize”, “maximize/restore”, and “close” buttons in the title bar, while other window managers give you more or fewer buttons, or buttons with different functions.

A “desktop environment” just means an ensemble of integrated user interface tools, usually including a window manager, widget toolkit, desktop shell, and other elements. Sometimes the integration is loose enough that you can swap UI components in and out—for example, in the desktop environment KDE, the native window manager is kwin, but in at least some versions of KDE you could replace this with a different window manager.

So just call it “X” or (if you’re not intimidated by pedants) “X Windows”.

GDI is a Microsoft-specific term. X isn’t a kind of, nor does it contain, GDI. However, parts of it (and associated libraries) do similar things as GDI.

My point was that the “x” in Linux pointed to the Minix heritage, not directly to the Unix heritage. Linux was developed as an unencumbered Minix clone, not a Unix clone. Had Tanenbaum had a fully open source licence for Minix, Linux would probably never had existed. One could argue that the x in Minix, derives from the x in Unix, but since that came from a deliberate mis-spelling of Multics it all goes back a long way.

To quote Linus from the the 5th of October 1991:

By this time it was already called Linux.

The use of “open source” here is an anachronism, since it was not in (common) use at the time of either Minix or Linux’s initial development. At the time, all copyleft (and other similarly permissively licensed) software was known as “free software”. The “free” referred not to the price, but rather to the freedom the licence granted to users to run, modify, and redistribute the software. It wasn’t until the late 1990s that some people in the free software movement began using the term “open source” as well (or instead), in some cases to avoid the ambiguity of the word “free” and in others to avoid association with the (then) larger faction in the movement that viewed software freedom as a moral rather than pragmatic imperative. Both terms are still in use today.

And here I disagree: The x was so associated with Unix at the time that it would have been bizarre for either him or the person who chose the name Linux to not use it.

No. Linux is a lot more like Unix than Minix is. For one thing, Linux is a monolithic kernel, whereas Minix is a microkernel. There were limitations due to doing things the microkernel way, which, if you read the whole ‘Linux Is Obsolete’ thread, you will find that Torvalds did not want to live with. Torvalds wanted a very pragmatic system whereas Tanenbaum wanted a toy OS he could use in his course. (Until Minix 3, Minix was very much a toy.)

Obviously.

Not a misspelling so much as a pun.

Two points:

  1. I know my terminology would remove the distinction between “OS” and “distribution” because I think that’s a useless and confusing distinction. The Linux OS doesn’t, by and large, matter to the average user because the average user doesn’t sit down an a CLI and use nothing but GREP and AWK all day. What they’re using is the window manager, and at the window manager level, KDE and GNOME might as well be completely different OSes.

  2. Your argument isn’t true; a KDE application won’t run on a distribution that only includes GNOME. (Unless you allow the conceit that it can install all the KDE libraries as part of its “packaging”, but then again you could also include the entire OS in your “packaging”, so…)

Except for the quote from Linus where he explicitly calls it a minix-lookalike.

Internally it was a lot simpler. But the public API and such things as file system format were Minix. Mostly this is splitting hairs, and probably only Linus could provide the answer, to which his most likely response would be “I can’t remember and I don’t care.” Back then there was a lot more stuff happening in the operating systems world, and Unix was in a sense considered a bit of a has been - from the point of interesting things. You had Mach, Chorus, Clouds, Plan-9, Ameoba, V-kernel, just off the top of my head. What was perhaps interesting is that many of these provided a Unix emulation layer, but it wasn’t part of the kernel. (It was often considered as a quick and easy way to get a usable toolchain, so that you could continue to work on the main game.) Mac OSX continues this heritage to a degree. There is still OS work going on, but much diminished from those days. From a technical point of view the kernel does not have to equal the operating system API. However there are many good and pragmatic reasons to leave much functionality in the kernel, my favourite paper is Brent Welsh - The file system belongs in the kernel. Back in the early 90’s everyone was madly trying to haul everything they could think of out of the kernel. (It got a bit over the top.) Micro-kernels still live on, but the rationale for them has shifted over time.

The question over the name’s heritage is of course splitting hairs, I just feel that the influence and contribution that Tanenbaum had over the genesis of Linux should not be overlooked, and that blandly calling Linux Linus’ Unix ignores a clear and important part of history.