Distributors entering Flatpakland
Distributors entering Flatpakland
Posted Jul 9, 2022 13:55 UTC (Sat) by mbunkus (subscriber, #87248)In reply to: Distributors entering Flatpakland by dowdle
Parent article: Distributors entering Flatpakland
Yep. And it's only really suited for a single main application per Flatpak as it only generates one start menu entry per Flatpak.
You can actually run other binaries contained in the Flatpak, though, both graphical & CLI ones. For example, I offer a Flatpak for my MKVToolNix which consists of five CLI applications & one GUI. The GUI is obviously the main application, but you can run all the others with e.g. "flatpak run org.bunkus.mkvtoolnix-gui mkvmerge --output destination.mkv source.mp4"
The result is that sure, you can have your office program as a Flatpak, but you'll only get a single start menu entry for it, not one for the text processor, one for the spreadsheet etc.
Snaps, on the other hand, can contain multiple binaries, both GUI & CLI, and those are actually made available via standard directories, meaning you can just run them via their usual executable's name.
AppImages are closer to Flatpaks in this regard, though still quite different. AppImages aren't installed: you only download them, grant them the executable bit & run them directly. There is no integration with start menus, MIME systems or anything else, making them highly portable but poorly integrated. One interesting fact about AppImages is that the name you run them as is passed through to the main executable as its program name, allowing you to simply symlink the AppImage file to a name of one of the executables inside it, and then the main executable can decide which executable to actually run based on argv[0]. Definitely not all AppImages do that, though, as you have to provide your own main executable; there isn't a standardized one. (For example: "ln -s MKVToolNix_GUI-68.0.0-x86_64.AppImage mkvmerge ; ./mkvmerge --output destination.mkv source.mp4")
I'm not saying one method is better or worse; just pointing out some of the differences in packaging.
