LinuxPA, Linux Portable Apps Launcher


#1

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


#2

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)?


#3

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.


#4

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


#5

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.


#6

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.


#7

Check out libappimage and libappimageupdate.


#8

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…


AppImage - A suggestion on Desktop Integration
#9

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?


AppImage - A suggestion on Desktop Integration
#10

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)