DEV Community

Cover image for The GNU/Linux Desktop
Ben Adams
Ben Adams

Posted on

The GNU/Linux Desktop

Almost every device runs with an operating system. There are many different operating systems available. The most common options on desktop are Windows, MacOS, and GNU/Linux, while on mobile the two most common options are Android (a Linux derivative) and iOS. However, there’s more than just those options available. For example, desktop has Unix, BSD and derivatives, and TempleOS. Today I’m going to talk about GNU/Linux and how I’ve been using it every day for theY

But First

What is an operating system? An operating system is a kernel and a set of tools and programs that will let you use the computer. The kernel is the abstraction layer between the hardware and the operating system, while the operating system is an abstraction layer between the kernel and the user. Windows currently uses the NT Kernel, and has since the first release of Windows 3.1 in 1993. Before switching over to the NT Kernel full-time with Windows XP, Microsoft used the MS-DOS kernel from 1985 to Windows Me. The macOS kernel is based on a BSD kernel. Linux is just a kernel, and the operating tools are provided by GNU. Different default tools are combined in different ways and released as distributions (also called distros or flavors).

abstraction layers

Linux Kernel

Before the need for a Linux kernel, GNU (GNU’s Not Unix) was formed in 1985 as an alternative to the Unix operating system since it was not open-source. GNU developed open source versions of popular Unix software. However, GNU did not have a kernel to use for their OS tools. In 1991, a Finnish student named Linus Torvalds shared his kernel with a group of researchers working on Minix, another Unix-like operating. In his introductory email, he described his kernel

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu).

Distros

periodic table of distros

Today there are hundreds of different GNU/Linux distributions available, all of them are more similar than different, but each tries to put their own spin, such as custom tools, driver support, different desktop environments, and different package managers. Most of the distros fall under the umbrella of a much older and sometimes larger distro. The big branches of GNU/Linux distros include Red Hat, Debian, Slackware, and Arch. Red Hat Linux uses RPM package manager, and its mainstream distros include Fedora, CentOS and openSUSE. Debian and its descendants store applications in a .deb format, and is installed using dpkg, which is used through the apt commands. Common versions of Debian include Ubuntu and its derivatives like Linux Mint and pop!_OS (which is what I’m currently using). Distros based on Arch Linux use pacman as their package manager, and common variants include Arch Linux and Manjaro. Arch Linux utilizes a rolling-release model to constantly bring new updates from the source code to the user. Slackware doesn’t have many descendants, as desktop users tend to use Slackware.

Why use Linux?

You should use GNU/Linux if you believe in Free and Open Source Software. GNU/Linux is extremely secure. Because the Linux kernel is open source, it currently has around 28 million lines of code, written by over 21,000 different authors. With that many eyes looking over the source code, vulnerabilities are (hopefully) caught and resolved quickly. Linux is currently used all around the world, as most servers run Linux, and the majority of the top supercomputers run Linux as well. Linux is also very stable and configurable. The stability is attractive for server use, and the configurability is attractive for supercomputer use with their unique hardware setups and specialized use cases. Linux servers are also secure because of the practice of least permissions required for each process.

guh-new logo

You should use GNU/Linux if you want a more Unix-like experience without being locked in to Apple hardware, if you are worried about Apple and Microsoft tracking you through using their OS, or if you want to use a computer without paying for an OS like Windows. While there will always be software that only runs on MacOS or Windows, there are many FOSS alternatives available on GNU/Linux. Package managers also very helpful tools for keeping all of your installed applications up to date – no more downloading executable files from the web and hoping for the best.

I switched to Linux for the ease of installing and removing programs through a package manager and because I knew that I wouldn’t need any Windows exclusive features (primarily gaming) on my laptop. I also knew that GNU/Linux requires less system resources than Windows, so that my hardware would last for longer without feeling sluggish.

operating system logos

Maybe I shouldn’t

Switching to GNU/Linux can be daunting and the amount of options can be overwhelming: Which distro do I choose? Which desktop environment should I use? Wayland or X11? These can be overwhelming for a new user. New users might be put off by the necessity of using the terminal to perform some mundane actions or to fix some software issue. GNU/Linux does not have the best hardware support from peripherals manufacturers, so it would be wise to see if the company provides Linux drivers before you switch. If you play a lot of video games on PC, Windows is still the best supported OS. However, Valve, the company behind Steam and the Half-Life franchise, is launching their own handheld gaming PC, called the Steam Deck, and it will run SteamOS v3, which is based on Arch Linux (after versions 1 and 2 were based on Debian). Hopefully, Valve’s Steam Deck will improve gaming and peripheral support on Linux – I’m banking on it, and plan to fully switch away from Windows in a few years.
personal neofetch

Sources:

Top comments (0)