 Are you a new to Linux user? Or are you thinking about switching from Windows or Mac over to Linux? If you are, you may be confused about some of the terms that we the Linux community sometimes use when we speak. So today what I wanted to do is I wanted to define a few things. I want to define some of the terms that we often use that I know are confusing to new users. So today we're gonna focus on learning a little bit of the Linux jargon. I think the first term that we need to define is GNU slash Linux, which is technically the name of our operating system. Many people just shorten that to Linux. You know, they say Linux is the operating system. That's not entirely the case. Actually the name of the operating system is GNU slash Linux because that really signifies exactly what we're dealing with here. Let's start with what Linux is. Linux is actually just the kernel of the operating system. Every operating system at the heart of it has a kernel and on the GNU slash Linux operating system, our kernel is the Linux kernel created in 1991 by Linus Torvalds. I don't want to get too technical into what the kernel is, but you can't have an operating system without it. Again, it's that heart, the core of the operating system. It manages all of your system's hardware. It also manages all the programs on your system. It's what really powers a lot of your peripheral devices. It has a lot of drivers built into it for things like certain graphics cards, Wi-Fi chips and things like that. So the kernel is the most important part of the operating system. Again, because it sits at the center of everything. Now around the kernel sits the user land programs and those programs, most of them are written from the GNU project. The GNU project started in 1983, well before the Linux kernel was created. And they set out to create their own operating system that they were gonna call GNU, the GNU operating system. And they built most of the operating system. They built everything they needed to have a fully functional operating system except they never completed a kernel. And then in 1991, Linus Torvald shows up and he writes his kernel and it's ready for use. And the GNU project essentially made the GNU user land to be able to work with the Linux kernel, thus the birth of GNU slash Linux, the operating system that we all use today that many people for convenience simply call Linux. I think the best way to define GNU to the new Linux user is at the command line or in a terminal, many of the basic shell commands that you enter in a terminal, once you start learning the basic terminal commands, most of those programs were actually written by the GNU project. They're part of what we call the GNU core utilities. So I think the next thing we should define is distro, flavor, and spin. Because when we're talking about various Linux distributions, you'll hear people use all three of these terms. They'll talk about this Linux distribution or this Linux flavor or this Linux spin. What does that mean? Let's start with distro. Distro is simply a shortened form of distribution. So it's a Linux distribution, what does that mean? Well, we talked about what the Linux kernel is. It's the core, it's the heart of the operating system, and pretty much every Linux distribution at the heart of it sits the same Linux kernel. There's some different Linux kernels out there that have extra modules or modules removed, but for the most part, every Linux distribution at the heart of it has that same Linux kernel, same kind of hardware support and everything up underneath it. So what makes a Linux distribution unique? It's what you put on top of it, right? It's how you dress it up. It's the clothes that that Linux distribution wears. So if I wanna create my own Linux distribution, I'll put my favorite suite of applications on it, my favorite desktop environment, my wallpapers and themes and things like that. And I'll dress it up and then I'll call it, DT's Linux distribution, and that's what that is. That's what a distro is. So when you go to distrowwatch.com, you'll see hundreds of Linux distributions. These are all the various Linux variants out there, essentially. Now, when people talk about flavors, they're usually talking about a distribution based on another distribution. Like when we talk about Kubuntu, which is Ubuntu's KDE flavor, right? That's what we're talking about. It's a Linux distribution. Kubuntu is a Linux distribution, but Kubuntu is also an Ubuntu flavor, if that makes sense. It's based off of Ubuntu is essentially what that term means. Some people will also interchangeably use spin for flavor. So when people talk about this is an Ubuntu spin or this is an Arch spin, meaning it's somebody that created a distribution based on Ubuntu or Arch. It seems that typically when people talk about flavors and spins, they're talking about a distribution that really doesn't differentiate itself that much from its parent distribution other than the desktop environment. Let me give you an example. So let me switch to my desktop. This is Manjaro's KDE Plasma Edition with the KDE Plasma desktop environment. Now, this is Manjaro, their GNOME Edition with the GNOME desktop environment. You can say that this is Manjaro's GNOME flavor, right? And the previous one I showed you was Manjaro's KDE flavor. So spin, flavor, they're essentially the same as distro. It's just typically they're specifically talking about being based on a specific parent distribution. Another group of terms that's really confusing is various terms that refer to user interfaces. So a user interface is the environment on your computer that you, how you interact with that computer. For example, going back to Manjaro's KDE Plasma, what I'm in right now is a GUI, GUI, a graphical user interface, meaning everything here is a graphical program, right? So this is not just an empty command line, we're not in a shell, right? This is a graphical environment with web browsers and file managers and text editors and things like that. And I've got menu systems and you could think of a GUI, a graphical environment being the opposite of a command line interface, CLI. CLI would be something like, well, let me show you the CLI. So let me log in here. This is, I'm still on Manjaro, but now I've dropped into the command line interface, the CLI. So I think it's obvious what the difference here is, the command line interface, for those of you coming from like a Windows environment, you can think of it as, if I'm sitting at a black screen and it looks like I'm essentially at a DOS prompt, right? I'm in the CLI, I'm in the command line interface. And if I'm staring at a graphical environment, something that looks similar to like your desktop on something like Windows or Mac, that is a graphical user interface, a GUI. Another related term you may hear is TUI, T-U-I for terminal user interface. And many people get TUI confused with CLI, but a TUI interface is a program that runs in the terminal, but it's not a command line interface program. So if I run H-top, H-top is a TUI, right? This is a terminal user interface. It's not a command line program. A command line program, let me quit out of H-top, is something that actually runs at the command line and gives output at the command line, like LS, the standard list command. It's gonna list the files and directories in the directory I'm currently in. That is a command line program. That's obvious what that is. Where something like VIM, even though I launch it at the command line from the terminal, VIM is a text editor, we're no longer in the command line until I quit out of VIM, then I get back into the command line. So VIM, H-top, those kinds of programs, they're actually TUI interfaces, terminal user interface. Now let's talk about X11, XORG and Wayland because anytime you see people like me talk about Linux distributions, you'll hear us bring up those particular terms, X11, XORG, Wayland. What are those? What are those programs? What do they mean? X11 and XORG are essentially the same thing. People will use those terms interchangeably, but really the name of the program we're talking about is X11. It was built by a foundation called x.org. That's why many people just use XORG and X11 interchangeably, but what that is, that is the display server on Linux. Most Unix-like operating systems. It's been around since the late 1980s, so it's been around forever. And typically when you see someone in a graphical user environment on Linux, X11 is actually serving that. So if I go back to Manjaro KDE, we're using XORG. XORG is the display server, right? Without it, all of this graphical goodness that's staring back at me would not be here. Without XORG, all you would have is the command prompt, right? The CLI, the command line interface. This is if you booted a Linux system that didn't have X11 installed, the display server installed, all you're gonna get is command prompt, right? All you're gonna get is the CLI. You install a program. Actually, it's a whole suite of programs, X11, which is the display server that allows you to have a graphical environment. So that's X11 or sometimes referred to as XORG. Now, you will also hear people talk about Wayland. Wayland is a new modern display server that's designed to eventually replace XORG. It's not quite ready yet. You will see some distributions, shipping, Wayland as the default display server. Typically, they'll also have X11 available on the system as well if you need it for a fallback. Now let's define terminal and shell because a lot of new to Linux users really seem to be confused about the difference between what a terminal is and what the shell is. So let me just show you the difference between a terminal and a shell. So let me go ahead and open a terminal here in Manjaro. So this is the terminal. The terminal is just a program that you can run programs at the command line in. So the terminal allows you to run various programs within it, including shells and that's the difference. There are many different shells on Linux. The default system shell on most Linux systems is a shell called bash. Let me just type bash and hit enter to switch over to the bash shell because by default, Manjaro uses the Z shell by default, so I switched over to bash. And let me just start typing the name of a program like fish, which is the name of another shell. I don't know if fish is installed or not. I type it and I hit enter and bash gives me a warning. The bash shell is a program and it's letting me know, hey, fish, that command is not found. It's not a part of bash. It's not a part of the suite of programs that's installed on this system. Now to show you the difference between the bash shell and the Z shell, just a minor difference, let me exit and get back into ZSH here and now let me type fish. So I type F-I-S-H, now that word is red. Now if I typed LS, that word is green, meaning LS is actually a command I can run. But the Z shell, one of the differences with it is it's interactive and it gives you a little bit more information like, hey, this command that you're beginning to type, that's not a real command. So I don't even have to enter. I don't even need an error message. I already know that fish is not available here. So your terminal is your terminal window, the program here, and then your shells are basically the command line environment that you do stuff in. So your shell actually has to run inside a terminal. I know a lot of new users imagine that the shell and the terminal are the same thing, but I think a lot of them don't realize there's actually dozens of shells out there available on Linux, but by far the most common one that most Linux distributions use is called the bash shell. Bash is a shell that was written by the GNU project and because we've run GNU slash Linux, bash typically is that default shell. And two more terms that I wanna briefly define for you guys are binaries and source. So when we talk about binaries and source, let me actually switch over to my main production machine. Let me launch a terminal and let me zoom way in. I'm gonna CD into, well, if I can type correctly, slash user slash bin. So as the name implies slash user slash bin, this is where all the binaries on your computer should live. So when you install any software from your Linux distributions package manager or its software center, this is where the executable binary executable means it can run, right? It's a actual program that can be run. This is where those programs get installed and slash user slash bin. Now the difference between a binary and then source building from source is that a source built package means you actually have to build it yourself from source. It has to compile. Compilation times can sometimes be really lengthy, right? It can take a long time to compile software. So most Linux distributions just shipped these pre-built binaries. They've already been built on a server that the Linux distribution has running, right? It builds a binary and then just ships you that binary when you install those packages. That way you don't have to compile it yourself. And that's, again, it saves you a lot of time. If I CD into a directory where I have some source code that I can compile, I can actually show you how compiling a piece of software works. I'm gonna CD into this particular directory. This has the source code for DWM, the dynamic window manager. And it is not a pre-built binary. You see all these files? This is the source code, right? All these files. And to make the binary on Linux, typically for most programs, what you do is you have to run three different commands. You have to run a configure. And then after a configure, you run make. And then after make, you run sudo make install. So three different commands. Now, this particular program, it only requires one command to actually compile it. It's just the sudo make install. Let me go ahead and run this. And you see, I get some output. It's letting me know it's taking all of that source code packaging and building the binary. And it places that binary actually in slash user slash bin. So if I CD back into slash user slash bin and do a LS, now let's grip, meaning search for DWM. And you can see there is the binary I just created for DWM by building it from source. Now that particular program is a really small program. So it didn't take very long at all to build it from source. But many programs take forever to build from source. We talked about the X11 display server, the thing that actually gives you a graphical display on Linux. That thing can take a long time to compile. Your web browsers or massive programs, they can take hours to compile. If you had to compile it yourself from source. Thankfully, most Linux distributions build it on their own servers and they make that pre-built binary for you. And then when you install Firefox, for example, you're actually just getting a binary from them. You're not getting all the source code and then having to run through the compilation yourself. And that makes things a lot easier. But there are some distributions that do force you to compile a lot of your software. They're not common, but there are distributions out there. So when we talk about source-based distributions, that's what we're talking about, building stuff from source. When we talk about binary-based distributions, which is most of them, we're talking about distributions that just ship these pre-built binaries for you. So that's all I wanted to cover today. Again, if you're a new to Linux user, I know some of these terms can be confusing. You probably have never heard of most of these terms. And I hope me defining some of this stuff will help your transition from Windows or Mac over to Linux a little easier. Now, before I go, I need to thank a few special people. I need to thank the producers of this episode. Devon Gabe James, Matt, Michael Mitchell, Paul, Scott West, Alan Chuck, CommanderAngry.yokai, Dylan George, Lee, Linux, Ninja Max, Mike, Erion, Alexander, Peace, Arch, and Fedor, Polytech, Red Prophet, Stephen, and Willie, these guys. They're my highest tier patrons over on Patreon. Without these guys, this episode would not have been possible. The show's also brought to you by each and every one of these ladies and gentlemen as well. All these names you're seeing on the screen right now. These are all my supporters over on Patreon because I don't have any corporate sponsors. I'm just sponsored by you guys, the community. If you like my work, you wanna see more videos about Linux and free and open source software, please support me. Subscribe to DistroTube over on Patreon. All right, guys, peace.