this post was submitted on 04 Mar 2024
0 points (NaN% liked)

Linux

47233 readers
769 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Appimages totally suck, because many developers think they were a real packaging format and support them exclusively.

Their use case is tiny, and in 99% of cases Flatpak is just better.

I could not find a single post or article about all the problems they have, so I wrote this.

This is not about shaming open source contributors. But Appimages are obviously broken, pretty badly maintained, while organizations/companies like Balena, Nextcloud etc. don't seem to get that.

top 50 comments
sorted by: hot top controversial new old
[–] h3ndrik@feddit.de 0 points 6 months ago (2 children)

We're also regularly debating Flatpak here. That password managers don't tie into the browser and the desktop themes don't apply. It's also not the best solution and regularly confuses newer users.

[–] GravitySpoiled@lemmy.ml 0 points 6 months ago* (last edited 6 months ago) (1 children)

Flatpak is the best solution.

Password manager is usualy an add on.

Themes not applying is wrong packaging, not flatpaks fault.

Flatpaks limitations are real but you should install as flatpak first and if not working, then use the native package or nix. And limitations in flatpaks should be advertised.

[–] h3ndrik@feddit.de 0 points 6 months ago* (last edited 6 months ago) (1 children)

Hehe, No. It's the sandboxing.

But with this approach you take over the answering questions to newbies... Why doesn't the webcam show up in the videoconferencing? Why doesn't my GTK / QT themes apply to some software and it's a 2 page tutorial with lots of command line commands to fix that? Why can't I install Firefox add-ons and on Windows and MacOS everything just works? Why is Linux so complicated and regularly stuff doesn't work?

I had this argument multiple times now. There is an easy solution: Do it the other way around until you know what you're doing and about the consequences. Distributions are there for a reason. They put everything into one package and do testing to make sure everything works together. They provide you with security patches if you choose the right distro. LibreOffice and a Browser even come preinstalled most of the times. If you do away with all of that, it's now your job to tie the software into your desktop, your job to handle the sandboxing if there is addons that need to pierce the sandbox. Your job to make sure the Flatpak publishers do quick updates and keep the runtimes up-to-date if a security vulnerability arise within an used library...

I'm not directly opposed to using Flatpak. I'm just saying there are some consequences that aren't that obvious. There are valid use-cases and I also use Flatpak. But in my experience hyping some of the available technologies without simultaneously explaining the consequences is regularly doing a disservice to new users.

[–] GravitySpoiled@lemmy.ml 0 points 6 months ago (1 children)

Do you mean fedora not installing codecs by default and the flatpak version of firefox has it bundled, i.e. just works?

I don't want to argument with you about that. If something doesn't work as expected or intended, you've done a bad job. Stuff not working on linux isn't exclusive to flatpak. It's the fault of maintainers if people complain about a flatpak version compared to distro package.

More people have to use flatpak and report the bugs they experience. The more people focus on flstpak the less infancy bugs will appear.

I've got only recent runtimes installed. There's no old runtime. I understand your concern though, but it's less of a problem for maintained software. Moreover, you've got the same problrm for other package manager. Flatpakcan even improve upon this because it's bundled.

There's also a distinction to be made if it's an official distribution channel or if someone else packaged it.

[–] h3ndrik@feddit.de 0 points 6 months ago* (last edited 6 months ago)

I mean it's not even my own problem. I just have Spotify, Microsoft Teams and Zoom installed that way, and a few pieces of software that I'm testing. I use a rolling distro so I have the most recent versions of every software I need anyways. And I have the skills to configure stuff. So I myself don't have an use-case for a spyware-riddled Chrome browser from Flathub or something. I have a nice LibreWolf from the unstable channel of my distro. Steam and all the other stuff is there, too. And it works almost flawlessly. Why would I trade that in for a 4GB version of the same software that has downsides?

It's the newer users I'm concerned with. Their sub-par experience of Linux.

