Linux Distros

One of the things that can be off-putting when a user contemplates switching to Linux is the sheer volume of choices available. My wife likes to shop at Ruler or Aldi stores because there isn’t much choice. Want shredded wheat cereal? There’s only one brand, or maybe two, to choose from.

Similarly, although there are a few different options available if you want Windows (Home or Professional, for example) the number of different available Linux Distributions (henceforth, “distros”) can be overwhelming.

The excellent site DistroWatch lists the top 100 distros in terms of Hits Per Day, calculated over a variety of time spans from the last 7 days to a year at a time. Mind you, there are many other distros that don’t make the top 100, perhaps ever.

So, what are all of these distros?

Linux, as an operating system, is a pretty bare-bones “core”. There isn’t much to do, and not much way to do it. People add other software to show windows, type text, find out what files are where, and so on. They then bundle these other programs with the Linux OS to make a “distribution” – the files are distributed together, and presumably have some way to maintain themselves after installation.

Many of these other programs are distributed under the Gnu General License (or some variation thereof) and some software purists insist that no one uses “Linux”, but “Gnu / Linux” is quite popular. Whatever.

Things are made somewhat simpler by the fact the vast majority of distributions are actually based upon other distributions. Chat GPT informs me that there are essentially 7 major Linux distributions (8 if you count Android), plus many other “one-off” distros.

  1. Debian
  2. Red Hat
  3. Slackware
  4. Arch Linux
  5. Gentoo
  6. SUSE
  7. Alpine Linux

There is a “framework” of sorts, called Linux From Scratch (LFS) that can be used to “roll your own” distro, but it is not, in itself, a distro.

You may be surprised to see that Ubuntu, one of the most consistently popular distros around, is not in that list. That’s because Ubuntu is itself a derivative of Debian. If you can manage Debian (by which I mean, install and remove software) you can probably use Ubuntu. Linux Mint, which I have used as my daily OS for about seven years, is based upon Ubuntu, which is based upon Debian. See how this works?

There’s more to it than distros, however.

When a person uses Windows, they expect it to look a certain way, depending upon the version. Similarly, macOS looks like macOS, allowing for changes as it ages.

This “look and feel” in Linux is generally determined by what we call a “Desktop Environment”. There are roughly 6 DEs, according to Chat GPT, and countless variations.

  1. GNOME
  2. KDE
  3. Xfce (this could be seen as a derivative of GNOME since it uses the Gnome Tool Kit)
  4. LXQt
  5. LXDE
  6. Enlightenment

Of these, all but Enlightenment have been around for a long time, and there are incredibly stable versions of them. Even Enlightenment, the new kid on the block, has been around long enough to smooth out most of its lumps.

What makes this particularly confusing is that different distros may use different DEs, but most DEs can be used with most distros. For example, Ubuntu uses GNOME as its Desktop Environment (or a derivative thereof), but you can also download Kubuntu which uses KDE. So, Ubuntu with GNOME and Kubuntu with KDE will work in very similar ways, but may look very different because of the different DEs.

So, how do I choose?

The good news is that it’s really easy to try out different distros. Most of them will run very well in a Virtual Machine (VirtualBox is available for free on Windows, macOS, and Linux), and you can do at least some testing that way. Also, most Linux distros that I’ve played with have a great Live Boot version, which allows you to reboot your computer into Linux, test it out, and then reboot back to the OS you were previously using.

One reason you might want to do that is that driver support is different between distros, even those based upon the same foundation. Drivers are the small pieces of software that make various sorts of hardware work with our computers. Many things are pretty universal now, so a USB or Bluetooth mouse will probably work with just about any computer, but some things are trickier. WiFi (wireless connection for Internet) can be tricky, as some companies use non-standard hardware to try to save money. I’ve also seen some laptops whose trackpads were not supported by drivers in Windows 11, although they worked fine in my Linux distro. We had to attach a USB mouse to use the computer to install the drivers.

In any case, testing out the distro can give you a feel for how it works, and how well it cooperates with your hardware.

My choices, so far

So far, I’ve been very happy with Mint. I install it on every computer I have control over, unless I have specific reasons to prefer something else. For the most part, it just works. It includes proprietary drivers to make my nVidia graphics card work well, and I like the look and feel of the Cinnamon Desktop Environment (built on GNOME).

In contrast, I installed Arch Linux in a virtual machine early this week. Arch has been hovering on my radar for a while, partly because the documentation for Arch seems to be really good. In many cases, when I’ve looked for help resolving a problem, the Arch Wiki was able to help me even though the package manager and library for Arch is different. When I saw that Arch has native support for a new Desktop Environment I want to try, I quickly installed it in a VM.

