My objective is to ditch windows & utilize my triple monitor desktop as a cockpit style dashboard for my homeserver & lan devices along with always open widgets like music, calculator, etc.
There was another post yesterday about this and the community recommended Mint & Pop OS the most. However, I am not looking for windows-like. I want a new & fresh experience like using a smartphone for the first time or switching from ios to android.
Distrochooser.de recommended kubuntu to me.
So I have some questions:
-
What are the building blocks of a distro? Things that separate distros from each other. Like I know 2 - Desktop Env & Package Managers. Are there others, what are they or where do I find a list? I would like to compare these blocks and make it a shopping experience and then pick the distro that matches my list. Is this approach even valid?
-
How do I find and compare whats missing from which distro? For eg. if I install mint, what would I be potentially missing out that may be a feature on another distro? How do I go about finding these things?
-
What are some programs/ widgets/ others that are must haves for you? For eg. some particular task manager
-
What are the first steps after installing linux? For eg. In Windows, its drivers, then debloat and then install programs like vlc, rar, etc.
-
I read on some post, a user was saying that they want to avoid installing qt libraries. Why would someone potentially want that? I have never thought of my computer in such terms. I have always installed whatever whenever. The comment stuck with me. Is this something I should be concerned about?
-
Should I not worry about all of the above and just pick from mint, pop and kubuntu?
I have a few blog posts that I think address most of your questions here, feel free to read, and I am happy to answer specific questions.
To start with an answer to question 6: please read How to pick a Linux distro, but in short, yes just go with Mint or Fedora, or if you don’t mind a corporate backed distro, go with Ubuntu/Kubuntu, and this article explains why and also might partially answer many of your other questions.
To answer question 1 and 2: please read The components of a Linux desktop environment, an article about “the building blocks of a distro.” To compare and contrast distros, Distro Watch makes this very easy. You have a big list of distros, click on each one, right at the top of the page you get a list of the components from which it is built. Don’t stress too much about which distro or desktop environment you choose, all of them have nearly identical functionality, just in slightly different arrangements.
Question 3: the answer to this depends on which desktop environment you pick. But again, don’t stress it, each desktop environment has mostly identical functionality. For me, app launchers, web browsers, office and productivity tools, and personal information management systems that integrate well with email and social media are all important. I wish I could be more specific here, all I can say is, “shop around,” try a bunch of apps, see how you like them all.
Question 4: the first steps involve downloading the ISO image for that distro, flashing it to a USB stick, and then rebooting off of that USB stick. In some rare cases, you might have to tweak the UEFI settings of your computer’s hardware (when you see the computer maker logo flash on screen they tell you a key like F2 or F12 to press to enter the settings menu). If you are ready to commit, use the installer program on the ISO to erase and format your computer and install Linux. Be sure to follow whatever specific instructions there are for that distro on their website when you download the ISO.
Question 5: if you want to write your own apps, and you do not want to be restricted to using only the C++ programming language for everything, then yes, avoid Qt based applications (used under the hood by all of KDE and Plasma applications). The major alternative to Qt is Gtk (used under the hood by Gnome, Xfce, Mate, and Cinnamon), and Gtk plays nice with all of the programming languages, so you can try writing apps in Rust, Python, Lua, Lisp, Haskell, Ocaml, or whatever. But if you are not interested in Linux app development, don’t worry about it – just use KDE and see if you like it.
Nitpick: other language bindings for QT do exist, or I wouldn’t have to be continually sorting out issues with PyQt during system updates.
Yes, that is true. Actually I do use PyQt myself for writing apps. PyQt (as far as I know) is mostly hand-written code, since the language bindings between C++ and Python are not trivial, especially for a code base like Qt which has a few hundred C++ classes and virtual classes, and thousands of methods. So you have to put a lot of trust into the maintainers of PyQt that they get the bindings right. That said, they do a fantastic job and PyQt is highly reliable, in my experience.
But the biggest reason I like Gtk more than I like Qt is that the language bindings are automated by way of the GObject Introspection library. The Gtk code base heavily depends on C preprocessor macros that generate metadata about the various object classes and methods. The Vala programming language is designed specifically to generate this meta-information as well. Once compiled, the Gtk libraries can be shipped accompanied with these large XML files that describe the name and type of every class and method found in the generated “
libgtk.a
” binary, and then other programming languages can parse and use this XML metadata to generate bindings tolibgtk.a
automatically. This is why there are so many different language bindings for Gtk.GObject Introspection is a pretty clever hack for operating systems written in C. Admittedly, it wouldn’t be at all necessary if the OS were written in a better language, for example Common Lisp. Still, in a world where systems programming dominated by the C programming language, I think GObject Introspection is a very good system.