This is what I mean:

  • https://github.com/keepassxreboot/keepassxc/issues/7352 (Maybe Keepass works as of now(?) I don't think so but I haven't tried. At least some addons do. But other's don't. It requires the permissions to be configured by the prople preparing both flatpaks that want to talk to each other.)
  • https://itsfoss.com/flatpak-app-apply-theme/ / https://docs.flatpak.org/en/latest/desktop-integration.html
  • All the issues people had with Steam, the graphics drivers, attaching gamepads/controllers or headsets, getting Discord and extras working. (Some of that seems to have been resolved in the meantime. They put quite some work into it.)
  • Some distros don't update Flatpak packages as part of their standard update mechanism. You need to learn to regularly run "flatpak update" or learn how to activate that.
  • I have some packages still rely on old runtimes that are missing security patches. I suppose it's the same for a lot of other people. And there isn't a mechanism to warn you. You also need to learn how to figure that out.
  • I don't remember which of the video conferencing solutions this was, but I remember fighting with the webcam permissions and advice on the internet was to disable sandboxing entirely. I set the permissions a bit better but then also screen sharing wouldn't work.

As I said, it's okay for someone like me - and probably you - to use, and I don't complain. I'm glad I have Flatpak available as a tool. But look at the issues I've linked above and the steep learning curve for the beginner. They need to learn what GTK is, what QT is, what desktop they use, learn what Flatseal is, use the CLI. They have no clue why it is even required to do that much work to get their Keepass set up. And that it's not Linux' fault but their decision from 2 weeks ago to install the browser that way. And their experience is just worse than it needs to be. And this isn't unsubstianced, I'm speaking from experience. I've answered these questions over and over again. It's already annoying to get the NVidia stuff set up reliably, find new software and adapt your workflow. And the switch from X11 to Wayland broke things like screen sharing/recording, anyways. And we're now piling 20 other things on top, to learn and do manually if you happen to be one of the users who don't use the default standard setup.

And nothing of that is "bad" or can't be fixed... We're making progress with all of that. And we'll get there. All I can say with my experience helping people with their Linux woes and the current state of Flatpak: The "use Flatpak for everything" mentality is causing issues for some newer users. And experience shows: They rarely understand the consequences but heard the hype about Flatpak. And few of them can explain why they used Flatpak over the proper packages in their distro.

So my opinion in short:

  • Flatpak is nice : yes
  • try a Flatpak first, then the distro package if it doesn't work: hard no
  • you can get recent software on older distros with flatpak: yes
  • you can recommend Flatpak: Yes, if you also explain the consequences of the sandboxing and pulling things from potentially unreliable third-party sources. You're doing people a disservice if you don't.
  • some of this will change in the future: yes
  • we should have more sandboxing: yes
[–] Pantherina@feddit.de 0 points 6 months ago (1 children)

That native messaging portal is probably developed somewhere. But for sure, also apps installing themselves "partly" as an extension of another, like Zotero and Libreoffice. This could be done though, okay.

Themes generally just work on KDE at least. At least light/dark themes, which may not really be the fanciest of choices

[–] h3ndrik@feddit.de 0 points 6 months ago (1 children)

I'd be happy if people just cut down on advertising Chrome/Firefox and LibreOffice via Flatpak to new users. They should use the packaged version. That's why we have distributions, to make the whole system a smooth experience and everything tie together.

Flatpak is slowly getting there and I think at least some distros have it preconfigured so the default GTK themes are in place.

Ultimately, I'd like sandboxing to be available natively in Linux, at least for desktop applications. And we can talk about a packaging format that is available to the user, allows pulling software directly from the upstream project, includes libraries and runtimes.

[–] Pantherina@feddit.de 0 points 6 months ago (1 children)

Yes SELinux confined users or apparmor could allow sandboxing apps the same way as flatpaks.

On 2GB of RAM systems that would make a lot of sense.

Chromium cant use its native sandbox, Firefox supposedly can.

But Librewolf and more should be used as Flatpak, unless you need multiple apps to chat between (native messaging) which doesnt work yet, its way more stable.

[–] h3ndrik@feddit.de 0 points 6 months ago* (last edited 6 months ago) (1 children)

