Components of a Modern Linux Distribution

This information will, of necessity, be incomplete and out-of-date as soon as it is posted. This is because no official body has sat down to actually define the terms I will attempt to explain and also because the general usage of many of the terms has evolved and changed since Linux was first introduced.

At one time, when you selected a Linux distribution, you knew pretty much what you were getting. Today, most linux distributions offer so many choices and options that you cannot be sure what the finished product will look like nor how it will behave. This article will try to define for you what these choices are. No so much the actual choices, but what the words you will encounter when trying to decide refer to.

One of the main functions of a Linux "distribution", as the name implies, is to distibute software to you, and your choice of distribution determines how you will need to do this. While the last sentence was true when I originally wrote it, it no longer is true. Many distributions, in addition to presenting you an array of software, now also give you a choice of package-managers for installing the software. As of early 2019, Ubuntu is not only distributing software as apt packages, which was once the only means they used, it is now installing software using snap packages. PureOS, a rolling Debian-like distribution, allows installation either of apt or flatpack packages. In addition to these "main-stream" solutions, not to mention the ubiqitous Fedora rpm or Arch pacman package-mangers, there are now a number of developmental packaging systems which may be downloaded and used. The most ubiquitous way of distributing software is that of the GNU Debian distribution, which uses software, both command-line and GUI, based upon the apt command. Ubuntu and its many variants use this system as well. Two other widely used systems are that of Fedora, which packages its software in rpm files that are removed and installed using the dnf command, and that of the Arch distribution and its many derivatives that use pacman as a package manager. Additionally there are quite a few other package management systems, less popular, but perhaps equally efficient, with which I am not familiar.

Another option in many modern Linux distributions is the Window Manager.   The Window Manager controls the appearance and behavior of the windows where the graphical applications are drawn. This includes things like the border, title, ability to be resized or moved, etc.   Some distibutions offer a large array of Window Managers, and others integrate a particular Window manager so deeply in their functioning that you are advised not to change it.

You might think that if the Window Manager is taking care of the behavior of the windows, there is not much left to decide.  . But you would be terribly wrong.   Thus, most modern systems also have what is called a display manager (DM). Most display managers present you with the initial login screen, which allows you to do two things.   One is to authenticate yourself by choosing a username and entering a password, and the second, to choose what kind of session or Desktop Environment (DE) you would like.

I have barely scratched the surface with regard to the subjects I covered.   But since my intention just was to give you a framework for further exploration, I will stop here with one editorial comment. When I first joined the Linux community, the package-manager was a very big issue.   Although some people were vehement in support of one over another, my own feeling was that none were very good.   Today, I feel that nearly all the package managers have improved so much, and are still getting better, so that to me this is no longer a major issue.   You will have to decide what is important to you in choosing a distribution.   For me, reliability and stability are more important than being on the cutting-edge.   Some distributions have better documentation, others have friendlier user-groups.   You will have to decide what works for you.

After choosing a distribution, I think the next biggest choice you face is choosing a Desktop Environment.   I didn't go into much detail above, but it is this, after all, that will be the biggest factor in how you interact with your computer.   Will your desktop be cluttered, with everything in easy reach, or clean, with the vital stuff reachable, but hidden?   Will you be presented with a lot of icons, or a lot of menus?   Is it easy and quick to find and launch applications?   These are the kind of things the choice of Desktop Environment will determine.

Emmes Technologies
Updated 21 Nov, 2019