I’ve Tried To Make Linux My Default Desktop OS


I’ve started playing with Linux about 20 years ago, when Kali Linux was Backtrack 1, Mandrake Linux was still alive, and Suse was in its 7th version (maybe a bit earlier than that version). I remember Linux and IT magazines offering CDs with Linux distros and various Linux based live CDs and the first time i’ve tried one such CD, from that time i must have (literally) tried a few hundred distros and distro versions. But Windows was always the operating system of choice not because it was more user friendly, i never had a problem with getting my hands dirty, but because it had the right tools for everything while Linux was mostly an operating system for programming. Of course when you end up getting your hands dirty all the time, it isn’t exactly the best thing for an operating system that you repeatedly tried to make your default one in the past, i was always ended up with a corrupted / unbootable system just a few days after making the OS transition.

This year i’ve decided to get rid of naughty operating systems. I’ve installed GrapheneOS on my smartphone and decided to exclusively use FOSS without a single Google service in it, so naturally i’ve also decided to do a similar (HUGE) step on my desktop computer, get rid of Windows and try to make the permanent step into Linux to avoid telemetry and 20 different services that were using my connection for various reasons (i mean you just need an updater for the operating system and one for the defender virus database, right?) Besides, it’s been a few years since i’ve tried to make that step and things should definitely be more mature now.

I’ve decided to stick with Linux Mint which was my distro of choice long before Canonical releases the monstrous Natty Narwhal version with Unity UI, i more specifically used Mint Victoria (21.2) MATE edition. I actually was between Mint and openSuse but i do not know yast tool as well as apt so the choice was obvious. Installation happened in a computer with an i7 CPU with 32GB of RAM and a QUADRO graphics card. Everything went smooth and MATE is pretty with many customization options. I should also say that Mint recognized my hardware and updated my drivers automatically.

Software-wise i could see a huge improvement since most software companies nowdays don’t ignore Linux users, the problem is that not all of them use the same package distribution system. I had to install programs from deb files, sh and python scripts, AppImages, docker containers, flatpaks (hate them), and of course i could not avoid Wine for some Windows apps that have no Linux version. But at least i’ve managed to have 95% of my basic Windows apps on Linux and i was satisfied with that. I didn’t care about gaming but ended up installing one low resources GOG game for Windows through Lutris. Finished with installation and setup of my programs and that’s were the problems start.

I’ve noticed the first problem just one day after the OS installation. Restoring the computer from a sleep would make audio disappear. I know that Linux is using PulseAudio so i just grepped services for pulse using top | grep pulse to get the PID of pulseaudio and kill it. This should make it rerun and fix the audio problem and i was happy to see that my thinking was right. I don’t put my computer to sleep that often so this isn’t such a big problem and didn’t look out for a permanent solution.

What i did look out for though were the power settings to disable the automatic sleep option. I’ve turned everything off and guess what, that didn’t change anything. Unless i was watching some video, anything else was irrelevant and computer would sleep after 5 minutes of ‘inactivity’ no matter what. I’ve also tried caffeine program but didn’t change anything.

Next problem that i’ve noticed was with Caja. Caja is the default MATE file manager, i felt that this was the biggest drawback of using MATE instead of a KDE environment. It’s a very minimalistic file manager lacking many power features but my biggest problem was with the copy – paste function because many times the progress bar wouldn’t appear and i had to just sit there and wait for an unknown period of time.

Lack of an application firewall was still there after all these years. Basically if you care about security, a firewall should be the first thing that you should want on your system putting all apps behind it with a DENY ALL rule unless you manually whitelist something. That way, you can prevent apps from leaking (among many other things) sensitive info from your clipboard. There’s nothing out there and i mean, nothing! I found 2-3 apps from reddit but one of them is 10 years old, the other has comments about “made my system unbootable” and the other one which i’ve tried would not even start. That’s actually a huge security hit. I know there are workarounds with groups but that should not be a thing for something so important.

NVidia drivers were also giving me a huge headache. Mint installed nvidia-390 drivers which were fine for the environment but not good enough for gaming (and yes, QUADRO isn’t a gaming series but i know what games can be played from Windows, besides i only wanted to play some old games with low requirements). I’ve tried to play Exhumed Powerslave using Proton but i could play it fine only for a minute, the game was lagging so bad after that and couldn’t even hit an enemy. Every time i was exiting from a wine game, the desktop crashed and threw me back to the login screen. I’ve manually installed newer nvidia drivers and performance-wise made things even worse. Unistalling newer drivers and reinstalling 390 locked me out of the system on boot screen. My system was encrypted and i had to boot my system from a live disk, mount the drive with the failed installation and learn how to use ecryptfs to decrypt my home folder and get my files. How awesome was that?

Many issues that make the system unbootable (and i had many such problems with Linux in the past) usually come from the way that application installations work. On Windows when you want a program, you go and get an exe file that usually contains both the program and its dependencies in it and both are getting installed inside the programs folder. On Linux if you want the same program, you will get an installation file without the dependencies in it, and the package manager will download the dependencies in a shared folder, these dependencies are getting shared between multiple programs that need them. If you need to install a program that requires dependency1.1 (and only works with that version), package manager will download that dependency for you. Now if you get another program that requires dependency1.2 to work, package manager will remove the 1.1 version and install the newer one making the other program incapable of working. Although this way helps saving storage space (on Windows you end up having the same dependencies multiple times for many different applications in many different folders), this can get really serious when one of the overwritten files is a critical one (plus, it also means that you cannot archieve apps for future offline installation unless you know how to play with package manager so that you can download an app and the dependencies in a specific folder for backing up purposes). A way to solve that is by using AppImages which are containers with both app and dependencies in them and do not affect installed dependencies. But not all applications have AppImages and drivers couldnt have one. But saving storage space is definitely not more important than having a system that won’t be incapable of booting up the next time you’re going to need it.

Other stuff like web development using XAMPP end up being complicated forcing you to play with folders ownership which can be complicated for UNIX newcomers.

So… i’ve managed to stay on Linux for 4 months straight, my previous record was one month so it wasn’t so bad. I honestly was pretty sure (based on all of my previous Linux experiences) that the system will sooner or later end up being unbootable, everytime i start doing something else than installing some basic apps, this is where it ends up.

Back to telemetry i guess, but at least i’m going to have some application-based firewall.


Please enter your comment!
Please enter your name here