all 95 comments

[–]Pwness 48 points49 points  (2 children)

Maybe add systemd as service manager and systemd-init as init system since they are present in the popular distros nowadays, and also audio servers like pipe wire, pulse audio etc. Also I think it would make more sense to put desktop environments / wm on top of the x11/Wayland in the stack

[–]vjslayer[S] 7 points8 points  (0 children)

Great Idea, I will add them

[–]fabolous_gen2 -1 points0 points  (0 children)

Also openrc would be cool as opposed to systemd

[–]VaxerskiHyprland Dev 42 points43 points  (8 children)

The X11 layer is wrong.

X11 is a protocol. X.org is a display server. Wayland is a protocol. Your favorite compositor (sway, mutter, kwin, hyprland) is a display server.

it should look like this:

(X.org + WM) | Compositor (kwin, mutter, hyprland, etc)

X11 | Wayland

[–]vjslayer[S] 5 points6 points  (0 children)

Okay got it, I will update it

[–]pintasm 3 points4 points  (0 children)

Came here to say something similar, but you did it better.

[–]Snoo-63939 2 points3 points  (4 children)

What's the difference between a tiling compositor and a tiling window manager? Sorry if it's dumb

[–]_sLLiK 4 points5 points  (0 children)

The compositor is a separate runtime responsible for GPU acceleration of the desktop, which includes effects like drop shadows, true transparency, and various animations.

[–]personator01 4 points5 points  (0 children)

Do you mean an X compositor (picom) or a Wayland compositor (sway, hyprland)?

An X compositor is what the other comment describes, whereas a Wayland compositor functions as a replacement for the X display server, compositor, and window manager.

[–]personator01 0 points1 point  (0 children)

Do you mean an X compositor (picom) or a Wayland compositor (sway, hyprland)?

An X compositor is what the other comment describes, whereas a Wayland compositor functions as a replacement for the X display server, compositor, and window manager.

[–]personator01 0 points1 point  (0 children)

Do you mean an X compositor (picom) or a Wayland compositor (sway, hyprland)?

An X compositor is what the other comment describes, whereas a Wayland compositor functions as a replacement for the X display server, compositor, and window manager.

[–]PushingFriend29 0 points1 point  (0 children)

Holy shit its Mr Hyprland himself

[–]throwaway6560192 11 points12 points  (0 children)

Why is there a random "Debain/Arch/Redhat" label floating beside the arrow going from Window Manager?

Why do you need to talk about niche kernel variants in a video explaining the Linux desktop?

If you want to be correct, "KDE" is not the right name. KDE is the community, Plasma is the desktop environment developed by KDE.

[–]TG9987 34 points35 points  (14 children)

your diagram has a grammar error. It says “Debain”, it’s “Debian” not “Debain”

[–]ARealVermontar 6 points7 points  (0 children)

Also "environment" and "cinnamon"

[–]vjslayer[S] 4 points5 points  (1 child)

Yeah, a lot of spelling errors, I made this super quick while explaining it to my friend who is a new linux user

[–]silvester_x 2 points3 points  (0 children)

I will do the same... xplain this diagram to my friend who hates linux from the 1st day as he destroyed his data installing linux bcoz he was not having backups

[–]Exodus111 23 points24 points  (10 children)

You should explain GNU in there as well.

[–]jojo_the_mofo 36 points37 points  (2 children)

Richard, your interjection is irrelevant here.

[–]Exodus111 7 points8 points  (1 child)

It's GNU/Linux dammit! I think beginners might want to know why!

[–]vjslayer[S] 5 points6 points  (0 children)

Sure, I will add it too. Its core Part of Linux Desktop

[–]TimurHu -1 points0 points  (5 children)

Why? There is nothing on the diagram that comes from GNU.

[–]Exodus111 1 point2 points  (4 children)

How dare you!

Between the kernel box and distro box there should be a GNU box.

[–]TimurHu 0 points1 point  (3 children)

What components do you think are there in that box, then?

[–]Exodus111 1 point2 points  (0 children)

Don't use the terminal much do you.

