There are many Distros out there, but what they all do is make useful and modern systems.
What are your not well known hacks/tricks to make the Linux Desktop experience WAY better and modern?
Here are mine
Install a bigger Distro
I dont recommend Ubuntu anymore, as they are simply doing things that are not traditional anymore. Unless they open source their snap store, and allow third party repos, its simply not a free Linux Distro.
But its true that sticking to something "Upstream" helps a lot with stable Experience and Support.
I recommend Fedora, and they put a lot of focus on the new, modern Atomic Variants.
You may also stick to Opensuse, Arch or even Debian. Debian will get boring and stay partly broken. Opensuse struggles with adaption sometimes. Arch is Arch…
Get Flatpak & Flathub
Having an "out of the box" system helps extremely with updates, package conflicts and all. With Flatpak, you have access to nearly all Graphical Linux Applications (that are widely used and maintained).
Its not sufficient for everything, but 70% or so of the users could totally have a 90% Flatpak/10% native packages system.
This reduces the amount of entropy drastically. Entropy means chaos, the randomness that your package manager needs to fight. Every install and removal of a package makes your system diverge from the tested version upstream, and developers will often say "We cant reproduce this issue".
Also at the same time, Flatpaks remove the need of seperate packaging, they have official binaries (--subsection=verified
). Thus the versions are often newer.
Also, Flatpaks are open, and have easy containerization and permission management.
Containerize workloads
Example: I have a Laptop that does Private, Secure and Work things.
Best would be to have isolated containers or even Virtual Machines, if you really dont want other apps spying on something you dont like. This is luckily nearly nonexistent, even though X11 and the lack of SELinux make common Distros not actually secure.
So if you can use VMs with graphical acceleration and have enough RAM, install a very light Desktop on there or even a Window Manager (Fedora Sway spin?).
One step below: you can use isolated containers. Toolbox and Distrobox are not suited for that out of the box, but there are ways to isolate its directories and also remove filesystem permissions completely.
The last but still useful step is to have Toolbox/Distrobox Containers. It doesnt isolate your filesystem at all, as its primary use case is to have app support from every Linux Distro. So you can use Ubuntu PPA, Arch AUR, Fedora COPR, Opensuse and many more Distro-specific repos.
While thats mostly not needed, you can group your projects here, most common use case is a dev environment with loads of other dependencies, that you dont want to put on your main system.
Stick to secure defaults
Example: Fedora and others are nearly unique at using SELinux, which is naturally on Android.
Also, Distros being very stable with Wayland, Pipewire and other modern standards, are a good indication. Switching from Kubuntu to Fedora-KDE for example was a great step.
Its not best to self hack all your security features. Even though MAC address randomization or secure DNS settings are not default poorly.
Things like hardened kernel, hardened malloc, measured boot, hash authentification (Heads BIOS for example) are not common, which is pretty bad.
Try OSTree Distros
There are now great talks about different versions of Immutability.
- Linux User Space: Happy Rebasing to everyone!
- Fedora Project Podcast: Silverblue and immutable Desktops
To keep it short: Do you know how your system will look like after using it regularily, updating, installing, uninstalling, for many upgrades?
You can be more sure by following the containerization standards, but still the system can not be resetted, and you cant simply display the changes you did to your system.
With OSTree Distros you can reset, rebase to another system (completely different or simply with some other packages), display every change you did to it, revert the changes to your last boot, keep any image as a backup before experimenting… And all updates and installs are atomic! If something fails, you will have no update, no chance to break at all, even when using rolling git releases or something.
Automate
Automate updates, this is so important and poorly not standard. This doesnt mean having to click a button on a store always. I am working on some better system, detecting networks and battery state.
Automate backups of important directories to an external Drive.
For example using Syncthing. Why need a server when you have all your data on two devices that you own. The chance of both breaking is not very high.
Or use Nextcloud, maybe combine it with Cryptomator if you dont trust your Server.
Automate command line tasks in your shell config.
Automate app startups if they take long.
Automate your passwords by using a password manager.
Automate annoying cookie banner removal using UBlock Origin.
Automate entering "sort by price" or "only in 100km range" etc in ebay, or anything else, using "Add Custom Search Engine" and a custom search string.
What are your tips for Linux Desktops?
Ok its not very practical but its also something like "tips I would like to have known before having a complex setup".