Yeah, I think we should extend on the sandboxing features like AppArmor, SELinux and Flatpak for desktop use. Look at MacOS and Android and what they're doing for desktop users. That is currently not the Linux experience. Ultimately I'd like my system to have an easy and fine grained system to limit permissions. Force third-party apps to ask permission before accessing my documents or microphone. have sane defaults. make it easy to revoke for example internet access with a couple of clicks. make it so I can open an app multiple times. and have different profiles for work, private stuff and testing. This should be the default and active in 100% of the desktop applications. And apps should all use a dedicated individual place to store their data and config files.

Librewolf and more [...] used as Flatpak, [...] its way more stable.

That's just not true. I've been using Linux for quite a while now. And I can't remember my browser crashing in years, seriously. Firefox slowed down a bit when I had 3000 tabs open, but that's it. How stable is your Flatpak browser? Does it crash minus 5 times each year? How would that even work? And what about the theming and addons like password managers I talked about in the other comment? Use the distro's packaged version. It is way more stable. And as a bonus all the edge-cases will now work, too.

load more comments (1 replies)
[–] Atemu@lemmy.ml 0 points 6 months ago (1 children)

I don't get why we didn't just do it macOS style; bundle everything into one directory with a standardised structure and wire up file managers etc. to run the correct executable inside it.

[–] Kazumara@feddit.de 0 points 6 months ago

Because the FHS is a more sensible organization of files. Not every user needs to have their own executable for each program, that's a mess.

[–] nintendiator@feddit.cl 0 points 4 months ago* (last edited 4 months ago) (1 children)

Eh, I've always felt these solutions are complementary, or supplementary, rather than a "versus". Each one, in particular cases, covers gaps the others can't cover. The only one that's unneeded is Snap.

For example, I like Flatpak. I like that I can get software from an authorized hub, much like with a package manager. I like that the releases of the apps in the hub are mostly well documented.

But no matter how nice Flatpak seems to be, its overreliance on "portals" and "buses" and "seals" comes associated with trying to over-engineerize my system too much for its own good. Every app I have ever tried on Flatpak, for example, doesn't support audio, apparently because I have the godly, eternal, battle-tested ALSA and not the manchild's crap that is PulseAudio. But since apparently PulseAudio is the GNome / Microsoft approved way to do audio on Linux, I'm ~~supposed~~ expected to have it. What's next? systemd-flatpakd?

OTOH, I picked up the AppImage for Freetube and not only do I get audio but it loads and runs noticeably faster than the Flatpak version. And since it's an official release I know where can I trustably get an update from. Literally no downsides!

But I sure as hell am not going to go for an AppImage for an app from which I expect more integration with my desktop activity, such as say a code editor or an advanced image / model viewer. Not if I can help it. Because I am going to be expecting to be able to stuff like drag and drop, have a correct tray icon, etc.

So that means I have to keep an eye on both solutions.

Hey, at least I'm avoiding Snap!

~~Now if there's an AppImage for Steam somewhere.... maybe...~~

[–] Pantherina@feddit.de 0 points 4 months ago* (last edited 4 months ago)

You got me in the first part XD

No joking, apart from that

But since apparently PulseAudio is the GNome / Microsoft approved way

I think I understand your point.

Pulseaudio is outdated, Pipewire AND Pulseaudio are now needed. Maybe also just Pipewire, and you can somehow fake Pulseaudio?

I never used a system without Pulseaudio, and Fedora has both (?) Or just Pipewire.

Pulseaudio is the old stuff that apps want to use, pipewire is the new cool stuff (I recommend qpwgraph) which allows like everything.

Aaand it is not overcomplicated, it isolated apps and introduces a permission system. Privileged programs that channel the requests and permissions, and sometimes need user interaction. Its actually less chaotic, the problem simply is that Flatpak ALSO tries to run all apps everywhere. And apps are mostly not up to date, so Flatpaks have randomly poked holes everywhere.

Today I worked on hardening configs for my apps. I maintain a list of recommended ones here. I will just put my overrides in my (currently still private) dotfiles, will upload them some day.

I am for example now Wayland only. Not all apps want to, but with the correct env vars (which I just globally set for all flatpaks, hoping it will not mess with anything), all apps use it.

This makes the system way faster, and applying different vars on the apps is very easy with Flatpak.

Literally no downsides!

Not true. It still has no updating mechanism, the binary may be official, but the rest are random libraries that may not be well versioned or controlled, etc etc.

