Don’t get me wrong. I love Linux and FOSS. I have been using and installing distros on my own since I was 12. Now that I’m working in tech-related positions, after the Reddit migration happened, etc. I recovered my interest in all the Linux environment. I use Ubuntu as my main operating system in my Desktop, but I always end up feeling very limited. There’s always software I can’t use properly (and not just Windows stuff), some stuff badly configured with weird error messages… last time I was not able to even use the apt command. Sometimes I lack time and energy for troubleshooting and sometimes I just fail at it.
I usually end up in need of redoing a fresh install until it breaks up again. Maybe Linux is not good for beginners working full time? Maybe we should do something like that Cisco course that teaches you the basic commands?
You can accomplish this with something like Debian stable and Flatpaks. OK, but now you have to explain these concepts to people, too 😆. It works great but it’s not quite user friendly. Ubuntu gets dunked on a lot for Snaps but I think they are actually the one mainstream distro that is trying to make Snaps as transparent for users as possible, thereby achieving the goal of separating the core operating system from user applications. Though I still prefer Flatpaks.
I’ve been using linux since 98 and have no idea what Flatpaks and Snaps are. I guess I need to read up on them.
Both are similar, and the very short version is they are sandboxed applications that bundle their own dependencies and can update out of band with your distro’s software repository. With Flatpaks they can share a common runtime environment, but I think with Snaps they bundle everything into the snap (I might be wrong about this).
One key difference is that Snap is basically only on Ubuntu, and Snaps can also bundle CLI applications or server software. Flatpaks are currently really meant for desktop applications.
In both cases you can modify the permissions of the the programs they bundle sort of like how you might expect on iOS or Android. That is to say you can restrict their access to the file system, the network, or other things. So, as an example, I can run a proprietary program as a Flatpak but ensure it cannot access my Bluetooth if for some reason I feel that need.
To expand on why snaps are Ubuntu only is because the back end for snap distribution is proprietary.
Problem: Every major distro has its own unique package manager; dpkg/APT, rpm, yum, pacman etc. It’s a nightmare to package apps for Linux, so let’s make one universal standard package management system.
Three or four independent projects: Okay, here you go!
Problem: Every major distro has its own unique package manager, and there’s three different incompatible universal ones and because one of them is made in-house at Canonical none of the three are supported out of the box on every distro.
Arch users: muh AUR.
Flatpak allows you to package your app once and make it available on at least 36 different distros
[0]
(if not hundreds more if you count their spinoffs). See the list of available packages at flathub[1]
. Read more about Flatpak in general here[2]
.[0]
https://flathub.org/setup[1]
https://flathub.org/[2]
https://flatpak.org/It is amazing how 3 steps can be challenging for some even though these are explained in flathub (for all major distros) 1- install flatpak which should install a pluging for gui Package manager automatically. 2- add flathub repo. 3- Configure your gui package manager to default to flathub 4- enjoy installing rhe latest software from flathub without even needing root password (except for Opensuse TW)