Linux Terminology 101: Understanding the Basics

Hey there, Linux enthusiasts and curious beginners! Today I’m breaking down some essential Linux terminology that often confuses newcomers. Let’s face it—the Linux world can seem like it has its own language sometimes. Don’t worry though, I’ve got you covered with straightforward explanations that’ll help you make sense of it all.

What is a Linux Distribution?

A distribution (or “distro” for short) is simply an operating system that uses the Linux kernel along with its components. It’s not a completely different system—at the end of the day, all Linux distributions are still Linux!

To put it in perspective, think about Android phones. Samsung’s Android and Xiaomi’s Android are both Android at their core, but they have different interfaces, pre-installed apps, and update frequencies depending on what the company prioritizes. Linux distributions work similarly, but with even more freedom to customize.

Most distributions trace back to three major ones: Arch, Debian, and Fedora. These three are noteworthy because they have their own package managers for practically all Linux software, and they enjoy massive community support alongside backing from big organizations. That’s why most other distributions are built on these three foundations.

Distributions might differ in their package managers, desktop environments, kernel versions, and much more. These differences can make some distributions excellent and others… well, not so great. I’ll make another video soon about which ones to avoid!

Package Managers Explained

You’re probably wondering, “What’s a package manager?” Simply put, it’s the program that downloads, installs, and removes software for you—usually via the internet, using repositories specified by your distribution. You can add other repositories or change them completely if you want.

Repositories are servers containing packages that your package manager installs. Packages are programs or dependencies that other programs need to function properly.

The most famous package managers are:

  • APT for Debian-based distributions
  • Pacman for Arch-based distributions
  • RPM for Fedora-based distributions

For example, in Debian-based distributions, you’d type something like sudo apt install [program] in the terminal. In Fedora, it would be sudo dnf install [program], and in Arch, sudo pacman -S [program].

Some package managers can also install programs in a format similar to Windows .exe files—just double-click and you’re done! Unfortunately, because there are so many package managers, sometimes programs might be available in some but not others, or some might use older versions.

Alternative Installation Methods

Some folks decided to create new ways to install Linux software to ensure everyone gets the same version and experience regardless of their distribution. These methods include:

  • Snap: Developed by the same company behind Ubuntu. The downside? It’s closed-source and slow—one of the reasons people sometimes hate Ubuntu or even Linux as a whole.
  • Flatpak: You’ve probably heard of this one. It bundles all dependencies a program needs in an isolated environment. The program can only access your system with default permissions or specific ones you grant, like running in the background. The drawback? Flatpak programs are usually much larger in size. For example, a torrent client can be significantly bigger as a Flatpak compared to installing it through your package manager.
  • AppImage: This is essentially a portable program. No installation or removal needed—it’s a single file you run, and when you no longer want it, just delete the file. Personally, I don’t prefer working with these and would rather use package managers or Flatpak if it offers a newer version or better experience.

Desktop Environments and Window Managers

Window managers are responsible for displaying programs on your screen—without them, you couldn’t run Firefox or even the calculator app. They display programs in windows and arrange them on your screen either in a floating format or tiled arrangement, depending on the window manager type.

There are two types of window managers:

  1. Standalone window managers like Hyper Land and i3. These simply arrange windows on their own. Their only job is window display, so if you want to change the wallpaper, you’ll need to install a separate program. If you want a top or bottom panel, or even a graphical login screen, you’ll need to install additional software. These window managers don’t have settings programs to change anything—you’ll need to edit their configuration files directly.
  2. Desktop environment window managers that come as part of a desktop environment. Windows float by default, and using them feels similar to Windows or macOS. This is where desktop environments shine—they come with a window manager, a graphical login interface, a settings program, and usually a software manager so you can install programs without using the terminal. This gives you a complete Linux experience.

Popular desktop environments include GNOME, KDE, and Cinnamon. Although you can install any desktop environment on any distribution, it’s best to use the one that comes with your distribution, or find a distribution that includes your preferred desktop environment by default. For example, some distributions like Fedora and even Linux Mint offer multiple desktop environment options, so it’s better to use Fedora KDE Spin instead of installing regular Fedora and then adding KDE later.