The post is specifically about upstream supported Appimages, while Flathub is mainly maintained by the same 4 peolple (it is crazy). The request is for upstream devs to maintain Flatpaks.

But for sure not everything is nice. Runtimes are too huge, outdated apps cause huge library garbage, downloads are inefficient, ...

[–] avidamoeba@lemmy.ca 0 points 6 months ago* (last edited 6 months ago) (2 children)

AppImage is great at what it does - provide an ultra-low effort packaging solution for ad-hoc app distribution that enables a developer who won't spend the time to do rpm/deb/flatpak packaging. There are obvious problems, security and otherwise, that arise if you try using it for a large software collection. But then again some people use things like Homebrew and pacstall unironically so ...

[–] Pantherina@feddit.de 0 points 6 months ago (6 children)

I learned quite some things from this talk

https://youtube.com/watch?v=4WuYGcs0t6I&t=456

Appimages are damn broken

load more comments (6 replies)
[–] Throwaway1234@sh.itjust.works 0 points 6 months ago (1 children)

But then again some people use things like Homebrew and pacstall unironically so …

Thank you for mentioning this! Unfortunately a quick search on the internet didn't yield any pointers. Would you mind elaborating upon the security problems of Homebrew(/Linuxbrew)? Thanks in advance 😊!

[–] Pantherina@feddit.de 0 points 6 months ago
[–] Luci@lemmy.ca 0 points 6 months ago (1 children)

Odd, this random github rant didn't seem to sway my opinion.

To hell with user choice, only flatpak

[–] OmnipotentEntity@beehaw.org 0 points 6 months ago (1 children)

I'm not going to weigh in on the specifics of Flatpak vs AppImage, because I don't know enough about the particulars.

However, I think the "user choice" argument is often deployed in situations where it probably shouldn't be.

For instance, in this case, it's not the user's choice at all, but a developer's choice, as a normal user would not be packaging their own software. They would be merely downloading one of a number of options of precompiled packages. And this is the thrust of the argument. If we take the GitHub rant at face value, some developers seem to be distributing software using AppImage, to the exclusion of other options. And then listing ways in which this is problematic.

I, for one, would be rather annoyed if my only option were either AppImage or Flatpak, as I typically prefer use software packaged for my package manager. That is user choice, give me the option to package it myself; hopefully it's already been done for me.

There are some good things to be said about trust and verification, and I'm generally receptive to those arguments way more than "user choice."

[–] Pantherina@feddit.de 0 points 6 months ago

Thanks. Also, afaik lots of software is not legal to redistribute as Flatpak.

[–] BlahajEnjoyer@lemmy.blahaj.zone 0 points 6 months ago (1 children)

I’m not a fan of alternative packaging solutions. Never been. If it’s not in Debian’s repositories then I don’t bother with it. Some would say that’s close minded as not all packaging solutions are bad but when you use a stable distribution like Debian the native packaging solution is a lot easier to maneuver and troubleshoot than flatpaks and the like.

[–] Pantherina@feddit.de 0 points 6 months ago

Flatpaks dont touch the system, which makes them a perfect addition to a Debian Base. Tbh I think Windows is the best example that this works, stable, boring base, and no software is stable for no reason. They outsource the work and the software even installs and updates in random ways, but it is always up to date which never breaks the system.

But to be fair I am not a Debian user. I would consider it when being an admin for many clients that want a stable system. But I would install all apps from Flathub then, to have them up to date and not years old.

[–] darkphotonstudio@beehaw.org 0 points 6 months ago (1 children)

Oh look, another Linux user whining about a binary distribution method they don't like. If you don't like Appimages, don't use them.

load more comments (1 replies)
[–] rotopenguin@infosec.pub 0 points 6 months ago (1 children)

It would be nice if there was a way to bundle up a flatpak that was at risk of disappearing

[–] Pantherina@feddit.de 0 points 6 months ago

I think this is possible, just install it for now. There are .flatpak files

[–] Montagge@lemmy.zip 0 points 6 months ago (1 children)

Flatpak is bloated monster that has no idea how much it has to download to update. I'll take AppImage over flatpak if I can.

load more comments (1 replies)
[–] drwankingstein@lemmy.dbzer0.com 0 points 6 months ago (1 children)

