What you'll learn
- Software Licensing
- Architectures
- Package Managers
- The Gooey Facts of the Linux GUI
- Validation
Free 58-minute video lesson with a full transcript and knowledge checks. No account needed to watch.
Intro
The Linux+ certification expects users to have some experience with Linux, but since real-world experience is often very task-specific, it's important for us to cover everything, even if some of it might seem obvious. In fact, every time I teach a Linux course, I find myself learning something new. Sometimes that's due to new objectives and advances in Linux itself, but often it's just because I hadn't considered using a specific tool in a particular way. So let's start by getting a firm foundation on Linux itself!
Software Licensing
Anyone coming from a Microsoft world fully understands the idea of software licensing. Since Linux is an Open Source product, the conventional notion of licensing is sort of turned on its head. Rather than being restricted against using a product without paying for a license, Open Source software restricts against preventing someone from using the product without paying! Basically, anyone can use the software. They can even modify it, as long as they also share (for free) the changes they make. There are several terms to consider:
- Open Source Software: Software which is not only free to use, but also has the source code freely available to use and adapt. There are various licenses under the Open Source umbrella, defining exactly what can be done with the source code. Some licenses allow companies to charge for software, as long as they still provide the source code for free.
- Free Software: Often confused with Open Source, the idea of free software, or, "freeware" is that anyone can use the software without paying a license fee. However, "free software" doesn't necessarily mean the source code is available or that the program can be adapted. It just means end users don't have to pay to use the software.
- Proprietary Software: This is software which does not release the source code. It might still be, "free software" -- but it doesn't give the users access to the underlying source code.
- Copyleft: A concept, and a bit of a play on words. "Copyleft" refers to using the idea of using copyright to make sure source code and access to software can't be prevented. It's a legal statement of, "This is my intellectual property, and I insist it be available to anyone who wants it."
Free as in speech, not free as in beer...
This common quote is used to explain the way the most common Open Source licenses (the GPL family) approaches how the software can be handled. Basically, a company can charge for Open Source software (meaning it's not like getting beer for free, you have to pay). But while they can collect money for the software they've created, they must also give the full source code to the software to anyone who requests it. (like free speech -- it's admittedly not a perfect metaphor, but it's ubiquitous in the Open Source community)
Knowledge Check
It's legal to sell Open Source software
Architectures
Linux runs on pretty much any hardware. In fact, since it's so flexible and compatible, it's important to understand what architecture you're planning to install it onto, so you pick the right option!
Knowledge Check
Most mobile phones use what architecture?
Package Managers
While Linux is the actual underlying kernel that runs on every distribution, the various distributions install things in different ways. The Linux+ objectives mention the RPM and dpkg (DEB) package systems specifically, but it's worth knowing the handful of other common ways Linux distributions handle installation of software.
Recent versions of Linux distributions are also beginning to abstract away package management and using self-contained applications. The goal is to separate installed dependencies on a system from conflicting with versions required by the software being installed. The most common forms of these "distribution agnostic" type systems are Flatpak, Snap, and AppImage. While not specifically mentioned in the Linux+ objectives, every system administrator should be familiar with them.
Knowledge Check
Which distributions use the dpkg (.deb) based package management system? (choose 3)
Select all that apply.
The Gooey Facts of the Linux GUI
The X server (or X.org, the open source implementation of X11) has been around since the 1980s. While it has been advanced in many ways since then, it's still the same concept and is built upon the same codebase that has been around for over 20 years.
Wayland is a complete rewrite of how Linux interacts with the graphical subsystem on a computer, but the transition from X.org to Wayland has been challenging. Part of the challenge is an attempt to retain compatibility with all the software currently designed to work on X.org, and part of the challenge is working with proprietary graphic cards in order to get functional drivers.
Nevertheless, Wayland has gotten to the point that it works in most situations, and so many distributions are using Wayland by default instead of X.org. While there are still some compatibility issues with Wayland, it really has gotten to a useable state. That said, there are still some uses cases, and some distributions which install X.org by default.
The end-user experience is so similar, it's often difficult to know whether your current distribution is using X.org or Wayland! That's a good thing for usability, but a frustration for system administrators trying to figure out what's happening under the hood. One of the easiest ways to determine what GUI subsystem your particular distribution is using is to examine the contents of the XDG_SESSION_TYPE environment variable. We'll cover environment variables in a later skill, but typing, "echo $XDG_SESSION_TYPE" in a terminal window will almost certainly show either X11 or Wayland.
Regardless of the type of display server in use, there are some similar-sounding terms that can be confusing, so let's lay them out:
- Display Server - The program controlling how graphics are rendered.
- Examples: X.org or Wayland.
- Display Manager - The graphical login screen which loads before a user logs in.
- Examples: XDM, KDM, GDM, LightDM
- Window Manager - The software which controls how windows are placed on the screen after a user logs in.
- Examples: FVWM, IceWM, Kwin, Metacity, Mutter, twm, Xfwm
- Desktop Environment - Provides things like desktop icons, panels, menus, etc. Desktop environments include a window manager as one of their components.
- Examples: KDE, Gnome, XFCE, MATE, Unity
Knowledge Check
Some Linux distributions still default to X.org as their display server
Validation
This validation section will force you to get comfortable using different Linux distributions, along with familiarizing you with the lab environment we have for this course. Using the lab below, your job is to determine the following things about the virtual machines. It might take some online searching to find the answers!
NOTE: The headless virtual machine might be more challenging, since it doesn't have a GUI at all. Do your best, but don't dwell too long, especially on the headless VM.
Try to discover the following:
- What package management system does each VM use?
- What display server (if any) does each VM use?
- What window manager or desktop environment (if any) does each VM use?
- What architecture are the VMs using?
- How is the virtualization accomplished in our lab?
NOTE: The username and password on all the Linux virtual machines are:
User: learner
Pass: learner
Knowledge Check
A Windows-based computer can run Linux in a virtual machine
Knowledge Check
Which of the following are NOT Linux packages? (choose 2)
Select all that apply.
Knowledge Check
Which is the oldest technology?
View Transcript
Intro
0:00The Linux plus certification does not have any official prerequisites. However, it does recommend in the objectives that you have 12 months or more of hands-on Linux experience. And they also recommend that you have a network plus server plus, um, a plus certifications or the equivalent experience that those certifications cover. So while there aren't prerequisites, it is expected that you're familiar with Linux, I say that, but as we go through the objectives and learn the stuff required to pass the Linux certification, there will probably be some things that maybe you roll your eyes over like, well, of course I know that it's understood that I have hands-on experience with Linux, but I'm going to try my best to make sure that I don't assume that users know things just because, because I've taught a course, this course or courses like this many times over the years.
1:07And every time I seem to pick up something new, uh, either a new Linux, uh, tool that, you know, didn't exist before, or a new way of solving a problem, uh, using existing tools just by looking over material that of course I already know. So if it feels a little elementary, just bear with me. There may be a little nugget of information that you get as we go through the objectives that you already knew, but seeing it again or looking at it from a different angle might make you that much better of an administrator and that much more likely to pass the exam certification test.
Software Licensing
0:00A prime example of an assumption that I don't want to make is that just because you're familiar with using Linux, you automatically understand what open source software means and what software licenses are and how open source licenses can vary and what on earth copy left means. So we're going to go through some of the terms. We're not going to go through individual software licenses and like what each individual one provides, but just the general concepts at this point of open source software, because it's a term that gets thrown around and people just say, oh yeah, that's just when you don't have to pay for it. But it's far more nuanced than that because some open source software, you have to pay for it. So anyway, let's talk about open source and free and proprietary and what they mean. So first, yes, the elephant in the room, open source software. What that means is that when you use open source software, you have access to the source code. Now the source code is just that it's the code that allows the software to exist, like the recipe for cooking up the software that you want to use. Now Linux is open source software, meaning you can get the source code to any Linux distribution that you want. Now I say license
1:21and there are various licenses. You may have heard of something like GPL version 3 or BSD license or the MIT license. All of them do various things, right? Some software licenses will allow you to change what license any software that you build upon it can be. Like you could take some open source software that has a very liberal license, something like the MIT license, and you could change the source code into something new and then close the source so it's no longer open source.
1:59And that's perfectly acceptable inside some licenses. But some of them say that if you do anything that allows or that is using the source code that you have, you know, gotten from this project, GPL version 3 is one example of it, you must release all of the source code that uses any of the code that you are using, right? So it like always has to stay open source. And some of it allows you to even charge money, right? If you're familiar with a company like Red Hat that sells software distribution usage, they're allowed to sell their Linux distribution even though it's all open source, it's just they have to give you the source code that they use to compile their software. So it's okay even to charge money for open source software, as long as that source code is released. And when you have the source code, it is free to use, right? You don't have to pay. If you have the source code freely available, you can compile it yourself and then, you know, you can use it if you want. So it is free to use open source software. But if you want
3:16somebody to do the heavy lifting and compile it, they're allowed to charge you money for that. Now, free software just means you don't pay for it, right? There's no cost. It's free. You can't pay for free software because it's free. With free software, it means that you can use it without paying a license fee. But that doesn't mean that they have to give you the source code, right? Free software just means that there's no cost. But free and open source are not exactly equal. Something can be free to use, but you don't get any of the software. You've probably heard of freeware, and that would be considered free software. But it doesn't mean that you get the source code for the underlying or for the program. You know, that underlying source code is not necessarily available. And then lastly, we have proprietary. Now, proprietary is what most people think of when they think of licensed software, right? This is like Microsoft charging for Windows licenses, right? The source code is not given. Proprietary is, it's their source code, they compile it, and then they will allow you to use their end compiled product, usually for money. It's often
4:33like a per user or like a subscription fee or maybe per computer it's installed on. That's usually how proprietary software is licensed. But this is important to note. Proprietary software could still be free. Because here is the secret. This description of free that we had right here, that is still a proprietary software. Because proprietary software just means we don't get the source code and we can't make modifications to it ourself. So free software, where you don't pay for it, but you don't get the source code, this is still considered proprietary software.
5:16Alright, so again, there's some crossover here, right? Because free is a lot like open source software, it's free to use. But that doesn't mean that free isn't also proprietary. So that's the difference between them. And it's still I'm sure a little confusing, especially because there's some crossover, right? Something can be free and open source, it can be free and not open source, it can be proprietary and cost money, or it can be proprietary and be free. Or it can be open source and still cost money. So again, there's a lot of blending over the things, it's just important to understand what the defining characteristics of each thing really means. Another term that goes along with this, but is different, is something called copy left. Now you've probably heard of copyright. You know, like if you create something, it's copyrighted.
6:14This video that you're watching is copyrighted. It belongs to CBT Nuggets, the intellectual property they own for this video. Copy left is, it's a legal term, but it's kind of a play on words, right? Because with copyright, it restricts what can be done with the product. But with copy left, instead of restricting what can be done, it insists on what must be available.
6:44So if something has a copy left applied to it, it means that if you use this, you have to share the source code, right? You can't keep it to yourself. So again, this isn't something that is used a whole lot in conversations about open source and unless you're really into the licensing and the legality of it, but just know that copy left more than anything is a play on words because copyright restricts what you can do. Copy left insists on what you have to let people do. It's kind of that the opposite of a copyright in that regard, right? They're just, instead of insisting on restriction, they're insisting on the free sharing of the source code. So that's what copy left means. And you'll hear that thrown around a lot, but it can be a confusing term and usually it's really only pertinent when you're talking about the legal access to intellectual property, whether it's code or whatever you're talking about in that particular conversation. Most day-to-day conversations, you don't have to worry about it, but now you understand that yeah, you can just say it's a play on words. Yeah, it's like copyright, but instead of restricting, it insists on the permissive use of things. See, and then you sound really smart. And then lastly, I want to address
8:03this term that you almost certainly heard if you've ever been in a conversation with an open source advocate. Open source is not free as in beer, it's free as in speech. Now what on earth is that trying to say? Well, just like the licensing that we just talked about, open source and free and proprietary, what this cleverly worded phrase is actually saying is that when we talk about open source software being free, we're talking about it being free as in the freedom of speech, meaning no one can prevent the free spreading of the source code, right? This is, it's free, it's out there, it's fully available, and it cannot be legally stifled. That is the type of freedom that the free in open source is talking about. People who make beer for a living, they're still allowed to charge for it, even if the recipe is public. So that's kind of where the metaphor would be, right? The recipe for the beer is public, it's open source, you have to know how to make it.
9:12But people who actually make beer for a living are still going to charge for their beer. So it doesn't mean that anything ever created with open source software has to be given away for free with no compensation. What they're saying is the source code is always going to be freely available and it can't be stifled. And it really isn't even like a perfect metaphor or a perfect saying, it's just really clever. And it has the word beer in it. So it's super popular. When open source people start talking about, well, it's not free as in beer, it's free as in speech. You're allowed to say, yeah, I know. Anyway, that's software licensing as it pertains to open source.
10:01And like I said, we could dive way deeper into the individual licenses and what they allow, what they prevent. If you're going to use one, what it means for your work and for any work based on your work, they can get very, very complicated. But they all kind of fall under that the source is going to be available if it's licensed with an open source license.
Architectures
0:00It's so ubiquitous that it's almost a joke that Linux will run on anything. In fact, there's a book and you can look this up. It's true. There's a book entitled Installing Linux on a Dead Badger. Now, I don't think we could actually install Linux on a dead badger, but pretty much any architecture or hardware architecture that is out there or has been out there will allow you to compile the Linux kernel and install it. Now, things have changed over the years. You may remember way back when video game systems and like arcades used 8-bit graphics, and you still see some 8-bit graphics that look old school, like Minecraft kind of has that pixelated 8-bit look. But as of today, there are mainly two types of systems or architectures that are commonly used in computer-based systems. There's 32-bit and 64-bit. Now, of course, there are others, but those two are generally what are still in service. And quite honestly, 32-bit is really becoming something that isn't used much anymore. So most computer systems, at least, are running a 64-bit operating system.
1:21And now we don't need to really know what that means, but it's basically how much information can be stored in memory. So it takes different hardware and larger registers and larger CPU stuff, but it allows us to do a lot more using 64-bit over 32-bit. Now, there are still some use cases today for 32-bit, but let's look at some of the architectures that you might see, because even though two different CPUs might be 64-bit, they could be completely different architectures, meaning different ways that processors are built. So, for example, ARCH64 is an ARM-based processor. That's the architecture. And pretty much every mobile phone device is running an ARCH64 architecture. And it's an ARM-based, so ARM architecture, 64-bit. ARCH64 is what almost every mobile device, mobile phone, tablet, are running. And this architecture is very efficient power usage wise, and it just, you know, becomes more and more common. Things like Ampere that you may have heard,
2:41you know, ARM-based architectures that are 64-bit are even becoming popular in servers because they're very energy efficient. But there are still some old school x86, which is the way that we describe a 32-bit like Intel-based, now could also be AMD, but 32-based processor that used to run, oh gosh, for the longest time, x86 was the architecture of choice. It was the only one that existed for a personal computer. And then, of course, we went to, we advanced so that we could use 64-bit registers and that turned into x86-64. Well, actually, there's a little more nuance to it. The AMD company came up with the 64-bit processor first, so they coined the term AMD-64. And so the x86 iteration into the 64-bit world first was referred to as AMD-64. Then we started using a more generic term x86-64 to say, you know, it's like the next iteration of the x86 CPU, but the 64-bit version. And these two, you'll still see them both, but they're equivalent,
4:03you know, they're functionally equivalent. The Intel processors are AMD-64 compatible, right? You don't have to have AMD chips, like AMD branded chips to use AMD-64. AMD-64 and x86-64 are the same thing. This is just the generic term for it. And usually you will see this used in Linux worlds because, you know, we don't want to cause that confusion of, wait, so will it work on Intel if it's AMD-64? Well, yes, because they're functionally equivalent. And now before ARM-64-bit, there was ARM-32-bit, which just like the x86 line of processors, just the way that programming is done on them, sort of evolved into 64-bit. ARM-32 turned into AR, the ARM architecture of 64.
4:57And then RISC version 5 is actually out there now. And there are two versions of the RISC-5 chipset. Okay. So RISC is different from both x86 and ARM-based. RISC is its own beastie, but there is the 32-bit version, RV-32, or the 64-bit version, RV-64. And RV-64 has a mode, it's called, this is more than you really need to know, but I like nerdy things. It's called compat mode. So often the RISC-5 processors that are RV-64, 64-bit, can run 32-bit programs using this compat subsystem. But for the most part, RV-64 is what is going to be used in everything, like computers, anything that is going to be using the RISC-5 architecture is going to use the 64-bit, except for very small embedded systems that really want to use the bare minimum amount of hardware and the smallest chips available for something very inexpensive. So if you have
6:13a RISC-5 embedded system, it might be running 32-bit, even in the modern day where 64-bit is generally more desired. For the case of power and space and chip size and design, the 32-bit version of RISC-5 is still out there. So just know that. But there are three families. There's going to be the x86 family, either 32-bit or 64-bit. The ARM family, either 32-bit or 64-bit. Again, this being what almost every mobile device now uses. And then RISC-5, which is out there and it's getting more and more popular, but it's not nearly as popular as the other two. And this is like a third family that has both 32-bit and 64-bit chipsets out there. And Linux runs on them all, right? Linux runs everywhere, even on a dead badger. But it's important to note that Linux doesn't always look the same because if you have an Android phone, that's running Linux. Android is a Linux operating system. So when I say the AR64 is where mobile devices, mobile phones are almost all running,
7:34that means that all of those Linux distributions named Android are running on that platform. So it's not just like Linux desktops that are running out there on architectures. It's also your mobile phones that happen to run Android are running Linux on an AR64, assuming it's any time in the past decade that you've purchased your cell phone and it's running on that AR64-bit chipset. So anyway, Linux will run anywhere, but those are the three main families of processors that you might find in the wild.
Package Managers
0:00If you are coming from a Windows-centric background, you're almost certainly familiar with a .exe file for installing software or a .msi package like the extension on the end of like setup.msi or setup.exe and that's how you install software onto your Windows machine. Now if you're in the world of macOS, you may be familiar with a .dmg file which is really a disk image and then you like drag the application over or you might be familiar with a .pkg file which is a way that you install things on macOS. You double click on it, it installs so it's installed on your system.
0:44Well Linux is the same sort of thing, right? Linux is the overarching operating system and if you want to install other software packages like let's say you want the Firefox browser on your Linux machine, you need to install it. And now there are several package managers out there. Package manager being like the way that stuff is installed. Now I will say unfortunately there's not one standard way that we install packages into a Linux system. Now there used to be, you would download the source code and you would compile it and you would install it and that's how software was installed. But that takes a long time and so pre-compiled software is generally what people use because it's a lot easier if somebody else did all of the building process for you and you just install the package just like you would in Windows or macOS. So there are a lot of package managers out there. There are two main package managers though and two that you should be familiar with and that'll get you through 85% of the Linux distributions out there when it comes
2:01to installing packages. Now if your system installs things by using a package that ends in .DEB, this is a DEB file or it comes from the Debian distribution. But .DEB is very common and to add more complexity, DEB files are installed using a number of tools. Like you could use apt or you could use dpackage or you could use, oh gosh, there's just a bunch of different programs you can use to install DEB packages. But if the underlying software is packaged up into files that end in .DEB, this is the way that most software is installed on the system.
2:54And this is going to include, and this is really the important part, like what operating systems use what package management systems. .DEB is used by, of course, Debian. That's where it came from. But also any Debian-based distribution like Ubuntu, Linux Mint, or any other distribution that is based on Debian. And lots of them are based on Debian and they just, you know, add on things to make it more than Debian is by default. Now the other major brand, so to speak, of ways to install packages are RPM, which actually stands for Red Hat Package Manager. And this too has multiple programs that will allow you to install the RPM file. But if your system uses RPMs, you are an RPM-based system. And yeah, you could use lots of different tools to install these.
3:52Like you could use YUM, or you could use Zipper, or there's lots of different tools that you can use to install RPMs. But when the system is based on RPM packages, it's important to note that that's the type of operating system you're on. So you know how to install packages or what type of packages you're looking for. And this is going to be, of course, Red Hat and any Red Hat-based distribution. And that's going to be Red Hat, or Fedora is actually a Red Hat made by Red Hat.
4:24But then there is OpenSUSE uses RPM. And the thing about open source software is that even though SUSE, the makers of OpenSUSE, they are not affiliated with Red Hat. Since everything is open source, they can certainly use this package management system without any concern of copyright infringement, because it's all open source. So OpenSUSE, Red Hat, Fedora, any other distribution based on Red Hat is going to use RPMs. Now, I will say that in the past maybe five to eight years, there has been a trend to not use those package management systems to install applications. And it's, it's been done with good intentions. The intention is that they want application developers to be able to develop in their own ecosystem and not worry about dependencies on multiple distributions, like what Red Hat versus OpenSUSE might install for dependencies. They don't want you, the developer, the application developer to have to worry about that. So they want to make self-contained applications that have all of their own
5:42dependencies built in and can be installed on any system, not just Red Hat versus OpenSUSE. But what if you could develop an app that could be installed on Red Hat and Debian using the exact same package. And that's where things like AppImage, which gives you a single binary file that will run on either, on pretty much any Linux distribution, or you could have snaps or flatpaks. And of course, because this is such a good idea, there's now competing ways of doing it. So AppImage or snaps or flatpaks, they're different ways to do the same sort of thing, but you will see a lot of modern distributions like Ubuntu tries to get users to use, well, Ubuntu particularly likes snap so that it's easier on the app developers. They don't have to compile for Red Hat, compile for Ubuntu, compile for Debian. They can just create one centralized snap and have it work everywhere. One of the problems with that is they don't always work everywhere. And because they're self-contained, sometimes they don't play well with the
7:01actual operating system, the, you know, the bigger distribution. So for some things, it works great, but it's not a panacea. It's not the perfect solution, but just know that it exists. And there are snaps and flatpaks and AppImages, and also DEB files and RPM files, and all of them work together and there's gray overlap between distributions. But generally, one of those systems are going to be how you install packages on whatever distribution you happen to be on.
7:36But know the basics, Red Hat, Fedora, OpenSUSE, they use RPMs, Debian, Ubuntu, Linux Mint, they use .DEB files. And everything else is just kind of a blur. But because it's open source, you can often adapt things back and forth or have multiple options. Again, it's unfortunately, you can get the paralysis of choice. There's so many options out there, but just know the basics, right? Those are the basics and you're good. And know that the same package can be installed multiple ways, even on the same distribution, which can be frustrating, but it's important to know.
The Gooey Facts of the Linux GUI
0:00Now, believe it or not, well, of course you believe it, you're a Linux person. Linux generally doesn't have a graphical user interface, right? The vast majorities of Linux installations are server installations, and they don't have any GUI front end. It's just a text-based console-only install. However, Linux does fully support a graphical user interface, and it can be on a laptop or a desktop, or we talked earlier about on a phone if you have an Android phone. But the idea of a graphical user interface is not foreign to Linux at all. And from the very beginning, we could run what was called X-Windows at first, right, you know, on a screen so that we could have a GUI interface with Linux. Now, there has been some significant advancement, and we're in the middle of a change from one way of managing the relationship between the screen and the graphical interface card, you know, your graphics card and the running kernel. We're transitioning from a system that's over 20 years old, X.org, or X11, you might see it referred to, and that is the
1:20X-Windows system, which has traditionally been the way that Windows, you know, of applications have interacted with the user behind the keyboard and mouse. Now, because it's so old, it has a lot of shortcomings that have been sort of like patched and like wedged in sideways to try to make it work, things like multiple displays. Well, when X.org first came out, the idea of having more than one monitor on a computer was ridiculous, right? Monitors were really expensive, and you were happy to have any GUI interface, much less multiple screens. So we're transitioning from X.org to Wayland, which we're not going to go deep into the technical differences. But Wayland is more efficient. It handles more modern scenarios like, you know, a high-powered graphics card communicating with multiple screens. It does away with a lot of the stages between the graphical user card and the actual rendering of things. It does direct composition, which again, we're not going to get too far into the weeds. But Wayland is a better way of doing GUI on Linux. But
2:41everything has used X.org for so long that trying to transition is a huge issue. And Wayland tries very often to be backwards compatible, but it's such a drastic rewrite that backwards compatibility has been problematic. And then the other big issue is that graphics cards, you know, NVIDIA, AMD, Intel, the graphics drivers for those cards are often proprietary. It's very often that those the drivers to make graphics cards GPUs work are proprietary, and they're proprietary designed for X.org because that's what has been around forever. So there's been a lot of problems trying to transition the Linux desktop from the old, old 20 plus year old X.org or X11 system into a more modern Wayland way of rendering the screen. And another thing is, if it's successfully done, users won't notice any difference because it will look and function exactly the same, just better, especially behind the scenes. But anyway, all that is to say, we're still in the
4:00middle of a multi-year, like probably multi-decade transition from X.org to Wayland. But Wayland is the default display server for many distributions now, just not all of them. Some of them are still running X.org as their default, but most distributions will allow you to use one or the other, even if the default isn't the one that you want. Anyway, let's talk about how the various layers of GUI applications work, because there's a lot of terms that you might hear that kind of all sound like the same thing. So here we are talking about GUIs in the Linux world, and we have sort of four levels of how things are displayed on your screen in a GUI environment.
4:55The first is what we've been talking about, the display server. And this is how the Linux kernel communicates with the graphics hardware, the GPU on your system. It uses the display server, and that display server can be the old standard X.org, or you might see this referred to as X11. This is the old school way of displaying things and communicating with the graphics driver. The new way, of course, is Wayland. A lot of distributions are using Wayland, not all of them as of 2026 are using Wayland as the default, but many are. And you can, we'll talk about how you can tell, you just look at an environment variable. I'll have a little cheat sheet for you in the skill so you can see what you can type to see what display server you're running. But here are the terms that I was talking about, display server, display manager, window manager, and desktop environment. They all kind of sound like they could mean the same thing. But display server is that underlying core that communicates with the hardware. A display manager is the graphical thing that you see before you log in. So it's going to be the thing that asks you to log in,
6:15asks for your username and password, and it's going to be a GUI thing asking for your username and password. But it's going to be like XDM is the old standard. KDM is usually the display manager that KDE uses. GDM is what GNOME uses. LightDM is also what GNOME sometimes uses depending on the distribution. But these are all a GUI way to get your username and password. Then once your username and password is entered and the system knows who you are, it looks and says, okay, you are Sean. What window manager do you want me to use? And the window manager is just the thing that controls how windows are actually displayed on your screen. So there are some window managers, like I didn't list here, but it's like, I think it's called RATWM. And don't quote me on that.
7:10It might not be called RATWM. That is the, I think that's what it's called, but it will just tile them. So like it will fill your screen, but it will just put them right next to each other. And none of them ever overlap. But there are other window managers that will allow you to, you know, overlap them. Like you would think a normal screen, you can like have windows overlap each other. And like KWIN is the underlying window manager for KDE. So it allows to say how the windows are placed on the screen. And it's also the thing that draws the decorations.
7:43Like if there's an X up here, or like a minimize button, or like, you know, something over here that will drop a menu to say, like, would you like to roll this window up? Or do you want to maximize it? You know, let's maximize thing here. All of the window things themselves are controlled by the window manager, which makes sense. That's why it's called that. Okay, and different distributions and different desktop environments are going to use different window managers, but they all do functionally, that same thing, they handle the individual windows. And then the like the top of the of the GUI pie, if you will, is the desktop environment. And this is going to be how apps interact with each other. So the desktop environment are going to be things that you're probably the only one of these that you're familiar with. Things like GNOME, KDE, MATE, XFCE, Unity, these are desktop environments, they use a window manager to control how windows are drawn and moved around the screen. But really, the desktop environment creates that entire environment of applications working together. So if you have like a session, like what applications are open,
8:58when you log in, your desktop environment is going to determine what opens. If you have, you know, a taskbar at the top of the screen and the bottom of the screen, your desktop environment is what does that, let's say you have a, you know, a dock on one side, and it has, you know, icons there, and that starts, that's all created with the desktop environment. And so that's kind of like a progression of low level to high level when it comes to a GUI on the Linux desktop. As an end user, generally the only thing that you decide is what desktop environment you want. Do you want KDE?
9:37Do you want GNOME? What is it that you want it to look like when you interact? Because KDE is going to have its own chosen window manager, KWin, that's going to draw the windows and like the maximize and minimize and all those things. It's going to use its own window manager, and the display manager is usually chosen by the desktop environment too. But it's important to know that, you know, that progression of low level, you know, next, next, and then the high level is that desktop environment.
10:09And when you see all of those different terms, you'll know kind of where they fit in the progression of high level versus low level GUI stuff on your system.
Validation
0:00All right, so really the big purpose for this validation section is for you to get comfortable working in our lab environment. And now I just put in a little, I just opened Notepad and I just wrote down the things that we're going to try to find out about our different virtual machines that we have to play with here. So we have three virtual machines, one and they're all labeled up here, just double click and it'll open them up in our in our windows. But we need to try to figure out what the package management system is. And so I started with the one on the left. So Ubuntu Mate here. Now Ubuntu, you may remember, is a Debian based system and Ubuntu Mate is an Ubuntu based system. So it's going to be Debian based. So it's going to be use a Deb, D-E-B package management system. Okay, so the display server. Now, if you looked along in the the skill itself, you you know that the way we can figure out what display server or yeah, what display server is being used is to look at an environment variable. So what we need to do and this is again in the skill, you can do echo xdg underscore session underscore type and it will return okay x11.
1:26Remember I said x11 and x.org are synonymous. So this Ubuntu Mate server is one of the distributions that default to using the older but more stable, more reliable, more compatible x11 or x.org display server, right, our desktop environment. If you remember from our slide, one of the desktop environments that was listed is Mate. And so this being Ubuntu Mate is almost certainly running Mate. But if we click on this, again, the goal is for you to explore. So a system if we say about Mate, it's going to tell us this is the Mate desktop environment. Alright, so poke around, hopefully figure that out. The architecture now this is when you might have to you may have to have Googled to figure this out. But if we were to say cat proc CPU info, it's going to show us all the information about the processor in this machine. If you scroll up, you can see that the vendor ID is genuine Intel, and Intel Xeon Platinum 8370 c CPU. So we know, well, a lot of
2:43people will know that an Intel Xeon Platinum processor is going to be an x86 underscore 64. But you could highlight this and open up Google and search and it will tell you the the type of system that it is. So we know that's the architecture that we have. And then what type of virtualization Well, this one is not really something that is going to be tough to figure out. Because if you'll notice our lab booted Windows, right, this is Windows, that's a little Windows thing. If we click Start, this is all Windows. So our virtualization platform is Windows, meaning that even though our lab is running Windows, it is running a virtualization program, actually Hyper-V, if you want to, you know, get specific about what platform, but we're virtualizing Linux inside a Windows environment, which is kind of cool. You know, we have a Windows server here running and we are running a virtualized a virtualized version of these Linux distributions. So anyway, that's Ubuntu Mate. We answered the questions about that.
3:52Let's close that. This one is headless. Now that just means there is no GUI. So let's log in. If you look, I said the login and password for all of these are learner, and the password is learner. And so here we are, we're logged in. If we were to try to say echo that xdg underscore session underscore type, it says tty. Okay, and you'll notice tty is neither x11 nor Wayland. And that just means it's the, we're in a terminal window, right? So tty is saying it's not Wayland and it's not x11. So this is going to be a headless version, no GUI whatsoever. So a lot of these are moot. There is no display server, there is no desktop environment. The architecture, of course, is the same. I mean, we could look it up and get the same thing because it's on the same machine.
4:51It's the same virtualized machine. The only other thing that we could try to figure out is what type of package manager is there. But that's given away too, because this is an Ubuntu server. If you look across the top, it's an Ubuntu server. And so we know that that is using the .deb package management system. All right, and that just leaves us with one more. And this is Rocky Linux. And so let's see if we can figure out what Rocky Linux is using. Well, package management, you may have to Google this one to quickly figure it out. But Rocky Linux, I will just tell you it uses RPM.
5:34And so you could, again, Google it to figure that out. You could go into try to go into the etc apt folder. And oh, there is no file or directory. So it's not using the standard Debian file structure. So you can, again, how you figure it out, there's not one specific way, Google is certainly a quick way to figure out that it's RPM based. And if you know the RPM tools, you know, you could use RPM, or just type RPM. And if it comes up, then you can, you know, if the program RPM, which would allow us to install RPM packages is installed, then we can be pretty sure that it's using the RPM based package management system. All right, let's look at the display server, see what display server it's running. So echo $xdg underscore session underscore type, and this one is running Wayland. Alright, so Rocky Linux is running Wayland by default. Ubuntu Mate is running x11 or x.org. And the headless Ubuntu server is not running any display manager or display server. And so that just told us TTY just means a terminal window.
6:53Alright, did that do everything? The architecture is going to be the same on them all. And yeah, so what I encourage you to do is while you could do the things listed pretty quickly, get familiar with the systems that we have in our lab environment, because we're going to be using a similar lab environment throughout the course. And being familiar with these different machines and what they have and how they work is going to be beneficial as we do future labs. So you don't have to get to know the lab every time that we we have an assignment. Alright, so I hope that this was a enjoyable for you. And yeah, play around, you have up to eight hours to use this lab before it expires. Have fun. Transcribed by https://otter.ai
Frequently asked questions
What does the Basic Linux Concepts lesson in the CompTIA Linux+ (XK0-006) course cover?
Basic Linux Concepts is where the CompTIA Linux+ (XK0-006) course begins, giving each team member a shared baseline in core Linux concepts. Later topics in the course build on that baseline, so IT Directors get a common starting point across the whole team.
How long does the Basic Linux Concepts lesson take to complete?
The lesson runs 58 minutes of video. The full course has roughly 24+ hours of video before practice time, so Training Managers should schedule it as part of a phased rollout rather than a one-week cram.
Which certification does the Basic Linux Concepts lesson help a team prepare for?
The lesson is part of CBT Nuggets' CompTIA Linux+ (XK0-006) training. CompTIA issues the certification, and CBT Nuggets prepares the learner for it.
Who on an IT team should start with Basic Linux Concepts?
The course is a strong fit for systems administrators, junior infrastructure staff, and IT Practitioners who support mixed environments. Starting everyone with this lesson helps Team Leads reduce dependence on a small number of senior Linux admins.
What topics follow Basic Linux Concepts in the Linux+ course?
After basic Linux concepts, the course moves into boot, devices, filesystems, LVM and RAID, mounts, and networking. It then continues into shell work, text manipulation, backup and restore, virtualization, Git, Python, Ansible, CI/CD, monitoring, and troubleshooting.
How can a Training Manager sequence and track Linux+ training across a team?
Playlists help IT leaders sequence lessons like Basic Linux Concepts, while Virtual Labs and Practice Exams reinforce hands-on practice. Team reporting provides per-learner progress and completion, cohort and group views, and completion exports for audit evidence.
Team training path
Turn this skill into assignable team training
This free skill is a preview of the courses your team can assign, track, and report on with CBT Nuggets.
Free training library
More free lessons in CompTIA
CompTIA
Explain the Project+ Certification and Basic Concepts
Free lesson from CompTIA Project+ (PK0-005) · 51m
CompTIA
Understand Linux Fundamentals
Free lesson from CompTIA Linux+ (XK0-005) · 49m
CompTIA
Identify Types and Categories of Security Controls
Free lesson from CompTIA Security+ (SY0-701) · 51m
CompTIA
Understand the Point of Servers
Free lesson from CompTIA Server+ (SK0-005) · 1h 4m
CompTIA
Using Reference Models
Free lesson from CompTIA Network+ (N10-009) · 1h 27m
CompTIA
Explain Cloud Principles
Free lesson from CompTIA Cloud Essentials+ (CLO-002) · 57m
$59
seat / mo, billed annually