Display Protocols

Window managers and desktop environments use specific protocols to display everything on your screen. These protocols handle communication with the window manager to render everything correctly.

In Linux, we have two main ones:

  • X11: Older and more stable
  • Wayland: Newer, and most desktop environments now support it. Distributions like Fedora have adopted it as the default and removed X11, but since Wayland isn’t yet perfect, it can cause issues with older graphics cards.

Why should you care about which protocol you use? Some applications don’t work well with Wayland, while others only work with Wayland. Your graphics drivers might not properly support Wayland yet, or in some cases, Wayland might work better than X11. Depending on your desktop environment or window manager, graphics card, and personal experience, you might prefer one over the other.

Remember, you can only use one at a time. To switch, you’ll typically log out and log back in using your preferred protocol.

Understanding the Terminal

The terminal is a program that lets you interact with Linux through written commands. Instead of copying files graphically like most people do, you can type a command like cp source destination to copy the file you want.

This is ultimately how Linux works—graphical programs just save you from typing commands, but they use the same underlying processes. Many people prefer using the terminal constantly, and once you get used to Linux, you’ll find it’s not difficult at all. It becomes quite easy with practice.

However, the terminal operates within your desktop environment or window manager since it’s actually a terminal emulator. If you want to communicate directly with your system, there’s something called a TTY (short for TeleTYpewriter, which in Arabic translates to “al-Mibraqa al-Katiba”). Historically, these were devices that sent messages through old telegraph cables, but in Linux, it means a direct terminal without a window manager.

You can access a TTY to type commands and even fix problems if something goes wrong with your graphical interface. At minimum, you can perform a clean system restart instead of forcing a shutdown by holding the power button.

The Kernel

As I mentioned in my “What is Linux?” video, the kernel is the core of the operating system. It contains device drivers and interacts directly with your processor, graphics card, RAM, and even your WiFi card.

Why do distributions use different kernels? Because there are several types beyond just different versions. The latest Linux kernel version is currently 6.12.1, but some distributions use older versions they consider more stable, like Linux Mint and Ubuntu.

There are also specialized kernels for specific purposes:

  • Zen kernels that might be needed for certain devices or programs requiring very precise timing
  • Long-term support kernels that are stable and used by distributions like Ubuntu in their LTS (Long-Term Support) versions

Some distributions decide to adopt long-term support kernels, like Debian which uses the 6.1 LTS version released about two years ago.

Stable vs. Rolling Distributions

This brings us to two important concepts for Linux distributions:

  • Stable distributions
  • Rolling distributions

The term “stable” here doesn’t refer to reliability—it means the distribution comes with a fixed version. Linux Mint 21 differs from Linux Mint 22 in kernel version, desktop environment, and any core system components, similar to the difference between Windows 10 and 11. You can update Firefox to the latest version in both, but you can’t update the Windows 10 interface to Windows 11—you need to upgrade the entire system or install from scratch.

Rolling distributions, on the other hand, provide updates directly as they’re released. When a new kernel version comes out, you get the update. When a new desktop environment version is released, you get that update too. Arch Linux, for example, doesn’t have Arch 1, 2, or 3—someone who installed Arch today and someone who installed it a year ago can both update to the latest version of everything.

Some people prefer stable distributions, while others prefer rolling ones. In either case, I recommend making backups using tools like TimeShift before major updates, so you have a fallback option if something goes wrong during the update or if the new update has issues.

Your Linux experience will be shaped by a combination of your distribution and desktop environment. Using Fedora with GNOME will be different from using Fedora with KDE, which will be different from using KDE with Debian.

Here’s a list of several distributions with their current kernel versions, desktop environments, package managers, and whether they’re stable or rolling release:

[Note: The image or list wasn’t fully visible in the original text]

I prefer to keep videos short, so I’ll end here and make a second video covering other important Linux terminology like GRUB and more. If you have other Linux terms you don’t understand or think I should explain, leave them in the comments

Leave a Comment

Required fields are marked *

Your email address will not be published.