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?
Only in Linux Land would “daily desktop tips” include “REINSTALL YOUR ENTIRE SYSTEM FOR SLIGHTLY DIFFERENT FEATURES.”
That’s something that beginners do to entertain themselves. My desktop image has been rolling forward since 2013 (when I switched to 64 bit userspace) and it has survived through several generations of hardware.
What distro, out of curiosity?
My previous record was on the server — Debian from Sarge to Wheezy (2006 to 2017). In retrospect I should have stuck to it, but wanted to try Ubuntu Server… I’ve only returned to Debian this year.
But on desktop I’ve never made it longer than 5 years on the same distro. I guess things change much more on the desktop and maybe it’s not a reasonable goal to stick with the same distro for too long? I’ve been on Manjaro now for 3 years, we’ll see how that goes.
I am on Gentoo. It’s not really a goal for me to stick with it, I am pretty pragmatic about these choices. What I value about Gentoo is the flexibility and the lack of magic. The ability to fully own and understand my system. I know what’s installed, what’s running and why. It’s up to me if I want to use systemd or something else, do I want pulseaudio, pipewire or just plain ALSA, X11 or Wayland, what type of desktop environment to use (if any). I can easily apply local patches if needed, I can build a package from git or stick to some old version if I prefer. I know how I want things to work and Gentoo lets me get there. If I found a better way to do it I’d switch. Maybe something like NixOS someday but I am not ready for those trade-offs yet.
The reason I’ve been maintaining the same image for so long is that I didn’t have a reason to rebuild it. I’ve always been able to make the changes I needed. I re-did the image when going from 32 to 64 bit because it was less work.
Haha if you mean by entertain having Black screens and stuff? Idk, I broke every KDE System before that wasnt Debian based. And I like new features. So Fedora. The Kinoite is probably not that important, if you dont install random packages. But just because it works for many people, it may not be the easiest way, with least troubles to save when it breaks.
Ok its not very practical but its also something like “tips I would like to have known before having a complex setup”.
I think you should try VanillaOS 2.0 when it comes out
Distrohopping is one of the sweet pleasures enjoyed by many new Linux users
deleted by creator
Opensuse microOS (now Kalpa or Aeon, doing the same stupid mistake as Fedora) and VanillaOS are pretty similar. They simply use backups and a standard package manager afaik. No OSTree no reason, for me.
Yes I agree, Fedora Mint with Flathub and everthing out of the box would be perfect. Or just KDE, I think Fedora KDE is best. Its awesome on Wayland and with Plasma 6 will get awesome too.
deleted by creator
I dont know if BTRFS is user unfriendly, but if they dont use OSTree afaik you cant reset, view diffs and all that.
VanillaOS is high in useful package management, but not very secure too, poorly.
deleted by creator
You can do the exact same end result with rpm-ostree. Not single files or anything, but I guess thats not really the default configuration? With ostree you can pin deployments, otherways you only keep one backup system which saves resources
deleted by creator
Really interesting, havent heard of that. Yes I saw that Fedora Workstation does something similar with the btrfs snapshots and also they make updates more stable by using this little system that runs on reboot instead of doing it while running.
Btrfs and Ostree definitely are different approaches to the problem. Btrfs has all the benefits you mentioned (cow filesystems and snapshots are just awesome) but it doesn’t support the system layers like Ostree does. So you can’t easily export a btrfs system into a container for example or rebase your OS on a new image.
To me both a super useful together too but covering different domains, everything mutable needs a backup and recovery method too, even on an Ostree system.
Stuff like guix and nix also cover a lot of these domains too (or can at least), but still leave stuff like user data as an exercise for the system admin to handle (though an exercise you can use guix/nix to configure something like btrfs to handle!).
deleted by creator
The container concept is super useful for with CI/CD tools. So I could update my config have it spin up just the layers I care about run tests and if it passes then switch out the old piece of the running system.
Make it easy enough and you can get users testing super bespoke systems and possibly sharing the results with others helping catch the edge cases sooner.
At least that is part of my dream on it. Of user oriented distributed systems is also something I’ve worked towards here and there.
Btrfs and snapper work together for rollbacks or viewing diffs
There’s also BlendOs but it’s a buggy mess right now. Has promise though
Maybe I’m old school, but I have 100% native and 0% flatpak
You’re not alone. I never use them. Too much storage. Too much fiddling to make them have the same theme as the system. AUR has everything I need.
Same to me, I dont even use AppImage, probably because AUR has almost everything?
deleted by creator
I do really like the portals system included in flatpak, plus OCI just has wider support (and tooling) then nix and guix atm. They are both, in my eyes, the next part of the dream of a fully defined system though, so I expect the tooling and support to keep growing!
Debian will get boring and stay broken.
Linux Mint Debian Edition is an option if you want something more out of box.
I mean that they will simply not ship nonstable updates anymore, which makes the system outdated after a year or so. It may work for some (LMDE with only X11 is not secure at all) but software is not ready yet, so the current version is okay now, but soon not anymore.
There are some useful things in there, but it can get complicated. If i could get to Linux I wouldn’t need a lot of this stuff, or at least I wouldn’t need to think about it.
Tho I can’t get to it yet (and no I’m not willing to do a windows vm), because of 2 things :
-
I’m playing warframe, and sometimes I open alecafrale in the background with the overlays to know what reward to pick. And it seems they overwolf and the app is not compatible with Linux, at least from what I could read.
-
I am using gpu virtualisation to share my pc occasionally with my brother. And on Linux, there is an alternative with LIBVF.IO. but sadly, not compatible with newer amd gpus, or at least from the tutorial and arch wiki, pretty complicated to make it run, if even possible.
When these 2 things would be fixed, maybe I’ll consider it, if i don’t have to switch to windows every 2 days…
I am using gpu virtualisation to share my pc occasionally with my brother.
Care to elaborate on this? I’m curious how you’re doing it.
-
How would one remove cookie banners with ublock origin?
Activate the EasyList - Annoyances in the Ublock settings
Or manually use the dropper and remove it
I’ve just tested an immutable distro (OpenSuse Aeon) in a VM, it’s really confusing to me for now.
It is simply different. Flatpaks are not, system packages a bit, updates and installs very different.
Since when does Ubuntu disallow 3rd party repos? What is with all the misinformation being spread in this community lately?
Might be in reference to snap stores.
Huh? Where did anyone say that? Please quote when saying such a thing
Unless they open source their snap store, and allow third party repos, its simply not a free Linux Distro.
It sounds like two separate things, but I think you meant that the snap store doesn’t allow third party repos
Snap repos of course. I talked about the direction Ubuntu is going, with isolated drivers and all, which is great but bruh please not as snaps?
I agree with you. The other commenter assumed you were making two unconnected points.
Because that’s how grammar works. All I can do is accept people’s comments at face value. If they can’t string together a coherent sentence, that’s not on me.
I have problems with gaming on Nvidia unless I use Arch. Any benefit of switching to Fedora?
Not for features, but for stability. Using a ublue image like Bazzite is said to give a good experience, they have NVIDIA images too.
No feature advantages possibly, but breakages are unlikely as they are building the system. If it doesnt build, you dont get an update, thats it.
I heard experiences that NVIDIA proprietary drivers dont go well with rolling distros.
But I use none of both.
The OSTree advantages are also NixOS advantages
How good is nix system config to OCI container? I really need to get my hands on it more, because that seems like a good experience to me. Maybe even use it as a build system for OCI/k8s config map generator/k8s manifest builder so I can define a system and build out the pieces needed to deploy on distributed system if need be.
It is a full functional programming language
I am curious about NixOS, how are they similar or different? Is NixOS harder to set up? Where do the packages come from?
The packages come from nixpkgs, which is a huge GitHub repo with instructions on how to build packages. Nix, the package manager, interprets the instructions and builds the packages reproducibly.
Because it’s a github repo, anyone can submit new packages, but the changes have to be approved by a trusted person
That’s great and all…but Alt-Drag is missing.
I’ve honestly been using Linux on and off for nearly 25 years, and daily the past 6 or so…and somehow just found out about this, and now my life is changed.
So what the hell is alt drag?
Many WMs allow for moving a window by holding alt, left-clicking anywhere in the window, and dragging it to move, by default.
Some use Super+Drag. They usually also have resizing the window by right-click-dragging.
Ah, I think I’ve bumped into that on accident using qtile. It’s been inconsistent and I assumed that had to do with the window type. It might, but I also might be using the wrong key. Thanks.