Is Cinnamon a desktop environment or a window manager? (Or both?)

6,684

Solution 1

Cinnamon is a desktop environment, as its wikipedia page and archwiki page both state.

Cinnamon uses its own window manager called muffin, installing the cinnamon package also installs the muffin WM package on Debian.

Cinnamon also has "a bundle of programs running on top of a computer operating system, which share a common graphical user interface (GUI)" as Wikipedia's Desktop environment says as a basic definition. Its programs are X-Apps, but like all programs they're generally voluntary if you want to remove & use others instead.

Additionally, the archwiki page also states:

Cinnamon does not support using a different window manager.

Solution 2

I would consider it to be both a desktop environment AND a window manager. On Ubuntu, Muffin is NOT a dependency for the Cinnamon desktop environment, although you can install manually if you want. (Maybe Cinnamon the window manager uses Muffin's libraries?). When cinnamon is launched, if you launch a task management-type program (such as top), you'll probably notice a program called "cinnamon" running. If you kill cinnamon, X11 will look exactly like it does when there is no window manager (windows won't have any borders or titlebars, windows will be clumsily stacked and unmovable, etc).

If you have some window manager running, and you run the following command from a terminal: cinnamon --replace, your window manager will be replaced with the Cinnamon window manager.

PS: You can totally open windows without a window manager. Thus, X11 can draw more than "primitive things", and can in fact play videos, run office suites, browse the web, etc. without the need of a window manager. In practice, however, you won't want to attempt to do any of these things without a window manager, as simple things like launching programs, switching/moving/resizing/minimizing windows, and sending keyboard strokes to a specific window will become a HUGE pain.

Share:
6,684

Related videos on Youtube

Adam Barnes
Author by

Adam Barnes

The last conservative programmer.

Updated on September 18, 2022

Comments

  • Adam Barnes
    Adam Barnes almost 2 years

    As far as I understand it:

    • X11 is how you draw primitive things;
    • A (compositing) window manager is something that uses X11 to provide the tools for drawing more complex things, and position them in layers on screen;
    • A desktop environment is something that uses a window manager to provide the bare essentials of a GUI-based operating system, like a control panel, calculator and solitaire apps, task bar, etc.

    If my understanding is correct - what is Cinnamon? Its wiki article (and the tag here on SU) describe it as a "desktop environment", but I can't find what window manager Linux Mint uses by default in its wiki article, and the Tara release notes mention improving the "window manager" in the Cinnamon 3.8 section.

  • Adam Barnes
    Adam Barnes about 5 years
    ArchWiki seems strong. Is that something I could rely on to get any information regarding Linux? Or is it limited to stuff relevant to Arch?
  • Admin
    Admin about 5 years
    ArchWiki is a very professional source, not only for Arch and derivatives.
  • Xen2050
    Xen2050 about 5 years
    Arch's wiki is generally fantastic, mostly relevant to packages available to any linux, but sometimes the system config info seems specific to arch
  • Xen2050
    Xen2050 about 5 years
    Which cinnamon package do you install that doesn't have any *muffin* dependencies? Maybe you're not getting a full cinnamon... From browsing ubuntu's packages apparently cinnamon looks almost like a metapackage that depends on muffin & 2 other *muffin* packages, while cinnamon-common depends on one *muffin* package, that depends on another libmuffin0, that is the "lightweight window and compositing manager (shared library)"
  • DarthFennec
    DarthFennec about 5 years
    @AdamBarnes ArchWiki has a focus on Arch (instructions tend to be specific to pacman, systemd, etc), but the information is relevant to any Linux, and is exceptionally informative and surprisingly diverse. Even before I started using Arch, that wiki was always my first stop for that sort of information. As an example, if I had a specific problem with an application, ArchWiki would tend to have information on that problem in particular (and how to fix it) that wasn't documented anywhere else that I could find.
  • TSJNachos117
    TSJNachos117 about 5 years
    I have cinnamon installed (cinnamon-common is installed as a cinnamon dependency). It does not depend on muffin at all, although it does depend on gir1.2-meta-muffin-0.0. I'm running ubuntu 18.04
  • Xen2050
    Xen2050 about 5 years
    That's what I thought, you don't have all the cinnamon packages. And the cinnamon-common you do have installed does depend on most of (almost all of?) muffin, specifically the gir1.2-meta-muffin-0.0 (93k), which depends on libmuffin0 (821k), which depends on muffin-common (5M)... just not the package called "muffin" specifically, that's only (152k).
  • Xen2050
    Xen2050 about 5 years
    I'm not too sure which cinnamon processes are running on your system, you could check with something like ps auxf and then see which libraries are used by those programs with ldd or objdump -p ... | grep NEEDED. Or check processes with pmap or pldd (though pldd froze my GUI when I tried it on my window manager, had to switch to another virt.terminal to kill it).
  • TSJNachos117
    TSJNachos117 about 5 years
    You know, I just rechecked, and I found that cinnamon also depends on libmuffin0, which is indeed loaded according to objdump. Still, I consider cinnamon to be different from muffin. Here's an analogy: mpv is a media player that depends on ffmpeg's libraries. That said, ffmpeg and mpv are still different programs, which operate in different ways, and are useful for different tasks. In the Cinnamon DE, the process for the window manager is "cinnamon".
  • kokbira
    kokbira about 5 years
    Please, could you put it into a diagram / mind map?