Support
Quality
Security
License
Reuse
kandi has reviewed linuxdeploy and discovered the below as its top functions. This is intended to give you an instant insight into linuxdeploy implemented functionality, and help decide if they suit your requirements.
Bootstrap: Alpine, Arch, CentOS, Debian, Fedora, Kali, Slackware, Ubuntu, Docker or from rootfs.tar
Installation type: image file, directory, disk partition, RAM
Supported file systems: ext2, ext3, ext4
Supported architectures: arm, arm64, x86, x86_64, emulation mode (ARM ~ x86)
Control interface: CLI, SSH, VNC, X11, Framebuffer
Desktop environment: XTerm, LXDE, Xfce, MATE, other (manual configuration)
Supported languages: multilingual interface
No Code Snippets are available at this moment for linuxdeploy.
QUESTION
How to make AppDir files available to an AppImage application?
Asked 2020-Apr-14 at 21:26My build system, which uses meson, puts some files my application needs on AppDir under AppDir/usr/share/myapp/resources
. The application needs both, read and write to those files when it is running. The files are in AppDir when I look at it, but when the .AppImage is generated, the standalone running executable cannot access those files. When integrating the application with the desktop, the application gets installed in ~/Applications
, but it doesn't contain those files.
Here is a visualization of how it looks when the application is installed on the system without using AppImage (ninja install
)
usr
share
myapp
resources
MainWindow.glade
dataCache.json
When I do DESTDIR=AppDir ninja install
the structure ends like this
AppDir
usr
share
myapp
resources
MainWindow.glade
dataCache.json
When the application (MyApp.AppImage) is integrated into the user's desktop with AppImageLauncher, it only copies the AppImage into the Applications directory. There are no other folders or files.
Edit: I am using ./linuxdeploy-x86_64.AppImage --appdir AppDir
to create the directory AppDir. Then I use DESTDIR=AppDir ninja install
to install the app to AppDir, and then I use ./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage
to create the AppImage
How would one go to access those files that were in AppDir once the app is bundled? Or how does one make the app integration copy those files to the Applications folder so that the application can have access to them while the application is running?
ANSWER
Answered 2020-Apr-14 at 21:26To resolve the AppImage mount point at runtime you can use the APPDIR
environment variable. For example, if you want to resolve usr/share/icons/hicolor/myicon.png
you need to use the following path $APPDIR/usr/share/icons/hicolor/myicon.png
.
It's recommended that you modify the application to be able to resolve its resources depending on the binary location. As an alternative, you can use a custom environment variable to set up the path or a configuration file next to your main binary.
Regarding writing files inside the AppImage. This is not possible by design. An AppImage is a read-only SquashFS image that is mounted at runtime. Any application data should be written to $HOME/.config
or $HOME/.local/share
depending on whether it's a configuration data or other kind of data. The recommended workflow is to copy such data on the first run.
For more information about whether to copy your application data see https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
No vulnerabilities reported
Save this library and start creating your kit
Save this library and start creating your kit