Some AppImages will run, and some will not

Using Leap 15.2, KDE Plasma, normal session. Some AppImages start fine (LibreOffice, QElectroTech), and some do not (Inkscape, Etcher). I have tried moving the offending AppImages directly to the Home folder, but that does not help. The permissions for all of them are the same, the ones that work and the ones that don’t work.

If I log in to the Plasma(Wayland) or Ice sessions, then the Inkscape AppImage does work! Can someone help me understand this, or make things work inside the regular Plasma session?

That is strange. I always thought it is the other way. A lot of applications do not run well or at all in a Wayland session. Something has to be faulty with Inkscape and Etcher. Personally I have no experience with AppImages but I would probably file a bug to the maintainers of those AppImages and would try e.g. Inkscape from the repos just in case and compare how it runs.

Edit: I was having a look at the AppImage site of Inkscape and then I found one on the AppImage Hub. I am not sure if the version is bleeding edge. That could explain some of the problems. At least try to use the last stable release just in case you overlooked it. The first is a development version and the latter the normal release version as far as I can understand.

Thanks for your reply.

I am using the stable appimage version from the Inkscape website. The official Leap 15.2 version 0.92 also works normally.
I use appimages when I find the official repo versions to be a bit out of date, which is often the case with Leap. (I’ve tried Tumbleweed, but it seems to have huge upgrades all the time which is distracting.)

Today I also tried the latest appimage version of Inkscape (1.0.1) from their website, but it has the same behavior, only working in Wayland. Can’t imagine anyone enjoying working in Wayland.

Did you check execute permissions? Both Inkscape and Etcher work fine on my machine running Plasma.

@Karl: Thanks for replying.

Yes, I did check the execute button. In fact I also have Kubuntu 20.04 Plasma running on this computer, and all appimages work fine on Kubuntu.

Any messages when invoking in a shell?

karl@erlangen:~/Downloads> ./balenaEtcher-1.5.108-x64.AppImage 
ready-to-show: 1241.771ms
Checking for update
Update for version 1.5.108 is not available (latest version: 1.5.108, downgrade is disallowed).
karl@erlangen:~/Downloads> 

Yes, of course I didn’t think to try. Maybe this will tell you something.

theber@localhost:~/mydata/_Technical/Software/Graphic> ./Inkscape1.0.1-3bc2e81-x86_64.AppImage 
Setting _INKSCAPE_GC=disable as a workaround for broken libgc
Run experimental bundle that bundles everything

(process:2959): Gtk-WARNING **: 17:51:14.699: Locale not supported by C library.
        Using the fallback 'C' locale.
Gtk-Message: 17:51:14.721: Failed to load module "unity-gtk-module"
Gtk-Message: 17:51:14.722: Failed to load module "canberra-gtk-module"
Invalid MIT-MAGIC-COOKIE-1 keyUnable to init server: Could not connect: Connection refused
ConcreteInkscapeApplication<T>::create_window: Should not be called!
theber@localhost:~/mydata/_Technical/Software/Graphic>

My download is different:

karl@erlangen:~/Downloads> ./Inkscape1.0.1-3bc2e81-x86_64.AppImage
bash: ./Inkscape1.0.1-3bc2e81-x86_64.AppImage: Datei oder Verzeichnis nicht gefunden
karl@erlangen:~/Downloads> ./Inkscape-3bc2e81-x86_64.AppImage 
Setting _INKSCAPE_GC=disable as a workaround for broken libgc
Run experimental bundle that bundles everything
Gtk-Message: 18:02:57.084: Failed to load module "canberra-gtk-module"
Gtk-Message: 18:02:57.353: Failed to load module "colorreload-gtk-module"

** (org.inkscape.Inkscape:24625): WARNING **: 18:02:57.980: Fonts dir '/home/karl/.config/inkscape/fonts' does not exist and will be ignored.
karl@erlangen:~/Downloads> 

Your terminal shows some errors. Did Inkscape start for you? Are you running Tumbleweed or Leap?

Yes, it does work. The errors are nonfatal. I successfully tested on both Tumbleweed and Leap 15.2.

I tried some more stuff since yesterday. I also installed Leap 15.2 on my desktop PC to be able to compare what happens between the PC and the laptop.

On the fresh PC install, using the regular Plasma session, neither Inkscape nor FreeCAD appimages would start. When I used the Plasma (Wayland) session all appimages would start.
Now the best part: after starting all appimages in the Plasma (Wayland) session, I could start them in the regular Plasma session! This is true for the laptop and the PC.

Maybe starting the appimages once in Plasma (Wayland) enables them to write some kind of configuration file? Beats me.

Thanks again for your help.

UPDATE:

Don’t know if this will be read, since the original post is a bit old, but just in case here goes:

I had thought that the problem was gone when I discovered the login trick, but it wasn’t. Whenever I restart my computer and log in to Leap 15.2 Plasma session, neither Inkscape Appimage 1.0.1 nor FreeCAD Appimage 0.19-23058 will start. I then have to log out of Plasma, log in to Plasma(Wayland), start both Appimages, log out of Plasma(Wayland), and finally log back in to normal Plasma. Only then will the Appimages start. This happens after every reboot. It only happens with OpenSUSE Leap. (I haven’t tried it with Tumbleweed; don’t suppose I will.)