oh boy here we go I strongly disagree with this article

While complex .tar archives (like firefox) may seem messy, they integrate many different things. An installer script takes care of placing a .desktop entry, you can have an updater script, a LICENSE, README and more. Those are all missing with Appimages.

.tar ARE messy, sometimes they don't work right, dep conflicts, etc. An installer script can be shipped with an appimage anyways. Moot point IMO

Apps installed with the system package manager get their .desktop Entry in /usr/share/applications, installed Flatpaks get their entry linked to ~/.local/share/flatpak/exports/share/applications/, user overrides and other installs can be put in ~/.local/share/applications/.

Appimages have no desktop entry, so they have (currently) no icon on Wayland and they don't appear in your app list. Desktop entries are a standard, used by everytthing but Appimages.

see above

Instead users follow strange habits like placing the files on their desktop, which is a highly discouraged "Windows workflow" (symbolic image) and not even supported on many Desktop Environments, most notably GNOME.

Who discourages it? I personally prefer this myself, lack of desktop icons is a common complain for stuff like GNOME...

This is both a usability and a security issue. Traditional Linux apps, even if they are cross platform, don't have updater services, as package managers are way better at doing that.

I disagree that this is better. A personal issue but I Much prefer when apps can update themselves.

This means, packing as an Appimage either requires to implement an updating service, on a platform that doesn't need that, or to have no updates at all.

Instead users need to follow an RSS feed, get a mail, or manually check for updates, which is horrible UX. Then how do they update?

Is this really a massive issue? There have been appimage stores in the past. Self updating appimages really isn't that hard either. If this was a massive issue, you could do something like obtanium for android which could easily automate the process.

Appimages don't even have a central place where you can find them, not to mention download them. This is extremely insecure. Modern Application stores and every well made Linux repository uses cryptographic (mostly gpg) verification, which secures the authenticity of the software. You can be sure you downloaded the real package.

I'd argue it makes little difference. But yes, Downloading things from the internet is more unsafe then downloading from a repo or a "curated" service. So we can grant one here.

There is no updating mechanism. On Android you may also update by downloading .apk files, but once installed, the .apk needs to be signed with the same key, otherwise updates are blocked. With Appimages... you just delete the old .appimage file, download the new one, change the name to remove the version and hope your .desktop entry didn't break.

This is how you get malware.

the risks seem blown out of proportion here. As long as you are downloading from the same place, the risks are significantly smaller in reality, not gone, but smaller.

They are not well maintained

There is a well known "bug" on modern Ubuntu, where Appimages lost their "works on every Linux Distro", because they are built for the outdated libfuse2, while Ubuntu now uses libfuse3. The fix is to install the outdated version of libfuse (!), and this is still not fixed.

An application format, that is incompatible with the latest version of its core dependency, is broken.

This is a very minor issue, i've had way more issues with traditional repo packages then I have had with appimages.

Lack of Sandboxing ...

I find this to be a benefit myself, I have had countless headaches with flatpak applications and their sandboxing. everything from devices not being recognized, weird storage issues and more.

Random location ...

Another moot issue. $HOME/.local/bin is an XDG standard, so unless we pretend that XDG standards aren't "one of the major standards" this is just wrong. https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

Duplicated libraries

Appimages bloat the system. They include all the libraries they need, and unlike system packages or Flatpaks, they don't share a single libary. If users would really install every Software as Appimages, they would waste insane amounts of storage space.

This also completely discourages efficient and up to date packaging, and the attached risk of outdates libraries is hidden away in that .appimage archive.

and? When you need only a couple appimage files, space I find is smaller then flatpak, it only becomes when you need a lot of applications.

Appimages are not needed Flatpak solved many Linux desktop issues at once ...

None of these provide reasons as to why appimages aren't needed. Appimages still offer a lot, for one I can just download and run it I don't need to worry about installing and uninstalling application when I just want to try it, I don't need to muck about trying to get an app into flathub or starting my own repo, when a user has a problem, I can just tell them to run the new appimage instead of trying to get them to compile it.

