How do you handle the sheer number of variables with Linux?
For me there are 3 main factors to consider:
- How good is the package support (new software)
- How well is the desktop implemented
- How broad is the community support
Maybe one of the biggest challenges of Linux is that there is no one standard for anything. Redhat variants use yum as a package manager. Debian variants use apt. Then there’s all the special snowflakes in between.
These days most software supports yum and apt, so you’ll often see install instructions for both. If you’re using a lesser known distro that is directly based on these two main flavours of Linux, you’ll have mixed results.
I’d point out here that installing packages from source is a nightmare you should try to avoid. It can get very painful if you’re missing dependencies etc.
The two main desktop flavours are Gnome and KDE. To me Gnome most closely matches macOS. It also seems better supported by software than KDE.
Some software runs on either, some software, themes etc are Gnome specific, others KDE specific.
Just to try and demystify this a little. macOS and Windows have a default fixed Window Manager. Literally the system application that manages window placement and window decoration for you.
In Linux there’s a big choice of Window Managers. Pretty much everything you see in Linux is an application you can change.
The login Manager, Window Manager. Absolutely everything.
So on that note you could install Gnome, KDE, AwesomeWM etc and choose from the login Manager what window Manager you want to use for your session.
Realistically this is very cool if you like to use a tiling Window Manager for dev. Gnome for work and maybe KDE for gaming.
Different users on your system might like to use different Window Managers.
This kind of hints at the power and flexibility of Linux. Of course with this comes huge complexity until you wrap your head around it.
Point 3 influences points 1 & 2. If you pick a flavour of Linux not many people are using, every time you hit a snag; and you will. There won’t be a lot of info out there for you.
I’d go so far to say if something goes awry and lots of people have hit the same thing, not only will there be lots of answers. It’s probably a bug that will get fixed quickly by the distro.
If you’re with a popular distro and there’s next to no info about an issue, it’s probably just you.
At the end of the day no matter how good a distro is, I’d argue that you still need to be a bit of a hacker/dev to really get the best out of Linux for you.
The more something “just works” the more likely you are to be locked into a fixed system.
Having said that if you’re prepared to invest the time to understand what’s under the hood, you can tweak, twist and configure a very custom system that works exactly as you want.
A good example of this is AwesomeWM. It’s biggest benefit is that you can configure every aspect about it. Add custom elements like a dock. Custom launchers, menus, widgets. Customise window layouts etc. The possibilities are near endless.
To me the great thing about the choice, complexity etc is once you understand it; the basic building blocks of a Linux system, from the kernel, boot manger, login manager, windowing system and window manager. You can pick, choose and customise what you want how you want it.
Neither macOS or Windows permits this. At least not in as straight forward a manner as Linux does.