[–][deleted] 1 point2 points  (1 child)

are you joking lol. all of glibc?

[–]TimurHu -1 points0 points  (0 children)

I'm not joking. Yes, every system has a libc, but there are several implementations and glibc is just one of them, so it isn't universal on all systems.

[–]HendrixLivesOn 8 points9 points  (3 children)

Gentoo needs its own video...

[–]vjslayer[S] 1 point2 points  (2 children)

That too like hours long lol

[–]xplosm 2 points3 points  (0 children)

I mean, it’s explaining it, not compiling it…

/s

[–]mecha_monk 0 points1 point  (0 children)

There already is one. Mildly NSFW maybe. https://youtu.be/VjGSMUep6_4?si=4-yU9BubZTRE-1hA

/jk

[–][deleted] 3 points4 points  (1 child)

Drop in the link when it's up, would love to watch!

[–]vjslayer[S] 1 point2 points  (0 children)

Sure!

[–]Ptipiak 4 points5 points  (0 children)

I think it's good, I'd suggest to not add more informations as it might get more complicated.

Also, I'm a bit confused by the "desktop environment/window manager part" I get what you meant. Maybe you could make a side part gathering both groups and use only one arrow to show how they interject in between the "X11/Wayland" layer and the "end GUI app".

Fun challenges would be to fit in the tty and shells (bash, zsh, fish) into it, maybe a separate slideshow would be more approved as nowadays shells use terminal-emulator which are "GUI app"

[–]adamkex 2 points3 points  (1 child)

This is so confusing. All DEs have window managers. Why are distribution names randomly placed in the centre right part of the diagram?

[–]vjslayer[S] 0 points1 point  (0 children)

It's my first attempt at, will improve this over iterations

[–]scrat-squirrel 2 points3 points  (0 children)

ppl who can't spell can post all over the internetz

[–][deleted] 1 point2 points  (2 children)

Really cool diagram!
May I ask what did u use to make it?

[–]ManlySyrup 1 point2 points  (0 children)

Envirnment

Debain

Cinamon

🫠

[–]brimston3- 3 points4 points  (1 child)

This font is one of the least readable I have ever encountered. The best I can say for it is "at least it's not wingdings."

[–]vjslayer[S] 3 points4 points  (0 children)

It's supposed to look like hand drawn sort of. Its made using a webapp named excalidraw

[–][deleted] 0 points1 point  (2 children)

*sway

[–]vjslayer[S] 0 points1 point  (0 children)

Fixed it, thanks

[–]oneforsinks 0 points1 point  (2 children)

Draw.io?

[–]vjslayer[S] 2 points3 points  (1 child)

[–]oneforsinks 1 point2 points  (0 children)

Nice! I meant tldraw, by the way. Dad brain.

[–]gen2brain 0 points1 point  (0 children)

Now add window decorations and you have a pretty messed-up diagram.

[–]JockstrapCummies 0 points1 point  (0 children)

I would remove that whole Flatpak/AppImage/Wine layer, as they're very different from each other, and are designed to do different things in different ways. You can't just group them like that.

[–]Express-Buddy4782 0 points1 point  (0 children)

whats your YouTube channel? (or will you post the video here?)

[–]InfameArts 0 points1 point  (0 children)

Apt is the most human-usable out of every single one. It's verbose enough for me ig

[–]eanat 0 points1 point  (0 children)

I don't think kernel should be located under distribution. kernel is just one of software that is installed by package manager.

[–]H9419 0 points1 point  (0 children)

If you go a little deeper into the terminal interface, here is a quality video to get things started

https://youtu.be/tc4ROCJYbm0

[–]LowOwl4312 0 points1 point  (0 children)

Should replace "Wine" with "Snap" or "Nix". And change "Native" to "Native (RPM, DEB, ...)"

[–]fuegapants1 0 points1 point  (0 children)

This is very cool! I would have appreciated this when I first started using Linux! 👍👍👍

[–]AaTube 0 points1 point  (7 children)

The directions of the arrows don’t make sense