Wow, what a pain. I fiddled with it for some time, and finally gave up. I couldn’t get it to come out of terminal mode to show me a DE, I couldn’t install a DE, and it seemed to have many conflicting software requirements right from install. In contrast, when I install Mint, I always immediately run the software updater to get more recent versions of the software that came on the installer, and it always “just works”.

I still wanted to try out this new DE, so I found that Manjaro Linux is a derivative of Arch that is considered much more “user friendly”. I downloaded the image and installed it in a VM. While I immediately got to a pleasant DE, I wasn’t able to update the system software to prepare for installing a new DE. It kept blocking itself with competing requirements, and finally I just shut it down.

In other words, newbies to Linux often find themselves at the mercy of poorly integrated software. The Linux community, although potentially helpful (viz. the Arch Wiki community) nevertheless can come across with a sort of, “well, it works for me, so you must be stupid” attitude. In contrast, it seems that installing a distro and then trying to apply the suggested updates should not put you in a lock situation of competing requirements.

(Perhaps I should note what a requirement is: most Linux software is not completely “standalone”. Rather, it takes advantage of functions provided by other software. Windows does this, too, and the other software was traditionally referred to as a “dll”, or dynamically linked library. If a Linux package manager wants to install one package, but installing that package would cause an incompatibility with another package, that can create a lock on the package management, preventing forward, and even sometimes backward movement.)

I will probably continue to experiment with other distros as time goes on. That said, I like the cautious, conservative approach of Linux Mint. While I don’t always have the fanciest, flashiest, or newest software, most of the time it “just works,” and that’s pretty much what I want a computer OS to do.

Using Cloud Storage

Okay, so we really need to answer the question, “Should you use cloud storage?” before we get into the weeds on this one.

Simply put, cloud storage is file server space that’s not on your computer. More generally, it is usually owned by someone else, and is physically separate from where you are.

Because the “cloud” is not typically owned by you, you need to be aware that what you store there might be examined by whoever is providing the storage, that they may change their policies and force you to find other solutions, they might be raided by law enforcement in such a way that your (innocent) files are swept up with those of the target, etc. In other words, don’t blindly trust a cloud.

That said, there are good reasons to use cloud storage. One thing that makes it “cloud” is the ease of access. You can access your files on a number of different devices, and changes in one place are quickly reflected elsewhere. (This can be a problem, too, if things change in a bad way, but there are ways to mitigate that, too.)

For as much of a “cloud skeptic” as I am, I have accounts with several cloud providers. I’m going to briefly recount which ones, why, and then discuss how.

The oldest cloud account I have is with Apple’s iCloud service. I got it when it was a free .Mac account, kept paying for it for quite a while, and now have stopped paying for, and using, it. I don’t use a Mac very much at all, and my Macs tend to be well behind the current OS and hardware. Because of that, Apple won’t let me use two-factor authentication, and iCloud is pretty useless without it. So, I don’t even try to access my iCloud storage anymore, and I long since took my data out of it. I still have the account because it’s connected to my Apple ID, which is connected to my Apple Developer ID, etc.

The second oldest account I have is with Dropbox. Dropbox was one of the first, and I was always able to function within the limits of the free account. I don’t use a cloud to back up most of my data (unless you count a local cloud, which we’ll talk about later) partly because of cost and partly because of time. It takes a long time to upload or download terabytes of data. Dropbox worked well, and I used it for a number of programs on the Mac that were able to use Dropbox for sync. (This was largely during the period when you had to pay for .Mac to use the cloud storage for sync, and I wasn’t paying.)

I mostly stopped using Dropbox a few years ago when they started limiting free accounts to using three devices. The primary purpose for my Dropbox account was to sync my contacts and passwords using a third party whose interest was not in my contacts and passwords. To do that, it needed to sync with close to a dozen devices, so three was not going to cut it. I still have the account, and it can be useful for transferring a file to someone, but I use it only slightly more than the iCloud account.

Now it starts to get hard to say what I got next. It was probably Koofr. I was looking for a privacy-supporting cloud service, and heard about Koofr. It’s hosted in the EU, so it has all the benefits and problems associated with that. I get 10GB free, which isn’t nothing, but is a lot less than some of my folders. It has a Linux app, so that’s nice. I don’t really know why I haven’t used it more.

Box is another of these services that I tried to get the free offer, and wasn’t impressed enough to really do more with. It is something I’ll be using with work, so I may find myself using it more in the future.

OneDrive (Microsoft) and Google Drive (guess who) are two more cloud drives that I only use for work. I hate both of those companies, and don’t trust them in any way, so I share as little of my information with them as possible.