Appimages also let me do fine grained control over the dependencies. No unexpected runtime updates, I can compile the deps with flags/features I want to support, and disable flags/features I don't want to support, Users don't need to download a stupid appstore or use CLI (not a single appstore i've used to date isn't hot garbage, I hope cosmic-store will be different).

[–] Pantherina@feddit.de 0 points 6 months ago* (last edited 6 months ago)

Dont know where user installed tar archives (with statically linked binaries or including deps) would have dep conflicts, maybe if they are not statically linked.

The self updating stuff and desktop icons is personal opinion and not the common way on Desktop Linux, so I skip that.

you could do something like obtanium for android which could easily automate the process.

That is called a package manager, with a repo, with gpg signing etc. On Android (which I mentioned) updates are secure. Let alone the point that appimages are not updated in a regular way, they are just replaced.

I'd argue it makes little difference. But yes, Downloading things from the internet is more unsafe

No the difference is huge. If you are used to downloading software from websites, a faked website can easily lead to downloaded malware. Flathub can be added with a click and flatpak is included in distros, which means no hunting on the internet and no accidental clicks.

And as I said, until nobody downloads .flatpak packages online, and there may be an occasion where this is normal behavior, people will believe malware links are legit.

the risks seem blown out of proportion here. As long as you are downloading from the same place, the risks are significantly smaller in reality, not gone, but smaller.

Appimages are distributed everywhere, just as .exe files for Windows. This means they are favored by developers used to Windows and Mac, and those will not add them to a repo instead.

So a faked website of whatever etcher or something is easy.

The fact that Linux malware is not a thing, while Appimages clearly give the headstart for that, is a miracle.

I find this to be a benefit myself, I have had countless headaches with flatpak applications and their sandboxing. everything

Flatpaks are not secure because their sandboxes are weakened to not have such issues. This is due to apps not following secure standards, and until that is fixed they are insecure or broken or both. (Apps need to write configs in the container, they should use portals etc.)

I maintain a list of flatpak apps following modern standards, which is a small portion but getting better.

Linux is only somewhat secure because everything is FOSS and comes from repos.

This is broken by appimages, that can easily distribute malware and thus fix the "my malware is not running on that distro" issue.

Every software that can write to your .bashrc can easily catch your sudo password.

Another moot issue. $HOME/.local/bin is an XDG standard, so unless we pretend that XDG standards aren't "one of the major standards" this is just wrong.

Yes linux experts would put them there. As mentioned in that text malware would also install itself there, so on secure systems this should be only writable by root/ some elevated group privilege.

But apart from that users put them on the desktop, or in some random folder, I mean that dir is hidden for a reason.

Or put it in that PATH and then link to the desktop, resulting in a broken link when you remove the app.

When you need only a couple appimage files, space I find is smaller then flatpak, it only becomes when you need a lot of applications.

If something is not scaleable its not a good concept. The fact that you will only install a couple of appimage apps is enough proof.

On modern atomic distros users can rely purely on flatpak.

Btw see the linked dedup checker. You may download more dependencies but they are linked between each other and not actually take up so much space.

I don't need to worry about installing and uninstalling application when I just want to try it

We need to overthink those habits. You dont just "try an app", you run unsandboxed code from an unverified origin. As mentioned above, this could be totally fine, and also add a function to your bashrc that catches your sudo password (the next time you use it) and sends it to a server.

The secure way to do that is completely unpractical.

  1. Get a GPG app or use the cli, create a personal key. Secure the access permissions, as gpg always complains on Fedora for example.
  2. Hunt the internet for the gpg key of the dev
  3. Look for at least another source of that key like GrapheneOS does it
  4. Compare those keys hashes using cli or some app
  5. When correct, load the key into gpg/kleopatra/kgpg
  6. Verify the key with your internal key (yeah gpg is overcomplicated)
  7. Download the appimage, and a signed hash (most of the time its done like that)
  8. Verify the signed hash
  9. Sandbox the appimage using bubblejail (doesnt work) or firejail (no idea if it works, and its insecure)
  10. Repeat on every damn update (if it doesnt have a builtin updater)

This is unusable. And repositories do this automatically without anything you need to do. For sure you could "extra check the website" and say "

