←back to thread

306 points dxs | 9 comments | | HN request time: 0.613s | source | bottom
Show context
OsrsNeedsf2P ◴[] No.44069054[source]
This one hits close for me.

Flatpak is probably the best way to distribute desktop apps on Linux. I say this as an app dev, a packager, and a user. At one point I maintained close to a dozen packages.

I eagerly waited for months to see what they would do next - what magical features they would introduce. I was active on the forums helping other users package apps, helped review Flathub submissions (since it was always the same problems each time), and started checking out what PRs were happening. Silence.

The months turned into years, and as more years came, I slowly fell away from engaging with Flatpak. I'm back to using the AUR for most things (Arch, btw), but I'm quite sad to hear the situation get spelt out. Flatpak really was revolutionary; bringing modern apps and painless distribution to all desktops - LTS or rolling release. But it hasn't really changed at all since it first took off years ago.

replies(3): >>44069369 #>>44069408 #>>44072470 #
MindSpunk ◴[] No.44069408[source]
I have almost never had a good experience with Flatpaks as a user, outside of ease of installation. They almost never integrate with the system properly. Wrong theme, wrong cursors, wrong file picker, permission issues, drag-and-drop issues. You often need extra tools that broaden the permissions of apps post-install because some feature won't work (global push-to-talk in Discord is always fun, especially with Wayland).

I couldn't care less about sandboxing if the UX sucks as a result.

If binary portability wasn't such a complete joke on Linux we wouldn't need Flatpak, but here we are.

replies(8): >>44069531 #>>44069750 #>>44069860 #>>44070262 #>>44070801 #>>44070829 #>>44071097 #>>44071391 #
1. archargelod ◴[] No.44069860[source]
I find Appimage to be better alternative to Flatpak: no install, persistent through linux installations, no issues with themes, icons, Xorg config; in practice - take fraction of flatpak storage size, optional sandboxing with external tools like firejail, easier to run from terminal / dmenu / rofi, very easy to tinker with and fix.

There's just one problem: they don't integrate with desktop without an additional application. We need a feature where dropping an AppImage into "~/.local/share/applications" would automatically detect it as a ".desktop" file and make it appear in the DE menus.

replies(6): >>44070181 #>>44070772 #>>44070848 #>>44071093 #>>44071711 #>>44072821 #
2. krisgenre ◴[] No.44070181[source]
For desktop integration you can use Gear Lever https://github.com/mijorus/gearlever. It can also update AppImages with some configuration changes.
3. padraic7a ◴[] No.44070772[source]
on Ubuntu you can integrate Appimages with AppImageLauncher.

https://www.omgubuntu.co.uk/2022/10/appimagelauncher-install...

replies(1): >>44072389 #
4. kalaksi ◴[] No.44070848[source]
I disagree. Flatpak pros:

- installing: easy to locate, install and has centralized management for updates.

- flatpaks are also persistent. User-installs are in the home dir.

- sandboxing built-in.

Can't comment on other stuff. Haven't had issues.

replies(1): >>44071217 #
5. ChocolateGod ◴[] No.44071093[source]
> There's just one problem: they don't integrate with desktop without an additional application

Their biggest problem is that they're not actually truly portable between distributions. They're a gamble of what they're compiled and bundled against, and it's possible for two distributions to not have binary compatibility with each other due to user space differences (different versions, compile flags etc). The kernel developers may not break userspace between updates, but userspace developers certainly have no qualms about breaking userspace.

When you head out of Ubuntu/Debian where developers often build AppImages on (because Linux is a neglected platform and when they think Linux they think Ubuntu), they often fail to run or have errors (e.g. on Fedora). There's more problems such as the terrible practice of encouraging people to set the execute flag on binaries they download off the web.

Flatpak avoids the dependency problem entirely because it's uses runtimes and namespace to ensure reproducible and stable runtime environments.

6. dagw ◴[] No.44071217[source]
sandboxing built-in

This is both a pro and a con. For example, one big downside of this approach is that it can make installing third party plugins and scripts much harder than it should be.

7. lproven ◴[] No.44071711[source]
> I find Appimage to be better alternative to Flatpak

Me too.

But there is a "bigger picture" view of this which I think is important and relevant:

• AppImage encapsulates apps' requirements using the app bundle format from the ROX desktop: https://rox.sourceforge.net/desktop/

• ROX borrowed the idea of app bundles from Acorn's RISC OS, which is still around and is FOSS now: https://www.riscosopen.org/content/

• The RISC OS desktop treats folders whose names begin with a pling (`!`, an exclamation mark) specially. It expects a structure inside with an icon, a launcher script, etc.

• RISC OS also had an "icon bar", a forerunner of the Windows taskbar

• One of the Acorn engineers who worked on RISC OS was head-hunted to NeXT Computer in California. He took his Archimedes with him.

Source: an interview I arranged: https://www.theregister.com/2022/06/23/how_risc_os_happened/

• About a year later, Steve Jobs demonstrated NeXTstep 0.8 with a Dock

• NeXTstep also has app bundles, demarked by a folder called $NAME.app instead of !$NAME

This is a pervasive and influential idea. It's how macOS apps work and that can be traced to RISC OS.

NeXT style bundles are available and work on Linux if you have GNUstep. There are 2 extant GNUstep desktops:

https://onflapp.github.io/gs-desktop/index.html

https://github.com/trunkmaster/nextspace

But there is a distro which takes this idea much further and packages the _entire Linux OS_ in app-bundle directories:

https://gobolinux.org/

I think the makers of Flatpak, Nix, Guix, and Spack -- https://spack.io/ -- all really ought to take a deep look at ROX, AppImage, and GoboLinux.

What all of these do can be done better, in a more human-readable way, if you throw away ancient UNIX assumptions about filesystem directory hierarchies.

This was mostly not designed and was in historical fact accidental anyway:

https://lists.busybox.net/pipermail/busybox/2010-December/07...

8. medstrom ◴[] No.44072389[source]
Yes! It's very helpful, if you can get it on your distro.

GitHub link: https://github.com/TheAssassin/AppImageLauncher

9. _flux ◴[] No.44072821[source]
I've found AppImages less universally functioning, though. Some segfault on start or have some other weird problems later, while presumably they work great on the author's system.

They seem to work on my current systems, though, and I use a few, but flatpak has always worked on any system, and I expect it has higher chance of working as it delivers more of the system.