this post was submitted on 11 Jan 2024
68 points (91.5% liked)

Linux

48215 readers
707 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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:

  1. 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?

  2. 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?

  3. What are some programs/ widgets/ others that are must haves for you? For eg. some particular task manager

  4. What are the first steps after installing linux? For eg. In Windows, its drivers, then debloat and then install programs like vlc, rar, etc.

  5. 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?

  6. Should I not worry about all of the above and just pick from mint, pop and kubuntu?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 10 months ago (1 children)

you do not want to be restricted to using only the C++ programming language for everything

Nitpick: other language bindings for QT do exist, or I wouldn't have to be continually sorting out issues with PyQt during system updates.

[–] [email protected] 1 points 10 months ago* (last edited 10 months ago)

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 to libgtk.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.