Also app data will be everywhere, often in its traditional location, while there is no package manager at all to delete them. Flatpaks store all their stuff (when devs care and not just ignore that, cough Cryptomator) in their container and data can be easily removed during uninstallation, GUI stores show a popup to delete data and I also made a small script to do that.

And that "try it out" app will either have no desktop entry or that entry needs to be manually and will be still there after uninstalling.

I don't need to muck about trying to get an app into flathub or starting my own repo, when a user has a problem, I can just tell them to run the new appimage instead of trying to get them to compile it.

This may be a reason, but this is only for testing then. But for sure, when its a small project, getting it on Flathub may be much efford.

I can imagine the developer experience is easiser. Flatpaks are simply very "defined" and need all that metadata and more to be complete. But needing to use available runtimes is a good thing mostly, its basically supporting a specific distro.

Flatpak through CLI is fine (I would like to have a standalone small store just for flatpak), Discover is nice too. The Linux Mint store also seemed fine but not much experience. (Linux Mint has some Wayland support now, so there is a secureblue Cinnamon spin, have to try that). The Cosmic store is just a stub currently, lets see!

Cheers!

[–] captain_aggravated@sh.itjust.works 0 points 6 months ago (1 children)

When I was first getting into Linux, Flatpak wasn't a thing quite yet. I ended up installing software in all of the following ways:

  • A .run file. Simplify3D (commercial 3D printer slicer) did this, it was kind of a literal word for word translation of the Windows .exe installer system. Please don't do this. See also install.sh. Just don't do this.

  • A .tar.gz file full of the executable and its assets with no further elaboration. This happened a few times but I really remember FTL: Faster Than Light did this when I bought the game directly from them rather than on Steam, and they were nice enough to link it to a Steam key for me. This'll work if you're handing out a thing you made to a couple other people, don't distribute like this please.

  • Clone my git repo. I'm going to type this slowly so that it will best be understood: Git is for people who are contributing to code, not for people who just want to run it. Do not ask end users to compile from source.

  • Ubuntu PPAs. This one seems to have died; it's been a couple years since I've seen anyone suggest adding a PPA. Good, they somewhat sucked.

  • Pip. There are way too many end-user applications that are distributed with Python's package manager. No. Bad.

  • Alien. For a brief time the driver for my printer was only distributed as a .rpm, I was on a .deb based system. There's a thing called Alien that lets you do that.

  • Loose .debs. Haven't encountered this one in awhile either, but...could be worse.

-Snap. No. Just. No.

Compared to almost all of these I'd prefer an AppImage. For example, go look at the process of getting an up to date copy of Chirp, the amateur radio programming software. The instructions are kind of "build it yourself," they are flawed and borderline incorrect, and include no uninstall instructions. I would vastly prefer they just package the damn thing as an AppImage.

Compared to AppImage, I almost always prefer a Flatpak. Flathub is built into my distro's GUI app center and is almost transparent to the user. Using Flatpaks with the terminal is complete rectal pus, but for most end users who prefer to do things graphically Flatpak works pretty well most of the time. It is not completely seamless, like Flatpak seems to suffer from all the drawbacks of sandboxing with none of the benefits.

If you are distributing to a wide audience, use Flatpak or publish to the various standard repos. If you're a little niche thing that might distribute 200 or 300 copies ever, AppImage is probably simpler. Otherwise just...keep your repo private.

load more comments (1 replies)
[–] onlooker@lemmy.ml 0 points 6 months ago (2 children)

Counterpoint: I don't like having more than one package manager on my system, which means things like Flatpaks and Snaps are out. With AppImages, I just double-click on the executable and off it goes.

[–] FooBarrington@lemmy.world 0 points 6 months ago (1 children)

I get that multiple package managers can be suboptimal (though I don't have a problem with it as long as the integration is good).

But it still seems like a much, much better solution than just not having these applications managed by a package manager, as is the case with AppImages.

[–] onlooker@lemmy.ml 0 points 6 months ago (1 children)

True. I would consider another package manager if it integrated into my system nicely and if I had more than a few applications outside my regular package manager. But I only have like two AppImages on my PC anyway, so I don't mind updating them manually when I need to run them.

load more comments (1 replies)
load more comments (1 replies)
load more comments
view more: next ›