banner
Previous Page
PCLinuxOS Magazine
PCLinuxOS
Article List
Disclaimer
Next Page

Expanded Choices: AppImage & Flatpak Packages


by Paul Arnote (parnote)

Most of the time, the sage advice around the PCLinuxOS forum is to NOT install software from outside of the official PCLinuxOS repository. It's a trivial task to run into what is dis-affectionately called "dependency hell." You also lack a full listing of changes made to your system, so installing even one "unofficial" piece of software could break 10 other working programs, or even render your installation unusable (or even unbootable).

If things do "go South" for your installation, good luck trying to figure out exactly what went wrong, since you have no idea what changes were made to your system. Plus, unless you install software from a trusted source, you could unknowingly install malware, spyware, viruses, ransomware, cryptomining software, credential stealing software, etc. Sometimes, it can be difficult to know exactly who to trust.

BUT … most of that advice formulated years ago, before the introduction of self-contained, sandboxed, ready-to-run software packages that don't make those potentially disastrous system-wide changes to your computer.

Today, these self-contained, sandboxed, ready-to-run software packages are typically just fine to install and use on your PCLinuxOS installation, with only a few minor, but vital, caveats. Keep your guard up for these caveats, and the use of these outside packages shouldn't pose much of an issue for you. As with most things, it's usually when we let our guard down that disaster strikes.

There are three such software package formats available for Linux users. One of them, snaps, won't be covered here. Snaps require the use of systemd, and PCLinuxOS is proud to be systemd-free. So, that makes snap packages an immediate "no go" for PCLinuxOS users. Snap packages, which can be easily distinguished by their .snap file extensions, originated with the *buntus, which do use systemd. Introduced in 2016 by Ubuntu, snap packages are available from Canonical's Snap Store. There are other outlets for snaps, but users should be cautious and vet the source of those snaps to be sure they can be trusted. Today, most Linux distributions that support systemd also support snaps.

The other two self-contained software packages for Linux users are AppImage and Flatpak. These two formats CAN be used by PCLinuxOS users, provided you heed the caveats and exercise caution. We'll cover each one of these package formats separately, so that we can do each justice.

Interestingly, while writing this article, I found several mentions of a "movement" to move away from snap to Flapak among *buntu users. Only time will tell if their efforts pay off, or if those efforts are in vain.


Wait! Here Are The Caveats!

So, as with just about anything these days, there are some things that you need to be on the lookout for when installing software from outside the official PCLinuxOS repository.

First, be sure you can trust the source of the package. Don't revert to being a "Windows user" and just install things willy-nilly. Vet the source of the package, to help ensure that it isn't going to harm you, your data, or your computer. There are monitored and vetted online repositories for both AppImage and Flatpak packages. Items used from these sources should be able to be trusted.

Second, research the program you are wanting to install. You will want to be sure that the program you are wanting to install will do what you want it to. You will also want to be sure it isn't going to harm your computer or your data. Be suspicious of AppImage and Flatpak packages that aren't in one of the "official" (defacto?) online repositories.

Third, if you're an "advanced" user, you can examine the program's source code for anything suspicious. That isn't always practical, however, depending on the size of the source code. A self-contained package for GIMP or AbiWord is going to contain thousands of lines of code, separated into a bajillion different modules. I don't know about you, but I've forgotten a LOT of my C coding knowledge (use it or lose it), and I'm totally lost when it comes to C++ (that stuff never made sense to me). And even then, a skilled programmer can find ways to camouflage malicious code to all but the most skilled of programmers.

Fourth, don't expect every AppImage or Flatpak you find to run on PCLinuxOS. It's not going to happen. Some programs are going to require systemd to communicate with subsystems on your computer, and since PCLinuxOS is systemd-free, those subsystems will most likely fail. To expect every AppImage or Flatpak to run perfectly and successfully manage communications with those subsystems is too high of a bar to set. You may occasionally find an AppImage or Flatpak that works perfectly, but that would be the exception, and not the rule. You need to be prepared to find workarounds to the things that don't necessarily work well. In some cases, there may not be a workaround. The thing you'll need to figure out is if the program performs most of the task you need it to perform. Then, that makes the workarounds easier to deal with. I'll talk more about this (as in providing specific examples) when we talk about each package format.

