Closed ivan-hc closed 1 year ago
UPDATE: I have created a repository to build AppImages using Junest
https://github.com/ivan-hc/ArchImage
The App I'm working on for now is OBS Studio, this is the workflow to build it
mkdir tmp
cd tmp
wget https://raw.githubusercontent.com/ivan-hc/ArchImage/main/apps/obs-junest.sh
chmod a+x ./obs-junest.sh
./obs-junest.sh
The issue here is to setup a dinamic /home ito the package.
Due to bwrap
errors that is unable to mkdir
because the file system is read-only, the AppImage cannot be portable.
You can test this issue by uncommenting the line 51 (and optionally 52) of this script.
You will see that whatever is the place and the user, you will be unable to run the app.
Any solution to prevent these checks?
Do you know any system variable I can use to redirect the wrappers out of the Appimage?
Hey @ivan-hc ,
I am not familiar with AppImages but have you tried to mount the home directory belonging to junest from another (configurable) place? bwrap
allows you to do that using the --bind* options (see man here).
You may not need to remove the home directory here but simply mounting another directory on top of it when running a junest session.
Hope that helps!
Filippo
Hi @fsquillace , I've tried to use junest -b "--bind /home $HOME
and also --bind /etc $HOME/.cache
because then some messagges are appeared about cannot remove /etc/something.conf, read only file system
.
However the message is still bwrap: Can't mkdir parents for /home/ivan: Read-only file system
Seems that Junest expects I have a /home/ivan directory into it. I've tried with /home, /home/user, /home/'$USER' (ie a directory named $USER) to bypass this check, but still no success.
Also changed the script this way:
rm -R -f ./$APP.AppDir/.junest/home
mkdir -p ./$APP.AppDir/.junest/home
this is essential for portability.
Just tried to change the AppRun this way:
echo "obs $@" | $HERE/.local/share/junest/bin/junest -n -b "--dev-bind /home $HOME --dev-bind /etc $HOME/.cache"
still no success, the message is always the same.
I've solved with proot, thank you for this amazing project! I love JuNest!
Hi, I have built an AppImage containing Junest tu run OBS Studio:
before this release I've done many tests on my machine, then I've uploaded everything on GH Actions
However I don't know for what reason I'm no more able to run this.
but in my previous tests (with custom $HOME directories separated) all worked fine.
The only way I have to made it work is to extract the AppImage.
So I think I should include something in the AppRun to prevent the reload of junest_wrapper
How can I do?
EDIT: I've found that the Appimage works only if it is compiled on the same machine with the same user.