pCloud is my new favorite. There are several reasons for this. First, it is privacy-oriented, being based in Switzerland. Second, Linux is a first-class citizen, with a proper app. (To be fair, Dropbox also has a full Linux app. OneDrive and Google Drive don’t, and iCloud isn’t even accessible using other means.) Second, although it cost me money, I was able to buy 2TB of cloud storage with a lifetime lease. Of course, that’s the lifetime of that lease, and it’s very possible that they will discontinue this service, or be bought out, or something at some point. However, the perpetual license makes it a fixed cost rather than a recurring one, and that’s something I like. They offer encryption as an add-on, which I haven’t purchased yet, but it’s available in the same way with a one-time payment. It syncs nicely with my computer and phone, and the storage is big enough to be useful, especially when considering things like file versioning, which it supports.

OwnCloud/NextCloud are two versions of the same open source software, with NextCloud being a fork of OwnCloud. What is nice about this software is that it’s not necessarily on someone else’s hardware. While I run an instance of one of these on my shared-host web server (that I don’t control) it is trivial to install it on XigmaNAS or HomeAssistant (or many similar open source servers) and use as a cloud within your home. While firewalls and network security are outside the scope of this article, with proper precautions (like a VPN) you could even have a home-based server that you can access while away from home.

Accessing “Unsupported” Clouds

So, how can I access OneDrive, Google Drive, and Box from my Linux computer, since I both need these for work and they don’t support my operating system?

Well, for Box, the answer is deceptive. John Green wrote an article about mounting a Box drive in Ubuntu, and although one of the comments from 2021 says that Box stopped supporting WEBDAV, I find that (in 2022) it still works just fine. Since the credentials are stored in my Gnome Credentials, I’m not sure how I would mount a second Box account using this method.

However, the product ExpanDrive is another solution. This was something I acquired long, long ago in a Mac bundle, and never really got it to do what I needed it to.

ExpanDrive options

It supports a ridiculous number of cloud providers, both free and costly, and it allows me to mount those volumes seamlessly on my Linux computer. It flaked out a certain bit when I was trying to mount two different Box accounts, but that’s why I went looking for, and found, John Green’s solution. Using ExpanDrive I can easily access all of the cloud accounts that don’t have a nice Linux client.


Update 14 April 2022: Another contender in the cloud storage arena appears to be internxt. At this point, I don’t know anything about them except that they advertise on Brave, and they emphasize zero-knowledge file storage for anonymity and security. They offer 10GB on the free plan, which is certainly enough to try them out. If you do, please let me know in the comments.

Filesystem Search in Linux Mint 20.2

When I installed Linux Mint 20.2 Uma for my kids, I was immediately struck that the search panel in Nemo now had a search by contents field.

I work pretty hard to keep my work organized, but there are still times when I can’t quite lay my finger on something I’m looking for, so I upgraded to 20.2 as quickly as was possible (I had been running 20.1)

I figured that I had better take the fetters off of tracker and its kin — after all, a file and content search technology that’s part of the Gnome project would surely be the heart of any similar feature of Nemo, right?

Well, after several weeks of having at least one CPU core pegged 24/7, I decided to do some more research. As far as I can determine, tracker is basically an unwanted orphan. Tracker-GUI, the configuration panel for the utility, is gone from the supported repos (and even in Ubuntu, upstream from Mint).

Clutching my courage with both hands (at the prospect of having to redo those weeks of unprofitable cryptic churning) I reset the tracker database, wiping out its indexes and shutting down its processes. ( tracker daemon -t to terminate all the tracker processes and tracker reset -r to wipe the data cache )

Finally, I typed in sudo apt remove tracker and found, to my delight, that it only removed tracker and its attendants (tracker-miner and tracker-extract). Then, I hopped in to Nemo and did a search for some text I knew existed inside one of the files in a particular folder. Success! After a relatively short time, the window began to be populated with corresponding files.

Above all, I no longer have a mammoth processor hog flailing about, not to mention the disk usage and memory.

So, if you’re concerned that removing tracker from your Linux Mint 20.2 installation will negatively affect Nemo’s search capabilities, worry no more! Go ahead and uninstall the little beast!

Installing Linux Mint on an Acer Nitro 5 laptop

This journey isn’t over yet, but it’s been adventurous enough so far that I thought I’d better start documenting things. Otherwise, I’ll never be able to recreate what I’ve done.

My daughter bought herself a new Acer Nitro 5 (AND515-44-R99Q) because her old MacBook is getting very long in the tooth. The new system comes with 16GB RAM, a 256GB NVME SSD (with Windows 10) and a 1 TB Hard Drive.

Her brother had recently picked up an Acer Aspire 3, and apart from some silliness with the secure boot options, it was a piece of cake to throw Linux Mint 20.2 on there.