When it comes down to it, if the program you want is already in the PCLinuxOS repository, your best bet is to use the package from the official PCLinuxOS repository. Those packages can be trusted 100%, and sometimes, our packagers tweak those programs with the latest patches and other enhancements. And, while the official repository contains a LOT of programs to install on your computer running PCLinuxOS, there may occasionally be an instance where you need to run a program that hasn't already been packaged by our dedicated PCLinuxOS packaging crew. For those times, your second best bet is to use either an AppImage or a Flatpak of that program.



AppImage

Back on November 20, 2022, PCLinuxOS forum moderator Archie started a post in the forum about using AppImage to add programs to your computer. Included in that forum thread, Archie also compiled a list of AppImages that have been reported to run on PCLinuxOS. (Parts of this section of the article are excerpted from his post.)

Here's how Wikipedia "defines" AppImages:

AppImage aims to be an application deployment system for Linux with the following objectives: simplicity, binary compatibility, distro agnosticism, no installation, no root permission, being portable, and keeping the underlying operating system untouched.

You can read the full Wikipedia entry for AppImages here.

Below is the list that Archie compiled. Items in bold text are already in the official PCLinuxOS repository, and the list is current as of the writing of this article (the middle of March, 2023). Refer back to the original forum thread for periodic updates of the list.

