I started to use Linux for one single reason, and this reason is no longer valid

This is the motto of people who develop software for LInux nowadays.

I started using computers when I was 11 years old, in 1995, with Windows 3.11 and then Windows 95.

If you ever used Windows 95, you should remember how unstable it was. Random crashes and blue screens of death were routine.

Of course those crashes got me frustrated. But what infuriated me was the lack of information about the problem. Windows would never give any useful information. There was not a way to dig deep into the problem and figure out what was going on.

That’s why got so excited the first time I heard about Linux. The idea of an operating system that anyone could use and modify got me excited. I imagined that Linux would be transparent, so I could understand what was going on, and when it failed, at least I would be able to figure out exactly what caused the problem (and maybe fix it).

When I started to learn and use Linux, my idea proved to be true. Linux was far from being perfect. At the time, some basic functionalities were missing or were hard to get working.

However, as long as one task was possible, I could find a way to get it done. Software created for Linux was really transparent, and generally well documented. Whenever I wanted to understand how something worked, all I had to do was to read man pages, built-in documentation, or ask Google.

I never stopped using Linux. It’s still my primary operating system of choice (I writing this using Ubuntu 16.04), but just because I’m so used doing things on Linux that I’m more productive when using it for work. That’s it.

Truth be told, Linux is still way more customizable than Windows. However, this is changing. Linux is getting more and more closed with the time. In the past, you could make the system works differently just by tweaking some configuration files and using some scripts. But things are changing…

Today was the first time in my life that I just gave up making a tweak in Linux. First time in my life that I simply could not find an answer on how to change the behavior of a software running in Linux.

Here’s what I wanted to do. I created a swap file in my USB flash drive. I wanted the swap file to be loaded automatically when I plugged the flash drive in. I managed to do it by using systemd. Worked like a charm.

The problem now was that I couldn’t eject the flash drive using the graphical interface, because of the swap file that was being used. So, I needed to figure out how to tweak the behavior of the system, so when I clicked “eject”, the swap file would be unloaded before unmounting the flash drive.

This should be simple, but it’s not. I read manual pages, documentation, and researched the internet to the exhaustion. I found no solution at all. Neither by using systemd, gvfs, nor udisks2. Maybe there’s a solution, but I simply can’t find it. I wasted so many hours trying to find a solution to this stupid task that even if there’s a way to do it it’s not worth my effort to search for it anymore.

My conclusion: people who develop software for Linux don’t want its users to have the ability to make manual changes anymore. You should be happy with the options the developers “generously” allow you to have. If some feature is not supported, your only options is to download the source code and apply the changes yourself — which is like to kill a fly with a cannon.

So yeah, I’ll use the command line every time I need to unplug my flash drive. This is not a big deal. The big deal is that the reason why I started using Linux in the first place is no longer true. I don’t have control over the operating system anymore, and this will only get worse.

If I am to move from Windows but I can’t have control over the system, it’s better to use a Mac instead. And that’s exactly what I’m gonna do — as soon as I get spare money to buy one.