Table of Contents
Operating Systems
This is a brief discussion about the Linux operating systems and distributions I use, and why I use them. I don't use Apple, and I have a single MS Windows machine which I won't be discussing here.
GNU/Linux
GNU/Linux is the proper name for a range of operating systems based on the Linux kernel (and drivers) to underpin the software that actually forms the operating system. There are various branches, and I use distributions that fall under the Debian branch. A branch is effectively an operating system, whereas a distribution packages the OS in unique ways. For example, it may have or use a specific desktop environment, or package manager (to install/uninstall software from the various repositories).
Debian releases a new version of the OS about once every two years, and guarantees long-term-support for at least five years for that version. This is called a point-release system. Other branches might use a rolling release, where updates to the operating system are incremental and (hopefully) non-breaking. There are advantages to both styles of update.
Debian updates also test the software in the repositories against an upcoming release, so you can be sure the software won't break when you update. The disadvantage is that the software available in their repositories probably isn't the latest and greatest. But it works.
Rolling release systems will almost certainly have the latest versions of software available, so when an application gets updated by its author(s), it immediately becomes available to you. This comes at a cost of stability, which isn't guaranteed.
Ubuntu Server
I'm not a huge fan of Ubuntu. The desktop version is apparently the most-downloaded and installed version of user-oriented GNU/Linux, although with 61 million Raspberry Pi SoC's bought since inception, that may no longer be true. Ubuntu does offer 10 years of security updates, so even when the LTS period has expired, you'll still get security patches for a further five years.
That said, I have Ubuntu Server installed on one of my machines, because I needed MongoDB installed on it. Yeah, go figure. I now have other machines I can install MongoDB on, so Ubuntu Server could well be history soon. It does though, have the security you expect from a server - just not as tight as from some other dedicated offerings such as Red Hat (from the Fedora branch).
Raspberry OS Lite
Raspberry Pi Foundation produce two basic offerings of their operating system: Raspberry OS (complete with desktop and a bunch of software you might need, such as office apps, editors, programming languages etc), and Raspberry OS Lite, which doesn't have the desktop (so just terminal usage) nor any of the desktop software such as the office apps, web browser etc.
I sometimes use the Lite version, but only if I have to. I've nothing against this operating system, I just have other preferences. One advantage is that if you use the Raspberry Imager to install the OS on an SD card or SSD, you can preset the hostname, wifi credentials and other stuff so it's all there on first boot.
DietPi
This is by far my favourite operating system. It is the absolute minimum needed to get going and still provide a whiptail menu system to help you install software and configure it so it just runs without you having to google tons to figure out why it doesn't work. Because it is so minimal, installing the image on an SD card or SSD takes seconds. If you want to set hostname, wifi credentials etc, you have to edit the SD/SSD after installing the image. It's not difficult, but the main thing to point out is you can't do it through the Raspberry Imager.
My first Raspberry Pi was my also my first introduction to gnu/linux operating systems. I had, in the past, installed Ubunutu and played around with it, but didn't understand it and didn't get along with it. The Raspberry Pi changed all of that.
However, getting things installed and configured was a nightmare and DietPi came to my rescue. It's easy enough for a complete novice to use. Now that I'm much more experienced, I still like using the DietPi menu systems to manage my Raspberry Pi's, because it is so convenient - even though I can now do all that kind of stuff at the command line, there's a lot to be said for convenience.
It also has the advantage that it only installs stuff that needs (or is requested) to be installed. Backups are quicker and take up less disk space. The OS is small, so it fits on smaller SD cards (8Gb is more than enough in most cases - although I habitually use 16Gb cards because they're cheap enough).
Most of the Debian operating systems come with OpenSSH pre-installed - which allows you to gain terminal access to the computer from another computer. DietPi installs DropBear by default, but can install OpenSSH if requested. The difference? OpenSSH presents both an SSH terminal and raises an FTP server. That's handy for transferring files, but if you don't need it, why have it running? It is this kind of thought that makes DietPi special.
Mint/Cinnamon
Mint strives to look familiar to anyone coming from a Microsoft Windows background. Familiar - but not the same. It comes in several pre-prepared versions depending upon which desktop you want to use. I use the Cinnamon desktop, but I hear good things about Plasma too. I use Mint/Cinnamon on all my desktops except one, a Raspberry Pi 5, which uses DietPi with a Cinnamon desktop. See how versatile GNU/Linux is? With both Microsoft and Apple you're stuck with the one desktop they give you.
Other Desktops
There are a range of desktop environments available to GNU/Linux users. This is a non-exhaustive list:
- LXDE
- KDE Plasma
- Cinnamon
- Gnome
- Mate
- Xfce
- LXQt
- GNUstep
- Budgie
- Enlightenment
- Trinity
Access
I usually access all my computers either from my primary desktop machine or my laptop, both running Mint/Cinnamon. To get to the other desktop machines (including Windows) I use a program called 'ssvnc', which allows me to see and use the other machine's desktop.
For non-desktop machines, I 'ssh' into them to get a terminal so I can run command-line routines.