mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #560] Missing environment variables in AppImage support #394
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#394
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @probonopd on GitHub (Jun 10, 2016).
Original GitHub issue: https://github.com/netblue30/firejail/issues/560
@netblue30
Just discovered that you added AppImage support to firejail. Very useful, great work!
The software inside AppImages might may the following environment variables to be set:
$APPIMAGEshould contain the full path of the AppImage that has been mounted$APPDIRshould contain the full path to the mountpoint where the AppImage that has been mountedAlso, running an AppImage normally extracts its icon so that the thumbnailer in the system can use it; although I am not sure if this exceeds the scope of firejail.
Questions
$HOMEwhile still being able to use$HOMEif explicitely allowed by the user. Do you have an idea/suggestion on how to achieve this? E.g., have a GUI dialog box to ask the user for permission?@netblue30 commented on GitHub (Jun 11, 2016):
The main AppImage functionality is there, but there are some problems. I also have to look into the icon extraction and allow it. In this moment I re-mount /usr read-only. Where does the icon go?
No, if a profile is not specified firejail will use /etc/firejail/default.profile. It is a very restrictive profile, it blocks access to directories such as /var/log, /sbin, /usr/sbin, and mounts read-only most of the filesystem. In the home directory it blocks ~/.ssh, ~/.mozilla, some of ~/.config, password files and encryption keys, etc.
You would have to run it with --private:
The home directory will be empty.
@probonopd commented on GitHub (Jun 11, 2016):
If I understand it correctly, you are not executing the AppImage and hence not running its runtime.c at all, but instead mount the AppImage using your own code and run the contained AppRun. This is perfectly fine, but in order to replicate the full AppImage functionality, you would have to replicate/copy what runtime.c does (including the icon stuff).
The icon goes to
$XDG_CACHE_HOME/thumbnails/normal/.@probonopd commented on GitHub (Jun 11, 2016):
Imagine an app which is used to edit documents. Wouldn't that mean that all files I have saved using the application are lost when the app is closed?
@netblue30 commented on GitHub (Jun 11, 2016):
Yes, they are on a tempfs filesystem.
--private is used mainly for browsers when you don't trust the addons you have installed and want to start with a clean browser to connect to a bank website. I also see --private used for running servers or daemons that don't need any info in /home.