The following are AppImages that work on PCLinuxOS (at least on my (Archie's) install and other contributors). Bold indicates the apps are also in our repo and installable (but not as AppImage).

Disclaimer: Use at your own risk. The AppImages are not supported in the forum, except the ones created by our packagers.


From Codalunga:


From daniel:

  • QMPlay2-22.10.23-1-x86_64.AppImage (28.5 MB) - a video and audio player. It can play all formats supported by FFmpeg, libmodplug (including J2B and SFX). It also supports Audio CD, raw files, Rayman 2 music and chiptunes. It contains YouTube and MyFreeMP3 browser.

From kalwisti:

  • Eqonomize-1.5.3 (27.6 MiB) - a cross-platform personal accounting software, with focus on efficiency and ease of use for small households.

From reelcat

  • DownZemAll_v2.5.8_x86_64_no_launcher.AppImage (25MB) - a standalone download manager and rewrite of the legacy software DownThemAll! which was an extension for Mozilla Firefox, but whose development stopped around 2016, when Mozilla Firefox migrated to WebExtensions.

  • linux_czkawka_gui.AppImage (5.15 MB) - (tch•kav•ka (IPA: [ʈ͡ʂkafka]), "hiccup" in Polish) is a simple, fast and free app to remove unnecessary files from your computer.

From RPsx94:


From Stingray:


And a few more untested AppImage that I believe are current versions. If anyone can help test them, I could bump them up to AppImages that works on PCLOS and delete them from this section list.


Installing AppImage files is as easy as making them executable ($ chmod a+x appname.AppImage). Or, if you prefer a graphical approach, right click on the AppImage file in your graphical file manager, select "Properties" from the context menu, click on the "Permissions" tab, and check the box labeled "Allow this file to run as a program" (or some such similar wording). There is nothing extra or special that you have to install from Synaptic to be able to install and use AppImage packages.

You can "install" AppImage files anywhere on your system, even in your own /home directory. If you want the AppImage available to all users of your computer, move the AppImage file to your /usr/bin directory (you will have to do this as the root user). Otherwise, if you "install" the AppImage from a location in your /home directory (I have a subdirectory under my Downloads directory, called AppImages, naturally), it will only be available to you (or the owner of that particular /home directory).

If you think you …want to "uninstall" the package, it is as simple as deleting the AppImage file. Some AppImages will actually create their own .desktop file, but most rely on the user to create the .desktop file so they can appear in the menu.

Now that you know what to do with the AppImage files, it's time to learn where to obtain them. There are a few decent AppImage "repositories" available that you should be able to trust. The first one is AppImage Hub, and it has 1,232 AppImage files for you to browse. Next, there is Area of Dev's collection on GitHub. There is an even larger collection of AppImage files on GitHub, and it contains 1,368 AppImages, sorted alphabetically. Finally, Awesome Open Source has a collection of AppImages.

I'm sure you can find other sources for AppImage files. Just be certain to keep your guard up, and to vet your source to be certain that you are not unwittingly or unknowingly installing some malware.



Flatpak

Flatpak packages are the "other" self-contained software distribution and installation file format. According to Wikipedia, Flatpak "is a utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system."

While the end result is virtually the same – installing programs to run on your computer – Flatpaks work a little differently. To install and use Flatpaks on PCLinuxOS, you will need to first install the flatpak utility via Synaptic and the PCLinux50OS official repository. AppImages can be downloaded and left in any directory of your choosing, and be run from that location. Flatpaks, on the other hand, have to be installed via the flatpak command line utility, and they are installed system-wide, for all users.

While this sounds a little more complicated, the flatpak command line utility makes it very, very easy to manage the Flatpaks installed on your computer. If you're a GUI user who typically shies away from using the command line, don't. You could be missing out on quite a lucrative and rich resource.

To start using Flatpaks on your computer, head on over to Flathub.org. It has become the defacto (albeit unofficial) go-to repository for Flatpak files. At the time of this article's writing (mid-March 2023), there are 2,027 Flatpak files available for you to choose from on Flathub.org. If you search for them, you can also find quite a few Flatpak files available on GitHub. If you download from GitHub, exercise caution and keep the caveats I mentioned previously in mind. From my brief visit to GitHub to see what was offered there in the way of Flatpak files, most of what I found also already existed on Flathub.org. You may also find some Flatpak files on BitBucket.



I'll use the Dave Gnukem game Flatpak to illustrate what you need to do on the flathub.org website. At the top of the screen, you will see the "Install" button. Click it, and the com.djoffe.gnukem.flatpakref file will be offered up for download to your computer. Save this file in a directory where you want to keep your Flatpak files. I keep those files in my Downloads/flatpak directory of my /home directory.



At the bottom of the flathub.org page for Dave Gnukem (you'll have to scroll down), you'll find "Command line instructions" for the Flatpak you are wanting to install. Click on the "Copy" icon (red arrow) to copy the command to your clipboard. For what it's worth, I've **never** had to use the second command. In every instance where I installed a Flatpak, the program was properly added to my PC "start" menu, in the proper category. I suppose that the "Run" command might come in handy if I wanted to start the program from the command line, or if I wanted to create a launcher on my desktop or on my panel.

For the rest of the images showing how to install a Flatpak file, I've switched to a screen capture of two actual Flatpaks that I've installed. In this case, it's A Photo Tool (Libre) and PDF Edit. I'm not much of a gamer (I don't have time for it), so Dave Gnukem is going to have to yield to this graphics tool and PDF utility that will have much more use for me.



Installing A Photo Tool (Libre)


Installing PDF Edit

Now, open a terminal session, and as a normal user, cd to the directory where you stored the flatpakref file you downloaded from flathub.org. Now, paste the command you copied to your clipboard in on the awaiting command line prompt. Hit enter, and follow the prompts. When asked to do so, enter your root password in the dialog box that's presented. Don't worry. You should recognize it easily. It's the same dialog box that you see when you run updates on your computer using Synaptic (or any other time you are asked for your root password).

Now, sit back and wait for the components of the Flatpak file to be downloaded and installed on your computer. It won't take long, depending on the size of the program you're installing and the speed of your internet connection. You *might* have time to go get a cold soda pop or a glass of water.



If everything went well, then you should now see your new program that was installed from the Flatpak file now appears in your PC "start" menu, as indicated above for A Photo Tool (Libre). Despite only having installed three Flatpak files myself, I have yet to find an instance where the program I install doesn't appear in my PC menu. And, that is the reason I have yet to use the "Run" command listed on the flathub.org website. Instead, I just go to my PC menu, and select the program's entry there to run it.



If you want to see all of the Flatpak packages installed on your system, all you have to do is type flatpak list at the command line.



Flatpak files also "uninstall" a bit differently from AppImage files. Whereas all you have to do with AppImage files is simply delete them, Flatpak files require you to use the flatpak command line tool to uninstall. The format is simple. Type flatpak uninstall [name-of-flatpak-file] at a command line prompt, and the program will be uninstalled from your computer. Replace "[name-of-flatpak-file]" with the name of the Flatpak file you downloaded from flathub.org, minus the "flatpakref" file extension.


Summary

We all know, love and appreciate how responsive Texstar and his merry band of packagers are at getting the things we need or want into the official PCLinuxOS repository. But, there's a limit to what this small band of excellent packagers can do. AppImage and Flatpak files give you another option, besides relying on just the offerings in the official PCLinuxOS repository.

As long as you keep the "caveats" listed towards the beginning of this article in mind, you can expand your Linux software horizons considerably … and safely. Meanwhile, if you find an AppImage or Flatpak that runs well on PCLinuxOS, send Archie a PM on the forum with the information, or add it to the forum thread. I'm sure that there are other PCLinuxOS users who might like to know.



Previous Page              Top              Next Page