LinuxPA, Linux Portable Apps Launcher

Github page

I wanted to share my work with the AppImage community, a PortableApps.com type launcher for linux Apps. It’s a fairly simple project I started when I decided I didn’t feel like digging around my flash drive to see what apps I have. As AppImages are platform independent and will work just fine off a flash drive it’s a natural match. Some of the features are:

  • Auto-updating
  • GTK-based UI (should work on most DEs)
  • Run Windows apps via wine
  • Categorical organization
  • common.sh
  • Runs before apps (so you can set environment variables such as HOME)
  • Can make most AppImages truly portable
  • Download AppImages (Still a bit iffy :slight_smile:)
  • Made with GoLang (compiles into a single executable)

To download head to Github Releases

1 Like

This is lovely.

I really look into PortableApps experience in Linux.

Could you integrate automatically the .home and .config features of AppImage?
Also could you integrate using Sand Boxing (Using FireJail like appimaged)?

I believe I already have support for the .home and .config directories, the code is there at least and I might have just forgot to add it in settings. I’ll definitely look into sand-boxing through FireJail and I’ll also look at appimaged since it seems to have some features I’d like to dissect. Thanks for the suggestions, I’ve been looking for a reason to work on this lately.

@CalebQ42,
Just don’t imitate’s appimaged Daemon service.
Keep things portable even for the menu system (Nothing to be installed system wide).

Definitely not, I’m more interested in how it gets information such as MIME, name, and icon and seeing if I can use that method. Might not be anything I can integrate into LinuxPA, but I’ll look into it.

I think you should have a look at this:

How Do I Associate a File Type with an AppImage?

It seems he describes how to get MIME support.
Though I’d be happy if you make this optional.

Check out libappimage and libappimageupdate.

This is what I meant.
I didn’t mean replicate being a Daemon which is wrong in my opinion.
I meant just the features of MIME registration etc…

Well the thing that you want (something in the “system tray”) is basically appimaged with a tiny GUI to manually launch and to stop it, and to set the watched directories (the directory in which it itself resides being the default). Correct?

Just wanted to give a quick update on progress:
So at the moment I’m having “fun” learning/figuring out how to use make/cmake with cgo to allow me to build LinuxPA with the necessary AppImageKit C library to keep it as a single executable. At the moment It’s not going great, but there have been some glimmers of hope.
Option 2, which is actually what I REALLY want to do, is to find a way to get the information in a more pure go way. I have found a way for type 1 appimages, but have yet to find a way to do it with type 2 appimages (there doesn’t seem to be a squashfs library for go anywhere and programs that do work with squashfs just call the necessary commands, which won’t work due to the ELF header.
Option 3, which would require a rework of a couple things, particularly updating, is to just package LinuxPA as an AppImage itself. Would definitely work, and would probably be really easy, but I’m hoping I can make one of the above options work (because I like to make things hard on myself. Plus it makes building the app a bit easier)