Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top