On this and other computers the Appimages work correctly with Kubuntu, Fedora, and Manjaro, so it seems to be on the Leap side.

Thank you for posting. Seems like a really interesting problem but sadly I’ve got no idea how to help you as I don’t know enough about how AppImage operates under the hood. I think your best bet is to open a bug in openSUSE bugzilla.

I’m not sure whether part of the problem you describe is that your Appimage apps work better using Wayland.
Is there some reason why you don’t want to boot directly into, and run Wayland?
Like other major DE, KDE is moving towards running everything in Wayland so you’d be swimming against the tide if you insist in running xorg instead.

Otherwise,

Are you installed on BTRFS?
If so, then you’ll have some extra options trying things that might work because if the worst happens and your system doesn’t run properly (none of the following should cause that bad a problem but still…), you can return your system to before the changes by simply rolling back. Become familiar with you how you can do this by running snapper (I recommend the command line and not in YaST which IMO appears restore files better than command line but other functions not as well).

When you’re comfortable with running snapper,
Try running the latest KDE Framework and applications by adding the repository from the following SDB and then running a “zypper up”
KDE has been changing rapidly recently in many ways, maybe a recent change fixes your problem.

https://en.opensuse.org/SDB:KDE_repositories

Be aware that Appimage apps are like any other container based technology (although using its own container technology, not Linux containers).
This means that to achieve its universal “install in any distro” capability, the container has to contain everything it needs to run no matter what is in the distro it’s running on.
So, what does this typically mean?
Although AFAIK there isn’t a standard or universal recipe, some common sense things that would have to be included when the Appimage app is built would include

  • A stub of a kernel of the distro the app is built on
  • All dependencies from the distro the app is built on

With the newer KDE repository installed,
You may be interested in trying to install your apps natively instead of using Appimage.
I don’t know if your apps are in the KDE:Extras repository (On same SDB:KDE link provided above) or the OSS, but you can look around.
Again, if you’re especially interested in removing all traces of any experimentation, you can simply rollback which does a complete job unlike simply uninstalling.

What this can also mean is that if the Development environment the author built the app was on was configured to use Wayland, the app would expect and use Wayland running on your machine. This might not make a difference for most apps, but you’ll probably notice that your specific Appimage apps are graphics intensive apps, so would be more likely to be sensitive to using specific graphics capabilities which hasn’t normally been a container specification so is almost certainly sensitive to your distro setup.

HTH,
TSU

Thanks for all this replies. Really helpful article.

@tsu2: Thanks for the detailed reply.

Re Wayland: it’s too buggy for me right now. The AppImages in fact run worse when using Wayland. Example 1: using Inkscape under Wayland the scroll button will not zoom, no matter how I set the preferences or use CTRL or SHIFT. Example 2: using FreeCAD under Wayland the application occasionally freezes, accepting no input from the keyboard or the mouse. Also in general, some System Settings are not available when using Wayland.
I appreciate that Wayland is the future, but for me it is not the present.

At this time I am not using BTRFS. I think I had trouble with it in the past using BTRFS on one system but not on another, on the same computer. I’m not sure but it may have been related to GRUB and multi-booting. I also have a Windows installation on this computer, but I don’t remember if that was an issue when I tried using BTRFS for Leap. I’ll probably switch when more distributions support it.

The link that you provided does look interesting, so I may try going that direction. If I botch everything, then I can re-install. It wouldn’t be the first time.

Thanks again.

Consider making virtualization a part of your SOP.
With virtualization, your systems become displosable…
Depending on your disk I/O it only takes about 5 minutes to clone a new machine from old (Cloning typically automatically changes everything that’s needed to immediately deploy on the same network without conflicting with the old machine… ie new MAC address, new hostname)
Your backups are quick to make as simply copying the virtual machine files. Re-deploying a virtual machine is as simple as adding to the list of machines in your virtualiztion manager.
Virtual machinne snapshots supported. If you anticipate doing something risk, you can snapshot the machine before anything risky and can restore in about 30 seconds.

TSU

In fact I have used a Windows installation in a virtual machine once in a while, for the few things that don’t work in Linux yet. Is it possible to install an OS using BTRFS in a virtual machine on a pc using EXT4? I’m not savvy enough to think that through myself.

Another late update:

I discovered by accident that if I log in to the Wayland(Plasma) session, I don’t have to start the FreeCAD or Inkscape Appimages at all for them to work in stock Plasma. This is how it works:

  1. Start Leap, log in to Wayland (Plasma).
  2. Immediately log out of Wayland (Plasma).
  3. Log in to vanilla Plasma.
  4. Start FreeCAD or Inkscape Appimage, and they work as desired.

Just thought that this might be interesting.

1 Like

Last update!

I recently accidentally discovered that the two AppImages in question, FreeCAD and Inkscape, now work in the normal Plasma session without first logging in to the Plasma(Wayland) session and then back out. This must be due to some update that was installed in the meantime, but there’s no way for me to pinpoint when things actually started to work. That’s OK, I don’t have to know everything.