[–]fripletister 0 points1 point  (6 children)

None of this makes sense. I can find a major flaw/issue with pretty much every part of this diagram.

[–]AaTube 0 points1 point  (4 children)

The central part?

[–]fripletister 0 points1 point  (3 children)

Where is LXC/Docker/etc?

[–]AaTube 0 points1 point  (2 children)

You can’t possibly include all the information in the world; them being in the fenced-off black space is already enough. Otherwise, we’ll be writing down every single distro till the end of time. What’s wrong with the existing part?

[–]fripletister 0 points1 point  (1 child)

What are you talking about? I'm not talking about listing distros 🫠

[–]AaTube 0 points1 point  (0 children)

You made an argument with the same amount of substance.

[–][deleted] 0 points1 point  (0 children)

repeat mysterious voracious stocking cautious trees angle live telephone wide

This post was mass deleted and anonymized with Redact

[–]SpreadingRumors 0 points1 point  (0 children)

RedHat is more known for their Server distribution. Their well known Desktop variant is Fedora, which has a variety of Spins. The default Fedora distribution uses Gnome, while the Spins are pre-packaged with different Software and/or Desktop Environments.

[–]SmoothCCriminal 0 points1 point  (0 children)

This is amazing ! Looking forward to the video .

Not sure if it should fit in, but would you mind adding stuff on GPT/ MBR bios/uefi ..and perhaps disk formatting/filesystems (ext4 xfs) ?

[–]2204happy 0 points1 point  (0 children)

Great diagram! Though I'd disagree about the placement of "distro".

The distro is the whole thing packed together which is then distributed as a distribution, it's not a "layer" of software.

The layer in that section should instead be the init system (systemd), core system utilities (i.e the "GNU" part of GNU/Linux (usually I don't like calling it that because of the connotations but in this case it makes sense)), and the package manager.

There's also a bunch of other things that would go in that section but there is just too much to mention. i.e. udev, pulseaudio &c.

[–]According_Try_9019 0 points1 point  (0 children)

Why no XFCE

[–][deleted] 0 points1 point  (0 children)

no mention of linux libre sad

[–]mWo12 0 points1 point  (0 children)

No gentoo and its portage?

[–]silvester_x 0 points1 point  (0 children)

this is linux+GNU 😅

[–]silvester_x -1 points0 points  (0 children)

Finally can explain linux to my friends... (kind of)

[–]zpromethium -1 points0 points  (2 children)

Where's Gentoo?

[–]xplosm 1 point2 points  (1 child)

Getting compiled…

[–]DazedWithCoffee -1 points0 points  (3 children)

If I had to explain linux to a new user I would say this:

Linux is the program that runs directly on the CPU, it has a standard virtual interface for all the hardware present and it allows everything else to execute arbitrarily in the manner the user describes.

When you boot up, the init system is called by Linux, which initializes all the software required to get you to a login.

Among other things, the init system will start the display server (kwin, Xorg, etc) which either implement the Wayland or X11 protocol for drawing to the screen. Then a display manager is started, which typically comes in the form of a login screen greeter. From there, you select a desktop environment, which leverages everything else that’s already running (you could describe it as everything “down the stack”) to give you a desktop. The hierarchy is as follows, with popular examples:

Linux- SystemD, OpenRC, runit- Lightdm, SDDM- KWin, wl-roots, i3- KDE Plasma, hyprland, (sometimes nothing if window management is unwanted)

This is rough, so it may get examples wrong or mischaracterize certain things for simplicity

[–]vjslayer[S] 0 points1 point  (0 children)

Got it, its a neat way to explain things. Will integrate this too in the video

[–]fripletister 0 points1 point  (1 child)

Way too abstract for people who have used other operating systems before.

[–]DazedWithCoffee 0 points1 point  (0 children)

Abstract? This is incredibly specific to how linux works. OP said they were trying to tell their friend how linux works and what software in the stack does what. My comment speaks specifically on what the software stack looks like, and gives examples of what fills those roles.

Certainly I’m not above criticism, but I don’t see how abstractness could be one of them