AppImage / type2-runtime

The runtime is the executable part of every AppImage. It mounts the payload via FUSE and executes the entrypoint.
Other
22 stars 17 forks source link

ability to pass mount options to fusermount #72

Open stsp opened 2 months ago

stsp commented 2 months ago

Hi, I'd like to pass "allow_other" mount opt as by default fuse is too restrictive for my needs. Is there some way currently, or can it be added?

probonopd commented 2 months ago

Hello @stsp. What the AppImage mounts is supposed to be used by the payload program that the AppImage runs. Can you describe your use case a bit?

stsp commented 2 months ago

dosemu2 runs under different user for security considerations. It uses an rpc server that runs under original user, and that server passes opened FDs to the main process. With fuse this doesn't work unless you supply "allow_other". But I am not asking you to explicitly add that option. It would be good if I could add it myself, at appimagetool time. As other people do not need it.

probonopd commented 2 months ago

Well, for sure you could get this by recompiling type2-runtime with the option patched in. Then you could tell appimagetool to use that patched runtime.

But maybe (just maybe) your use case is a bit too complicated for AppImage, which is meant to be a simple way to run GUI applications (as the user who sits in front of the computer).

stsp commented 2 months ago

But I guess you can implement some configuration channel between appimagetool and the run-time. I realize its not exactly trivial, but isn't a rocket-science either. Maybe add some elf section for a config file, or something like that. :)

Another approach may be to export the mount command to some env var. Then the app can parse the var, change the options and destination and remount itself. Note that things like "mount -o remount" do not help to enable that option.