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?
We really need a sticky or something for all these switching posts. It’s like 99% of the content here.
Helping people to switch to Linux, then trolling them to run
rm -rf /*
is the essence of most Linux communities.it’s especially funny because rm -rf /* doesn’t have the safety mechanism that rm -rf / has
I’m too lazy to reply to all of those questions, but if you don’t want it to be “windows-like” don’t pick a distro using KDE or Cinnamon by default (kubuntu and mint are very windows like UI out of the box)
Pop_os, fedora, anything using Gnome feels nothing like windows. To touch on question 4, once you’re installed assuming your hardware all works, you just need to install software you want from the distros package manager. There’s nothing to debloat, until you better understand the OS and your personal use case.
No doubt, KDE customization is second to none and you can make it look and feel however desired. But OP asking about distros (and not DE or WMs) leans my recommendation towards KISS. KDE is very much a “windows-like” experience by default.
Adding to this. Maiby a window manager that supports multiple monitors will be a good choice. Sure they have a learning curve but it does seem more fitting for OP then a DE to me.
-
The only other things that stick out to me are distro philosophy and release schedule. Like, do you want a completely community oriented distro, a corporate one, one with LTS-style releases, or rolling releases? These things may or may not make a difference.
-
The best way imo is to install Ventoy to a USB drive, then load it up with ISOs from distros you are interested in. Then you can boot into their live sessions and test drive them. But ultimately, you can almost always get Linux software running on any distro. The differences are whether a distro comes with something out of the box, or if it even has your desired apps in its official repos.
-
btop, Steam, Discord, Firefox. These are all available on all distros. Things like the file system browser - I don’t care as much and just use what the distro provides by default.
-
Run a package update then install whatever other apps you want. For me, also set up auto mount of a couple network drives provided by my NAS.
-
You should not be concerned about this unless you are building things from source.
-
Probably… I used and gamed on Kubuntu for 2 years and had an excellent experience.
-
-
The other building blocks are like the two you know. In Linux there’s usually at least two ways to do everything, so a distro’s maintainers pick the ones that match their preferences. This guy might like a fast file system, so he picks one without journaling. That guy might like the fact that journaled file systems can often recover corrupted files on their own, so he picks one with. This guy wants software updates available the moment they’re released so he goes with a rolling release schedule. That guy prefers updates to be thoroughly tested before he installs them so he goes with Long Term Support.
-
I think Distrowatch is useful for comparing options. Pick a distro and it’ll tell you what goes into it.
-
I use Mint and I like the out of the box experience, so the only thing I’ve added is a desktop widget that shows me how much space I have left on my SSD. I’ve just gotten into gaming on my Linux partition using Proton, so I need to be aware of that. The widget comes with Mint and just needs to be enabled.
-
If you google “10 things to do after installing [distro]”, you’ll find everything you need. I decreased the swappiness of my SSD to reduce wear and enabled a firewall, but I don’t know if you still need to do those things.
-
You don’t really need to be concerned. Just realise that as you use Linux you too will develop Strong Opinions about the Right Way to do things. ;)
-
Those are all good choices. They’ll all give you a good experience without needing to dig into the technical details. You should try all three out using live USB and pick the one you find most comfortable.
-
You are correct that the Desktop Environment and Package Manager are the most important part of any distro. Of those, the Desktop Environment is the most important. Switching between Ubuntu with KDE Plasma and Arch with KDE Plasma is less visible of a change than switching from KDE Plasma to Gnome in any distro.
Most distros include all the major Desktop Environments: Mate, Gnome, KDE Plasma, and probably several more.
The biggest missing feature between Mint/Ubuntu/Debian is Container-based package management. This is an additional installation method, for “application”-like programs, usually proprietary. Debian has the infrastructure to run these, but you have to find or make the containers yourself. Mint has more support, in the form of a graphical package manager installed by default.
There’s really not much difference in the feature set of distros. Debian, Ubuntu, and Mint have a lot more in common than they have differences.
Desktop environments usually include a full set of these. I just use whichever comes with it.
Linux usually has the drivers already set up right away on first boot. You shouldn’t need to install any drivers. There’s very little bloat. Any superfluous packages are likely consuming no CPU time, just drive space. Every default installation comes with a media player and file archiver, but you can install VLC or RAR if you like them better.
They probably had a bad experience with one or more qt-based programs, or got a negative response when they filed a bug report to a qt program or library. Or, they were using some weird mix of old and new software, and ended up in a weird dependency loop that blocked a large set of packages on their system.
Probably. The most common distros will have the most community support.
Spend most of your effort choosing a Desktop Environment. Fortunately, this can be changed after installation.
Hi there! I’m new to Kbin, so bear with me:
- I wouldn’t call Pop and Mint “windows-like”. Both are customizable to a great degree, and Pop definitely starts off as being “fresh” and “new” feeling, IMO, compared with the tried-and-true-desktop-metaphor of Windows. But Mint, like Pop, is flexible. Note that I’m a Debian user nowadays, but credit where credit’s due: both Pop and Mint are great choices.
- I don’t know if there’s any good resource that compiles a list of what makes a distro unique. Every attempt at doing so has led toward more questions than answers IMO. Best teacher is experience, either your own or the experience of others. That said, a distro is a combination of package manager, desktop environment, associated applications, upstream and downstream packages, documentation, and most of all- community. Folks overlook the community when picking a distro, and get into trouble when their distro choices don’t sync up with their idea of community. Debian and Ubuntu may be similar on a technical front but are very different communities with differing goals!
- Finding out what’s missing gets back to that community aspect, but also experience. Every distro is different and any attempt at cataloguing differences would quickly go out of date. Really, the best teacher here is experience and community- I know that sounds like a broken record at this point.
- On GNOME based distros, I really appreciate Pop Shell’s tiling. Beyond that, KDEConnect/GSConnect brings mobile confluence to Linux desktops and is a must-have for me. It’s great when the music turns off when I get a phone call- that sort of thing.
- Depending on the distribution, I usually install mpv right away, and whatever I need to privately watch YouTube videos. FreeTube is a great choice for this. Beyond that, I usually just get cracking on importing my drives/partitions/etc and setting up my editor (I use Kdenlive but I make videos- you might not need that sort of thing depending on your use needs).
- Don’t avoid installing qt libraries if your application needs them. This gets to a bigger issue though- don’t just do something because someone on a forum tells you to. That includes me here right now- ask questions like you’re doing right now, but also stay skeptical of easy answers or the algorithm-driven bombastic responses of “stop using X use Y instead”. That crap ruins Linux for so many of us.
- Do what you like! I like Debian and it’s gotten much better as a desktop user. Before that I used Pop for years. Before that Arch. I go with the flow and I’m not afraid to change things up- that’s probably the moral of the Linux-desktop story! :)
Good luck to you!
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.
While I get why Linux Mint (with the Cinnamon DE) is regarded as a Windows-like, Pop!_OS is far from that. Furthermore, going from iOS to Android is arguably a smaller change than going from Windows to any Linux DE (so even the Cinnamon DE (on any distro)). Regardless, the Desktop Environment is the single most influential part of a distro to how you experience any distro. Therefore, if you actually want a new & fresh experience, then you should definitely check out DEs like Cinnamon, GNOME, KDE Plasma and Xfce[1] on something like a Live USB (perhaps through the use of Ventoy). After you’ve experienced a bunch of DEs, you should have attained a better grasp of what you like and don’t like.
Distrochooser.de recommended kubuntu to me.
While Distrochooser is cool and all, you shouldn’t take it too seriously 😅. If possible, consider sharing your results on Distrochooser, that might at least provide us some pointers.
- Too many to list actually 😅, and most of them shouldn’t be of a concern to a new user (or have simply become mainstays on most distros). The most important ‘block’ would be the Desktop Environment, though. Furthermore, design choices like release model, independent/derivative, opinionated/blank slate, traditional/atomic etc and a distro’s popularity are other important factors in making a decision; while we’d refer to none of them as “building blocks of a distro”. However, if there are any “blocks” that you would describe as a hard-requirement for you, then it does make sense to look for a distro that meets those. For example, in my case; a configured SELinux and atomic upgrades[2] are required. As such, the decision already boils down to like two distros 😅. The shopping experience approach would perhaps make more sense if you chose a distro with little to no defaults (à la Arch (or Gentoo[3])). Finally, perhaps it’s worth noting that ((Dynamic) Tiling) Window Managers’ capability of leaving you in awe for the opportunities and possibilities they provide are more substantial. Thankfully, while not as feature-rich, the more established DEs do offer means to engage with (dynamic) tiling (through extensions/add-ons).
- That’s hard to find; obviously distros won’t advertise what they’re missing. Heck, I wouldn’t be surprised if they have good reasons for their respective design choices. Still, FWIW, resources like these might be helpful to some. However, you should only look at the tables, the texts found above the tables are at best outdated and perhaps even misleading otherwise. Beyond that, if you narrow the choice between just a couple of distros, then I’m sure the community would be more than willing to point you toward their differences.
- Software I would recommend to anyone would be:
- Distrobox; this excellent piece of software has single-handedly solved package availability across the Linux landscape. Other excellent endeavors like AppImage, Flatpak, Nix and Snap definitely have their uses and are in some aspects superior; but Distrobox’ ease of use (contrary to Nix) and (almost) boundless access to packages (contrary to AppImage, Flatpak and Snap) on top of how well it integrates with the rest of your system makes it my personal MVP.
- Flatseal; must-have if you ever plan on using flatpaks (which you definitely should consider).
- It depends entirely on the distro you install. Assuming that you start using a distro with sane defaults (like most new users do), then unless you’re using an Nvidia GPU[4] (or other hardware known for causing troubles), you can start using your system however you’d like it; which for most would consist of installing the software they need. Furthermore, concerns related to bloat are a lot less significant/severe on Linux, so you should be fine unless you think the default installed file manager is bloat…
- I actually don’t know. Perhaps it might be related to creating an as homogeneous experience as possible; apps on Linux either rely on GTK or QT for their appearance/looks etc. Therefore, by foregoing one, the ‘awkward’ ‘out-of-place’-experience that some might experience every so often would have been overcome. But this is a rare concern (I’d say). So unless you’re very into how your system looks and feels, it shouldn’t be a concern to you.
- I think these questions show that you’ve put some thought into this and that by itself is already very commendable. And I’m actually of the opinion that asking these questions, especially for someone like you, is important. So I would definitely encourage you to continue with asking relevant questions in hopes of making the transition to Linux as pleasant as possible. As for the distros you’ve mentioned, chances are high that you’d be content with either one of them. However, I wonder if you’re making a conscious choice; like would you be able to state why any of these should be preferred on the basis of merit rather than popular vote[5] or what happened to come out of Distrochooser.
- Important distinction: these aren’t selected for how different they operate/behave compared to Windows(/macOS) but for being some of the more polished DEs found on Linux. For a more exhaustive list, refer to the one found on the ArchWiki; which still happens to miss DEs like Kera 😅.
- I wouldn’t call atomic upgrades a building block as it’s ultimately a design choice.
- Gentoo is a great distro, but I would not recommend a new user to engage with it; unless you believe you belong to the sub 1% that can make it work as their first distro. Heck, even Arch is often discouraged to new users. Though I think that Arch might be just up your alley; at least if you enjoy reading the excellent ArchWiki.
- In which case, either the installer provided by the distro got your back and the proprietary drivers are installed or you’re required to install them yourself. Steps related to these are different per distro, but reading up on your chosen distro’s documentation should be sufficient.
- Don’t get me wrong; I’m not dismissing the popular vote.
- You got the bases down from my understanding. But it can more be simplified by what’s the bases of the distro. For example Linux Mint is down stream from Ubuntu which is down stream from Debain. Getting familiar with the base distro is helpful.
My strategy is just a good old VM and installing whatever I am interested in. Technically you could list all the package managers but if a distro has a different upstream source that uses apt then its going to be hard to tell that nuance.
-
Its down to your use case. For me I primarily game so I have a handful of games and software which I need to install. Xpadneo, mangohud, goverlay, lutris, etc. All this is testable in a VM installing is the most you’ll need to do.
-
must have software for me is steam, lutris, dxvk, and flatpak support (lots of emulators use flatpak). The rest like libre office, gimp, vlc is usually pre-installed.
-
Software Manager and running the updates. Most distros aren’t bloated by default. If you feel they are, the software is easy to uninstall.
-
haven’t heard of this, so no clue.
-
Mint, Pop, kubuntu are all the same OS underneath. They are all up stream Ubuntu with software and Desktop Environment tweaks, tailored to their preferred configuration. Kubuntu stands out as it has KDE plasma installed, while the others have a tweaked gnome experience.
Other than feel, they all should run the same under the hood.
Fedora, Manjaro and OpenSuse are all viable alternatives to Ubuntu/Debian. Each having their pros and cons based on your tastes. In order of easiest to setup to best to tinker with this is my recommended order to try them out in a VM.
-
Mint/Pop_OS/Kubuntu (deb bases and has the most users/support thanks to Ubuntu)
-
Fedora (RHEL bases and lots of enterprise support. Other DEs can be found as “spins” if you don’t like Gnome. DNF isn’t my favourite package manager
-
OpenSuse (Good around distro. Very workstations friendly, but lacks one or two packages I want, close to Fedora for my recommendation)
-
Manjaro (its arch for babies. Easy to configure and setup compared to arch, but very temperamental and easy to break)
-
Arch/EndevourOS (if you want the best Linux has to offer, all the software and tunable to your taste. Welcome. Otherwise git gud)
-
Hanna Montana Linux (its the best of both worlds)
TL:DR install virtual box and try the distro. You’ll know very quickly if you like it. And what you’ll like in a distro.
Kubuntu stands out as it has KDE plasma installed, while the others have a tweaked gnome experience.
Meanwhile the mint team has been releasing their own DE since 2011 and made it the recommended default
Fedora, Manjaro and OpenSuse are all viable alternatives to Ubuntu/Debian.
Manjaro is an alternative to a working distro. There’s literally no reason to use it over endeavour/arco/garuda, and plenty of reasons not to.
If you want to try a different experience I would recommend fedora since its a distro that isn’t too much different to Linux mint which is good to prevent frustration in the long run, also the login menu has a option button that if you end up installing a different desktop environment or window manager its very easy to try it out without tinkering too much in the terminal.
If you don’t mind trying something different then I would recommend wetting your toes a bit into window managers, is different then desktop environments but it rewards you with more productivity in the long run if you don’t mind getting used to it. My recommendation would be sway or i3.
Each distro focuses more aspects then others, for example arch linux its all about control so you are going to have a lot more package variety but in exchange for having to know how to make each program work together by configuring them on the terminal and stuff, while for example Linux mint provides you with already a working environment that you don’t have to worry about it but in exchange you are not going to have the abundance of programs like arch naturally in the repos/aur. But in every Linux distro you can install everything including kernels if you wish to take time cloning git repos and using ‘make’ and configuring them to your liking. (Not to mention that some apps you can install setups online like VeraCrypt for example)
In regards to monitoring and killing process, I would recommend installing htop since it makes rather easy to see what is happening but generally speaking linux already provides tools for this with the default gnu packeges that come installed, and one of those is top which is the barebones version of htop (htop is better imo but you can try it)
For installing you want to flash a pen with the installer iso of the distro you choose in their website in the download section, then connect the flashed pen to the computer and reboot it to the bios, when you are there make sure you can boot into USB devices cause secure boot doesn’t allow you to do that, after disabling secure boot select the USB drive as the first device to boot from in the bios. After that its just saving the bios settings and booting the device normally and you just have to follow the installation guide provided by the distro. Make sure you save your files before installing a new OS, its going to wipe the data.
When it comes to installing stuff from the repos there isn’t really something you should avoid, its on the repos cause its trustworthy software otherwise you are going to see it elsewhere like on the aur and other places where its easier to post software and cause of it you shouldn’t install everything you see there (aka do always research before installing from these places).
Debian GNU/Linux with GNOME desktop enviorment
I don’t think Debian is good for beginners.
How? It’s gotten so much easier to install and literally all you have to do is click Continue during the install process.
- Beginners will likely expect to get the newest updates to their software, which is famously not a thing in Debian.
- When I tried to install Debian for the first time (with only knowledge from using Windows), I had no idea what like half of the words in the installer meant.
Well, that’s debatable too because if your going to put a new user on a rolling-release distro, something will probably break and they’ll have to fix that. Debian is great for this because it provides stability over having the latest and greatest tools. In my own opinion, Debian was the best choice for me as a newcomer because it just works. (I use it as my daily still)
I do agree with your second point though, there should be descriptions in the installer describing words like ‘GRUB’ or ‘GNOME’, I already asked one of the Debian developers about this, they said there is just not enough room in the installer. People also have AI at their fingertips now, so it will get better later on.
Partitioning among other things, the choice of efi/bios gpt/mbr, bootloader and its location, choice of filesystems, is dangerous to someone who has only win10 experience. Also the mindset of stop being a user and become a sys-admin is also foreign to windows users with MS dominating the role of sys-admin.
You don’t have to manually set partitions, you can just choose to keep everything in one partition if you’d like.
As a general reply to everything, just pick any distro you’ve been recommended and start using it, you’ll learn more about what you like and dislikes and the differences between distros once you know one. Trying to answer those questions now would be like trying to explain to a person who’s never been in the water the differences between swimming styles. The main thing I would recommend is grab something geared for newcomers, Ubuntu, Mint, Pop, all are good examples, install it, use it, and eventually you’ll want to try different things. There are two things everyone who’s using Linux for a long time can tell you:
-
The differences between distros matter less and less the more you know
-
We’ve all tried several distros before finding the one we use now.
With that out of the way, here’s the actual answer to your questions:
- There are several levels of separation, which is why it’s near impossible to select things to compare to choose a distro out of the blue
1.1 Some distros vary in philosophy, this is the least important for someone who’s starting, but the most important for when you know Linux. An example of this is Arch and Manjaro are very close in most aspects, but they’re philosophically very different. I’ll not dive deep into this, since it shouldn’t matter now, but it’s something to bear in mind.
1.2 Some distros only change what comes preinstalled, for example Ubuntu and Kubuntu are essentially the same OS with different Desktop Environments pre-installed, you can install Ubuntu and install a few packages and have Kubuntu.
1.3 Other distros change the packages that are available, for example Ubuntu and Debian, they’re mostly the same but use different repositories so they’ll have slightly different packages versions or patches.
1.4 A major difference between distros is their package manager, which is why we’ll say Debian based (for everything that uses apt or Arch based for everything that uses Pacman.
-
You don’t, there are too many differences, you start using one distro and then you find out things that you would like different and find a distro that does them.
-
Depends, my servers have a very different setup from my gaming machine.
-
Depends on the distro, some will be bare bones and you’ll need to build them up, others will be ready to roll and you might not even need debloating. But checking drivers and programs you use regularly are a good idea.
-
You can ignore that, no idea why he wouldn’t want to install Qt, possibly concerned about space, if I were running my OS from a small disk, e.g. 5GB, I would be picky about what to install, since I usually leave at least 60GB to my root partition this was never a problem.
-
Yes, just pick one, the differences will mean more once you have a parameter for comparison
-
Good questions.
- Absolutely valid, but also kind of misleading. For a new user the biggest issue is probably picking the DE. Package managers are important, but they all pretty much do the same thing with some syntax differences. There are some edge cases though. If you really want to go through picking your distro piece by piece, look up installing Gentoo. I don’t really recommend it, but there it is.
- You’re not going to be really missing anything by installing Mint, I don’t think. Distros do have different packages in their repositories, but with Flatpaks, Snaps, AppImages, etc. it’s rare to not have something available. And you can always just compile what you need yourself.
- Librewolf and Strawberry can get me pretty far.
- Drivers come with the kernel. You can uninstall and install programs according to your needs. Be careful though, always make sure you’re not removing something that’s an important dependency for other programs. Might lose your whole DE that way.
- Not really something you should be concerned with, honestly. I personally use KDE Plasma and favor QT based programs because I don’t want to pull in GTK libraries, but that’s honestly kind of silly. Some people just like to keep their number of installed packages low.
- Just pick one, really. With experience, you can start to personalize your system. You can try different distros/DEs by booting from a flash drive in to a live environment. No changes will be made to your system and you can see if you like the DE.
- Any of the main distros will be good
- Forget it. Qt is nice
- Go through settings, read the doc of your distro, read arch wiki for anything even though you’re not in arch. The informatio there is invaluable.
- install apps. Mainly as flatpaks. Ignore snaps.
- If you choose GNOME, you have to install “extension manager”, not only “extensions”. From there you can install a lot of things, e.g. PaperWM which is a tiling window manager extension. It’ll blow your mind.
- Very good question
- Package manager, package availability and how everything is built from the ground up, e.g. btrfs. Should you choose the distro based on the package manager? No. You install distrobox on your system and install virtual distros in there and use any package manager you want on any distro.
Only install flatpacks if the distro repository doesn’t have the application in question. But I agree about snaps. Never ever use snap packages.
I’m curious for your reasoning
I prefer flatpaks because
- sandboxing technology
- multiplatform
- easy to package
- less maintenance for devs
- easier to install on atomic distros
- better interoperability with other packages and dependencies, no dependency hell
- up to date packages
- doesn’t mess with base system
- efficient with space (some say it uses a lot of space but it’s very efficient if you look into it)
- launch quickly
- easy to backup
Distro native packages are:
- Better integrated into the base system
- No maintenance for the devs (they are usually maintained by distro package maintainers)
- Better interoperability with other packages and dependencies, thanks to the package maintainers
- No duplicate or outdated dependencies
- More space efficient because they use system dependencies instead of packaging their own
- Launch even quicker since they don’t go through flatpak
- No missing or broken features due to flatpack limitations or sandbox issues (e.g. inter-process communication)
If an application is new or niche or small then flatpak is definitely a good option. But if there’s a distro native package then that one is almost always the better option. Flatpak is nice for when there is no native package.
Thx
-
why should a weather app have acces to my whole system? Flatpak tries to solve that issue
-
a good integration into the system is important for system relevant apps like a terminal but not so important for a chat app like fraktal
-
if the dev maintains the flatpak, no distro maintainer needs to maintain the distro package anymore (see fedora that stop packaging apps for the system because of flatpak). In the past each distro had to package it, that’s not necessary anymore.
-
is that really true? “No duplicate or outdated dependencies” traditionally you’d stay on the outdated dependency because one app isn’t updated with flatpak those apps that are updated do not need to stay on the old versions.
-
more space efficient is true but I don’t consider flatpaks size a disadvantage due to the advantage of no dependency hell. Same for launch speed
-
sandboy issues should become better over time as flatpak matures. It’s still in its infancies. I bet that it’ll be much better in the future, even better than on android today (there’s still plenty of room left, even on grapheneos)
As I mentioned that fedora stops packaging apps, I assume that other distros will follow suit because it’ll save time and money
deleted by creator
deleted by creator
Distro maintainers are a lot better about keeping libraries up-to-date than random application developers. They will even patch applications to work on newer libraries, even when the app developers do not.
There’s also auditability. If e.g. OpenSSL (or some other library) gets a high rated CVE and Debian ships a same-day patch, I know I am safe. I can verify that I have installed the patched version, and I know my applications use that patched version. Not with flatpak. Now I’m at the mercy of a dozen app developers, many of which probably value security less than the Debian Security team.
IMHO it’s a mistake for Fedora to drop its own packages for flatpak. But Fedora appears just to be a RedHat experiments playground these days, not a user focussed distro.
Don’t get me wrong, Flatpak is fine if you want to install stuff from Joe Random Developer off the internet, but I trust the Debian maintainers a whole lot more. If they ship it, i can trust it.
Great point.
You state that distro maintainers may fix vulnerabilities that app developers don’t fix timely or at all.
Right now fedora keeps their own flatpak repository, for other reasons but fedora may fix dependencies, runtimes, etc. If they wanted to. Meaning, it is not a flatpak issue in itself.
Debian maintainers could instead of packaging for debian, package for their own debian-flatpak repository - which actually could be used by any distribution because it’s flatpak.
I like the idea of having a party inbetween the lines, kind of like fdroid for linux but with security in mind.
-
One of the things to consider is stability. For instance, if you want something that is always pushing out the latest versions of everything, choose something built from Ubuntu, but just keep in mind that the latest builds don’t have a lot of testing and can have problems show up. On the other hand, if you want something that will be rock-solid all the time, pick Debian – the releases are going to be much older, but they have been very well tested. However Ubuntu and Debian also have different levels of “newness” to choose from, so like in Debian you can choose ‘stable’ (the default), ‘testing’ (released for awhile but still might have issues), or ‘sid’ (brand new, not tested at all). Ubuntu I believe starts out somewhere between debian’s testing and sid releases as its base, and gets newer from there, but as you can see even within one distribution you can have a lot of choices.
Now how does that relate in the real world? Well all distributions will have security releases, so if there is an new exploit out, you will see patches for that right away. Otherwise, for a server you are going to want something that doesn’t blow up, but for a desktop you might want to see the latest updates and gadgets to play with.
Keep in mind that you can play around with various releases before installing them. Most will have a “Live CD” version you can download and boot from a memory stick, so you can see what their desktop looks like. You also have the option of installing them in a virtual machine – under Windows a good option is VirtualBox, and under Linux a good option is KVM (this might require you to use the command line but it is extremely lightweight on your CPU). Also keep in mind that most distributions allow you to install multiple desktops that you can choose from when you log in, so you could install Gnome, Mate, and others at the same time and then go back later and uninstall the ones you didn’t like. This is one of the most noticeable differences between distributions – how they preconfigure each desktop environment to look by default, but you can always find info to change the view of each one so you can copy the exact features that you like from other distributions. This is one of the great things about Linux, you aren’t completely stuck with one particular setup.
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.
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.
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.