5 ms·
> Desktop OSs have been able to do these sorts of things since the 1980s without all the hoops Linux Desktop software makes you jump through to do them. Linux
by bogwog 5y ago
> Desktop OSs have been able to do these sorts of things since the 1980s without all the hoops Linux Desktop software makes you jump through to do them.
Linux desktops can do this. Flatpak maybe can't (Idk, I don't use them that often, but I'd be surprised if they couldn't), but even before AppImage, Flatpak, Snap, etc you could always just run an application from wherever you want. You could do that 20 years ago, and you can do it today.
Desktops in the 80s didn't have sandboxing, but modern Linux desktops do. You can either implement sandboxing yourself through syscalls, use something like Systemd, or use the significantly more user friendly Flatpaks.
...Or don't use sandboxing at all, and do whatever you want. Download a (hopefully statically-linked) ELF from the internet, chmod +x it, then execute.
> standard in Linux Desktop application distribution
There is no such thing. There never has been, and there never will be :P
- AnIdiotOnTheNet 5y ago
- bogwog 5y agoOh sorry, I didn't realize that I was the asshole. Thanks for clearing that up.
- mechanical_bear 5y agoRight? After that rant…
- opan 5y agoI would much rather see Guix or Nix become the standard than Flatpak/AppImage/Snaps.
- AnIdiotOnTheNet 5y agoYeah, a lot of people would, but I honestly can't see why. Application management on Linux is already complicated enough without having to learn a new language to use it effectively. I get that many people find value in its declarative nature, but the reason I think that is so attractive is that the current paradigm is so utterly terrible it makes what should be a relatively niche requirement (declarative application management) look like a good general solution.
- opan 5y agoI can point out that Guix uses Guile, a scheme, something someone may already know before using Guix, but I think a more interesting perspective is that of the simple user. What Guix and Nix give you are a package manager that can be used with a signature distro or installed upon another distro, and that package manager makes an effort to be the last package manager you'll need. Both of them are packaging the normal types of programs you'd expect, but also emacs packages, vim plugins, python packages, rust packages, go packages, and so on. Nearly every guix upgrade I do shows me that a bunch of new r-foo packages (R-lang stuff) got packaged. The way I see it, with enough time and manpower, these package managers will have just about everything you'd ever need (exceptions for things like proprietary software, mainly in the case of guix, although these can and do still exist in unofficial channels). Even in their current state they are good enough at doing this that I'm able to get all my emacs packages from the package manager and not use elpa/melpa at all. This also gives you rollbacks for free. If an emacs plugin breaks, you can roll back to a previous generation, and optionally do a partial upgrade to then re-upgrade everything except that broken package. This process is basically instant as it's just moving some symlinks around in the store. You can also have multiple versions of programs installed without issues, and until you do garbage collection, you likely do by default. Declarative package manager is also cool even as a regular user. If you choose to use a guix manifest to manage your user's packages, you have a good visual of everything you've intentionally installed on your system (not cluttered up with the deps they pulled in), and you can easily add/remove them with a text editor + re-running a command afterward to reapply the manifest. I don't consider myself a programmer, and I have not built packages for most distros (I have made a guix package or two locally with some help, but never submitted them upstream), so I thought my perspective as someone using these tools may be valuable. I wouldn't say I ever learned the nix lang or guile to any sort of level of fluency. I basically treat a configuration.nix or config.scm the same way I treat my sway config, neovim config, and so on. The syntax is a little complicated, but the community is there to help, and there's also the documentation. I just know enough to get by as a regular user and I still greatly appreciate guix.
- pxc 5y ago> [T]he Linux community abhors the concept of managing applications like they were just regular files and prefers complicated tooling, gigantic databases of dependencies, and armies of maintainers. > Flatpak is gaining ground, which is better than continuing with the current paradigm as far as I'm concerned, but it is still worse than the simple way things were done in saner desktop operating systems. (and from your other comment:) > Application management on Linux is already complicated enough without having to learn a new language to use it effectively. Linux is the only system (maybe now FreeBSD, if they've completed the migration to a packaged base system yet) where every single piece of software on a complete and usable system can be managed uniformly with a single set of automatic tools. You are absolutely correct that people using such a system are loathe to return to the fundamentally unmanageable anarchy of a system like Windows, where * every installer does basically whatever the hell it wants; * you can never really be sure that an uninstaller does its job; * much software simply cannot be installed or uninstalled non-interactively; * managing non-interactive installation for apps which DO support non-interactive management is often achievable only through some bespoke process; * every single fucking program feels entitled to litter your system with its own bespoke auto-update mechanism (sometimes one that runs in the background constantly!); * a brand new system with virtually no desired application software takes up 20-40 GiB, instead of 4-8 GiB; * it is difficult to even *discern* whether or not the whole system is up to date, and bringing a system up to date requires several manual processes; * even in the year of our lord two-thousand and twenty one, whole system installs mysteriously become slow after a few years so that they must either be reinstalled (the only sure-fire way) or treated with a laborious, manual cleanup process just to achieve sane, normal performance again. Software management on Windows is absolutely riddled with problems that are hugely minimized by traditional Linux package managers and can be more or less totally eliminated by more innovative ones. People who are already using Linux are opposed to your proposition because we've been there on other operating systems and you are asking to drag us back to hell. Flatpak isn't a 'step in the right direction' which will eventually take us to the manual, repetitious, chaotic, redundant mess of managing software on other operating systems. It's a fundamental improvement over that model, because it retains * very good deduplication of shared runtimes via OSTree; * easy management by automatic tools; * conventional and technical constraints on what applications can do to set themselves up; * a single central interface for software distribution; * a more complete specification of the dependency chain, unlike the implicit and unspecified dependencies on various Windows components from different eras that cause the base Windows installation (even without any applications) to grow and grow and grow. Flatpak is not going to give those things up, and if it did it would not be 'advancing'. > > > standard in Linux Desktop application distribution > > There is no such thing. There never has been, and there never will be :P > Did I mention the other thing I hate about Linux Desktop? It's community. This is how you react to playful commiseration about the difficulty of coordinating unification between independent, distributed, democratically managed volunteer projects? Please, I urge you in the strongest possible terms: continue using Windows exclusively, forever and ever. :)
- gjs278 5y ago