20 ms·
I think my ideal Linux OS is probably Ubuntu/CentOS + something like macOS’s .app bundle file format for distributing end-user applications. When running perso
by jitl 4y ago
I think my ideal Linux OS is probably Ubuntu/CentOS + something like macOS’s .app bundle file format for distributing end-user applications.
When running personal Linux, I want things to generally “just work”, which means staying away from the distro package managers on Debian/Redhat derivatives. Given enough “hobby time” I manage to twist my base system’s packages into pretzels and/or break workflow critical software by noodling around. Back in the day I inflicted a lot of pain on myself trying to get newer Apache running on older Debian or similar. Third-party package repos, PPAs, or installing from source are all false prophets that eventually swamp the system in strangeness.
At least for server software, Docker solves this problem completely and totally. As long as your kernel is new and you have plenty of disk space, it’s trivial to run anything so long as it doesn’t need to integrate with the host OS for a good experience. Docker turned my hobby home server experience from “periodic distress” into “years of smooth sailing”. No matter how weird the server, I can bottle it inside a Docker container. This works because server software integration relies on a few primitives - sockets, boring files, env vars - and coupling is loose.
The same cannot be said for the “Docker for GUIs” stuff like Flatpack/AppImage/Snap, at least the last time I tried Linux on Desktop. I had issues with theme mismatch, weird fonts, broken clipboard, media hotkey problems, etc etc last time I tried Ubuntu & Fedora with these tools. Sure it’s better than running X clients in a docker container, but there were still many issues. Snap on Ubuntu was also slow - how come the calculator snap is slower than a calculator Docker? The issue is there’s tons of wild plumbing needed for GUI apps. Gconf (which is a windows registry clone?), dbus, something something Wayland, arbitrary sandboxing, .desktop files, whatever’s responsible for sound on the host… oy.
I look at systems like Nix or Guix with admiration — they offer an interesting tradeoff, but fundamentally represent a better version of a distro package manager. You can install software from the OS repo without worrying about internal conflicts… but now you’re using a weird system that’s much more difficult for software to understand. Also, I need to learn a new programming language (or whatever Nix is) to use it. Maybe one day I’ll go back to school or retire and I’ll have enough free time for this to sound fun.
I want to download apps as zip files from an upstream, unzip, and double click to run. Copy apps between systems with drag and drop. Never worry about incompatible versions of dynamic libraries. And my apps should use my system theme and respect my font and DPI settings, and have access to whichever files I want to work on. In short I want the ROX desktop dream, but for all Linux apps. http://rox.sourceforge.net/desktop/about_rox.html http://rox.sourceforge.net/desktop/about_rox.html
- kitsunesoba 4y ago>I think my ideal Linux OS is probably Ubuntu/CentOS + something like macOS’s .app bundle file format for distributing end-user applications. > When running personal Linux, I want things to generally “just work”, which means staying away from the distro package managers on Debian/Redhat derivatives. Given enough “hobby time” I manage to twist my base system’s packages into pretzels and/or break workflow critical software by noodling around. Back in the day I inflicted a lot of pain on myself trying to get newer Apache running on older Debian or similar. Third-party package repos, PPAs, or installing from source are all false prophets that eventually swamp the system in strangeness. I’ve also had this experience, and would also appreciate a more direct analogue of macOS .app packages. Package manager integration for those .app packages would be cool though — it’d be like brew cask where you’ve got .app packages managed by homebrew, where the worst case scenario is a single app getting botched instead of accidentally breaking sound or something.
- lproven 4y ago[Article author here] > I think my ideal Linux OS is probably Ubuntu/CentOS + something like macOS’s .app bundle file format for distributing end-user applications. Then I suggest looking at NeXTspace: https://github.com/trunkmaster/nextspace https://github.com/trunkmaster/nextspace It does exactly that. CentOS, plus .app bundles, all integrated into a single bundle. But the .app bundles come from GNUstep, so you can't pick your own desktop.
- AnIdiotOnTheNet 4y ago> In short I want the ROX desktop dream, but for all Linux apps. http://rox.sourceforge.net/desktop/about_rox.html http://rox.sourceforge.net/desktop/about_rox.html Seconded. AppImage is admirable and FlatPak is tolerable, but Linux has become a hopelessly fragmented and complex ball of abstractions and everyone's best efforts to deal with that so we can just install some goddamned applications already have been significantly hindered by it. Best I've managed so far without getting into hopelessly niche distros is Fedora Silverblue. Immutable base system (OSTree) with FlatPak for most application installs and Toolbox (see Distrobox as an alternative) for things that don't have a FlatPak. It's still a pretty rough experience, especially because of GNOME and its hatred of configurability, but it is the least-suck I've managed to wring out of Linux.