2

In Linux we have three layers that represent the Window Server, Window Manager, and Desktop Environment. All of those three layers have more than one competing technology. I'm confused when talking about Apple products because I don't know what they call the software in their stack. I'm aware that they don't always have competing products and so I would like to know how they arrange their layers and what term I can use to refer to these Linux analogs. What is the Apple term for the technology that represents the

  • Window Server I assume it's XQuartz? (On Linux we have X11, Xorg, and Wayland)
  • Desktop Environment I know there is only but what is the right name to reference it? (On Linux we have Gnome, KDE, Xfce, or i3)
  • Window Manager I assume this is Aqua? (On Linux we have Qt, and Gtk)

I see a lot of terms like Aqua, Quartz, and XQuartz, and "Core Graphics", but I don't understand how they're organized with the traditional layers I am used to?

5
  • Rather than vote to close as too broad - can you take the 5 questions you asked and perhaps wrap them into one larger question - what practical problem are you trying to solve. This looks like quite a few XY questions - but perhaps you really just care about the windowserver process on macOS and need a link to a WWDC video / talk on the architecture or one link to developer documentation?
    – bmike
    Mar 24, 2019 at 15:23
  • @bmike I'm trying to understand the differences between these three terms, and the terms I traditionally understand coming from 20 years of Linux (ie., Window Server, and Desktop Environment, or Window Manager) Mar 24, 2019 at 15:26
  • 1
    @bmike I think this question is the base one and is not too broads. The problem is that Evan is using X11 specific names and trying to match them to something else which they do not match to - The GUI in macOS is nearer MS Windows than X11
    – mmmmmm
    Mar 24, 2019 at 17:58
  • Yeah, from a user's standpoint there is the GUI. On Windows it is Windows Explorer on the Mac it is the Finder. macOS is (originally as NeXTStep) based on a microkernel version of BSD. Some of these distinctions are meaningful to programmers but I am uncertain if, from a user's standpoint, they are meaningful. Mar 24, 2019 at 18:09
  • @SteveChambers Finder and Windows explorer are a small part of the GUI they are equivalent to the Nautilius program in Gnome. The GUI is more about how Windows are managed e.g. lose and gain focus, resize, maximise, menus operate.
    – mmmmmm
    Mar 24, 2019 at 18:13

3 Answers 3

6

macOS has implementations of the X11 protocol as you're used to on Linux. This is called XQuartz, it is based on the same Xorg as you'll find on Linux.

You can use many of the same desktop environments on top of macOS and XQuartz as you can on Linux. It is the exact same programs, just recompiled on macOS.

The terms for these things on macOS are the same as on Linux as it is the same technology (i.e. built on the X11 protocol).

Wayland is a different display protocol than X111, and is not currently supported on macOS.

However note that "native macOS apps" do not use the X11 protocol, Xorg or anything like that. Instead they use the native Apple supplied systems.

Here the window server is the process named simply "WindowServer" on a default macOS installation.

The "Desktop Environment" does not have a single counterpart on macOS rather it is a combination of multiple macOS parts - most notably WindowServer, Dock and perhaps Finder.

Regarding the Aqua, Quartz and XQuartz:

  • Quartz is a 2D text and graphics rendering library. There's also a Quarts GPU accelerated compositor On Linux, the counterpart 2D library is Cairo or similar.

  • XQuartz is simply an X11 server built on top of the Quartz rendering library.

  • Aqua is the name of the Apple graphical user interface. It defines the looks of widgets/controls, menus, etc. The counterpart on Linux would be something like GTK and Gnome, or QT and KDE.

0

Basically they names you use are specific to X11 and OSX does not have things which match those exact components, in the same way that MS Windows or OS/2 does not have the same parts as X11. It would probably be better to try to understand the macOS architecture rather than map it to X11, it is just different.

Apple's document that show the graphics part of the OS is here

For X11 Window Server in macOS the nearest is Core Graphics which draw graphical components e.g. Windows on the screen but not there are also Core Text and Core Images. Xquartz is a port of X11 which uses Quartz to draw what is requested by the X11 API.

Desktop Environment does not really exist as a separate part it is just how macOS works.

macOS does not have a Window server in the same way X11 does. The graphics are part of the OS.

XQuartz is a port of X11 to run under OSX/macOS. The native macOS is in effect the window manager. Xquartz displays X11 API calls in the macOS screen.

Aqua has been used to describe how the windows look.

3
  • How does Aqua fit into this, the wikipedia page seems to hint that window decoration, dock and GUI are collectively referred to as "Aqua"? And, how is XQuarts not a Window Server in the same way of X11 if it's a port? Mar 24, 2019 at 14:48
  • Xquartz is X11 but cannot replace Apple's macOS GUIS it allows X11 programs to run on macOS
    – mmmmmm
    Mar 24, 2019 at 15:01
  • 1
    This is incorrect. macOS does indeed have the desktop environment as a separate part - this is why you can run macOS without the desktop environment (i.e. boot with cmd-s held down). Also macOS does have a WindowServer - the program is actually called WindowServer. Just take a look at Activity Monitor and you can verify this easily. If you kill it, you loose all windowed applications - but not those that aren’t dependent on windows.
    – jksoegaard
    Mar 24, 2019 at 22:03
-2

The "Desktop Environment" is the application "Finder". I don't know that the window manager has a fancy name?

1
  • 3
    You can run macOS without the Finder and it acts the same as with it. Also the question is using X11 terminology and Desktop Environment is all the non terminal based environment not just one program. In X11 the Finder Equivalent is a File Manager
    – mmmmmm
    Mar 24, 2019 at 14:44

You must log in to answer this question.

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