Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppImageLauncher Lite #178

Merged
merged 15 commits into from Jul 1, 2019
Merged

AppImageLauncher Lite #178

merged 15 commits into from Jul 1, 2019

Conversation

TheAssassin
Copy link
Owner

@TheAssassin TheAssassin commented Jun 29, 2019

AppImageLauncher Lite is an alternative way to install AppImageLauncher. It's a no-root-required version that is shipped as an AppImage and can be installed from the CLI.

NOTE: The recommended and most powerful installation method is still to use the native packages! This is just an alternative for people who can't afford using sudo. It lacks many useful features.

I selected the most useful features of AppImageLauncher that can be installed and managed without access to root:

  • appimagelauncherd (automatically integrate AppImages in ~/Applications (or any other dir you choose for your apps)
  • remove and update helper (manage and update your AppImages from your app launcher via context menu)
  • AppImageLauncherSettings (configure AppImageLauncher from a UI instead of having to edit the config file)
  • ail-cli (might be useful for people who wish to automate some processes e.g., in scripts)

You can install the AppImage by calling it via CLI with install (and remove it with uninstall).

TODO:

@probonopd @azubieta please test, AppImage available e.g., here.

Fixes #161.

@probonopd
Copy link
Contributor

probonopd commented Jun 30, 2019

It just says

me@host:~$ '/home/me/Downloads/appimagelauncher-lite-1.3.1-x86_64.AppImage'
Usage: /home/me/Downloads/appimagelauncher-lite-1.3.1-x86_64.AppImage <operation> [...]

instead of running. As I need to to turn this into an ExtensionImage, how can I use it without the install keyword?

@probonopd
Copy link
Contributor

probonopd commented Jun 30, 2019

This probably should be ~/Applications by default, shouldn't it?

@probonopd
Copy link
Contributor

probonopd commented Jun 30, 2019

Thumbnail icons are not shown.

Not even in ~/Applications.

I don't know why but when I opened the same directory again a couple of minutes later one of the two now shows an icon:

@probonopd
Copy link
Contributor

me@host:~$ systemctl --user start AppImageLauncher
Failed to start AppImageLauncher.service: Unit AppImageLauncher.service not found.
me@host:~$ systemctl --user start appimagelauncher
Failed to start appimagelauncher.service: Unit appimagelauncher.service not found.

As a user, I would not understand why it is called appimagelauncherd if the application is named AppImageLauncher.

@probonopd
Copy link
Contributor

I do not understand what this checkbox does. What does AppImageLauncher do without this checked, and with this checked?

daemon

@probonopd
Copy link
Contributor

Is AILL using appimagelauncherfs?

@TheAssassin
Copy link
Owner Author

TheAssassin commented Jun 30, 2019

It just says
me@host:~$ '/home/me/Downloads/appimagelauncher-lite-1.3.1-x86_64.AppImage'
Usage: /home/me/Downloads/appimagelauncher-lite-1.3.1-x86_64.AppImage [...]
instead of running. As I need to to turn this into an ExtensionImage, how can I use it without the install > keyword?

Help text has been fixed already, but forgot to push. Dunno how your weird ExtensionImages work. You can just call --install, though -- AIL Lite copies itself into your home and sets everything up upon installation anyway. You can just run this during startup/login once per boot if you like.

Thumbnail icons are not shown.

Might be because we still use libappimage 0.1.x due to stability issues on main branch. Switch is planned for next weeks. That's really a minor thing to add, though. I'd rather settle on stability for now.

This probably should be ~/Applications by default, shouldn't it?

Why the heck is there anything filled in anyway? It should be empty, and use the default value (which is ~/Applications), by leaving it empty future changes would take effect later on.

I do not understand what this checkbox does. What does AppImageLauncher do without this checked, and with this checked?

This should be force-checked cosmetically, actually. AIL Lite's only configuration possibility is the main applications dir path. And that's also nothing you'd have to change regularly.

Is AILL using appimagelauncherfs?

It could, but there is no point in doing so, at least for now. The only purpose of the filesystem is to bypass binfmt_misc, but that's not required here. If we had a AppImage type 3 or 2.1 or something that has their magic bytes in non-offending location, we wouldn't need the filesystem at all. We could just launch stuff directly by calling the linker, which is relatively easy to implement with some ELF parsing (readelf/objdump provide the path to the right linker if asked nicely).

@probonopd
Copy link
Contributor

probonopd commented Jun 30, 2019

Dunno how your weird ExtensionImages work.

Exactly like an AppImage, with the exception that they are mounted during boot and stay mounted all the time, and ExtensionRun is executed at boot time instead of AppRun at application launch time.

They are not "weird". They are to the system what AppImages are to apps.

@TheAssassin
Copy link
Owner Author

Why not just call --install during boot?

@probonopd
Copy link
Contributor

probonopd commented Jun 30, 2019

That'd be an option, yes. Right now I'm just trying to find out how stuff works and what does what. If appimagelauncherfs is not used, why is there a systemd unit file for it in the AppImage?

@TheAssassin
Copy link
Owner Author

@probonopd well why not, I didn't invest overly much time to optimize everything to the max. It's not used, as you can see from the AppRun script.

@probonopd
Copy link
Contributor

Any idea what might be missing here?

@TheAssassin
Copy link
Owner Author

TheAssassin commented Jun 30, 2019

System doesn't like the magic bytes. Replace them and things will work. Nothing specific to AIL Lite. Please only post information relevant for AIL Lite. I want to merge this. E.g., your SystemImageKit has no relevance for this project (more a nice to have for you, but doesn't really provide information whether AIL Lite does what it's supposed to do).

@probonopd
Copy link
Contributor

As in: I cannot run any AppImages?!

@TheAssassin
Copy link
Owner Author

Well, you haven't believed me at least since early 2018 that newer systems don't like the magic bytes at all any more. Many Docker systems were affected already, so we had to tell people to just cripple AppImages by removing the magic bytes.
I've been trying to convince you of introducing a type 3 when it was the time for it and all of this could've been mitigated. Now you might realize the issue, but it's way too late. Really annoying.

@probonopd
Copy link
Contributor

With appimaged it works on the same system

@probonopd
Copy link
Contributor

It still has the binfmt stuff in the AppImage, this hurts when converting to an ExtensionImage. Removing it makes it work for me.

@probonopd
Copy link
Contributor

May I ask that the scanning of the other partitions is added? Then it becomes usable for me.

@TheAssassin
Copy link
Owner Author

TheAssassin commented Jun 30, 2019

It still has the binfmt stuff in the AppImage, this hurts when converting to an ExtensionImage. Removing it makes it work for me.

That stuff is not installed in any way! It can't be that. It's impossible!

May I ask that the scanning of the other partitions is added? Then it becomes usable for me.

One thing after another.

@probonopd
Copy link
Contributor

when converting to an ExtensionImage

@TheAssassin
Copy link
Owner Author

when converting to an ExtensionImage

Well that's some very special treatment you request. Following your off-GitHub explanations you just overlay-mount the AppImage on the system and hope for the best...

@TheAssassin
Copy link
Owner Author

Try the latest build please.

@probonopd
Copy link
Contributor

@TheAssassin
Copy link
Owner Author

I guess you missed 52609f9 then?

@TheAssassin TheAssassin merged commit 7dcc010 into master Jul 1, 2019
@TheAssassin TheAssassin deleted the lite branch July 1, 2019 08:44
@TheAssassin TheAssassin restored the lite branch October 17, 2019 22:36
@TheAssassin TheAssassin deleted the lite branch October 17, 2019 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AppImage of AppImageLauncher that does not need root
2 participants