The Nitro, however, has a new hybrid graphics setup, using the AMD Renoir chip for low-powered stuff, and an Nvidia GTX 1650 as the high-powered graphics engine. That’s the same card I have in my desktop, so I didn’t have any questions about whether it would run.

Well, the live disk installer wouldn’t get to desktop using the “standard” setup. Using compatibility mode, however, I was able to get the desktop to appear. There was a little bit of wonkiness — the trackpad wasn’t recognized, apparently, but I threw an old Kensington trackball on there and was installing in no time.

I’ve learned from past experience that you sometimes have pain on first boot if you don’t install the extra media stuff right away, so I hooked up an ethernet cable and off we went.

Installation is a lot faster on this newer hardware than on a lot of machines I’ve worked with, but I still tend to walk away and let it churn after I’ve gotten it configured. (And hope I didn’t forget anything to come back to it patiently waiting for input to start.)

Installation finished, I rebooted the machine, and …

So, ctrl-alt-F2 to open a console, log in and sudo apt update

Now there are a bunch of upgrades, so sudo apt upgrade

To be honest, I’m about 50/50 at this point whether I want to just install ssh before I get any deeper in the weeds (because the laptop is mounted two feet above my desk, to the right, and I could just ssh in instead of reaching over there to type the commands). However, I want to follow a “normal” process before I get to that, though I’m sure it will come soon.

Well, the upgrade stalled, so it’s ctrl-alt-del and let it reboot. It’s nice at this stage, because while it’s frustrating to have to redo things, at least we’re not worried about losing any data.

So, on this reboot, after getting into the console to log in again (because of the same black screen / non-blinking cursor issue), I’m going to sudo install openssh-server. This will allow me to connect to a console from my own computer, which will allow me to interact with the Nitro without stretching or getting out of my chair, and also will allow me to do other things while it’s going.

So, ssh lets me connect to the laptop even when the display is funky, and even if the keyboard on the laptop starts misbehaving. I can install and uninstall stuff, and even reboot if I need to. One of the first tools I install on a computer, even if I intend to sit in front of it most of the time.

At this point, the Nitro is behaving very badly, and even with moderate edits to the grub file that controls the boot process, it’s not allowing me to log in (graphically). I’m going to switch over to Ubuntu. If I recall correctly, it worked in early tests with this machine. If it shows any sign of trouble, I’ll install ssh first 🙂

There are a couple of reasons that I use Mint instead of Ubuntu, even though Mint is based upon Ubuntu.

The first is Unity. Ubuntu’s default Desktop Environment is clunky, wastes space, and is needlessly obstructive. That’s okay, I know I can install Cinnamon[1]Mint’s default Desktop after I install Ubuntu, and they actually have an installer that uses the Mate environment (which is not bad).

The second is more complicated. Ubuntu has really been pushing the Snap install infrastructure. While it sounds great, the more I delve into it, the more I agree with Mint’s developers that it is the kind of oppressive centralization that caused many of us to leave Apple and Microsoft.

The good news is that Ubuntu starts right up without needing compatibility mode, and the trackpad works. (I actually still prefer using the trackball, since it’s right on the desk next to me.) I installed using Mate, installed ssh, updated drivers, and everything worked. With that in mind, I took careful note of the settings (using the inxi -Fxz command) so that I can try to replicate them in Mint.

So, back to the Mint installer. As before, it only boots in compatibility mode. Bummer. Oh, well, let’s wipe that partition and get it installed again.

So, install is done. We’re doing the first reboot… As expected, black screen. Well ctrl-alt-F2 still works, and after logging in I quickly install ssh.

One advantage of doing some of this work behind the screens is that I get to see the error messages dumped into the console. Wow, the nouveau driver is buggy on Mint Cinnamon with this hardware! A simple difference is the linux kernel being used, however. Ubuntu is using kernel 5.11.0-34, while Mint is using 5.4.0-74. This should be relatively easy to test.

So, from the ssh session: sudo apt update (I actually already did this before installing ssh) and then sudo apt upgrade to apply the upgrades available. This can be kind of important because some things might break with the new kernel otherwise (not that we would notice, since it looks pretty broken as it is).

And, as it happens, Linux Mint 20.2 with kernel 5.11.0-34 still breaks under Cinnamon or Mate when using the Nvidia drivers. Oh, well, I’ll try to figure that out some other time — right now my daughter wants to use her computer.

So, I wipe the partition again, reboot to the Ubuntu Mate installer, and quickly run the install. I’ll have to get to the drivers at another time, but she did use the laptop during our D&D game today, so at least there’s that.

References

References
1 Mint’s default Desktop