[GH-ISSUE #3546] Error mounting appimage: No such device #2229

Closed
opened 2026-05-05 08:54:54 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @tjerry on GitHub (Jul 24, 2020).
Original GitHub issue: https://github.com/netblue30/firejail/issues/3546

We use ClickUp at work. They have a desktop client. But I'd like to cut it's access to my home directory.

$ firejail --appimage --private=/home/user/Temp/private_home/clickup ~/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage
Mounting appimage type 2
Error mounting appimage: appimage.c:122 appimage_set: No such device
$ firejail --private=/home/user/Temp/private_home/clickup ~/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage
Reading profile /etc/firejail/default.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc

** Note: you can use --noprofile to disable default.profile **

Parent pid 28648, child pid 28649
Child process initialized in 14.28 ms
/bin/bash: /home/user/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage: No such file or directory

Parent is shutting down, bye...

This one is interesting. First time it started. Subsequent runs end up with the following error.

$ firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage
Parent pid 28677, child pid 28678
Child process initialized in 1.92 ms
/bin/bash: /home/user/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage: No such file or directory

Parent is shutting down, bye...

I'm new to firejail, but so far I have been able to run only spotify, which is installed in the system.
All other local apps failed to start - AppImage or simple binaries.
Could someone help me debug this?

Originally created by @tjerry on GitHub (Jul 24, 2020). Original GitHub issue: https://github.com/netblue30/firejail/issues/3546 We use ClickUp at work. They have a desktop client. But I'd like to cut it's access to my home directory. ``` $ firejail --appimage --private=/home/user/Temp/private_home/clickup ~/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage Mounting appimage type 2 Error mounting appimage: appimage.c:122 appimage_set: No such device ``` ``` $ firejail --private=/home/user/Temp/private_home/clickup ~/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage Reading profile /etc/firejail/default.profile Reading profile /etc/firejail/disable-common.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc ** Note: you can use --noprofile to disable default.profile ** Parent pid 28648, child pid 28649 Child process initialized in 14.28 ms /bin/bash: /home/user/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage: No such file or directory Parent is shutting down, bye... ``` This one is interesting. First time it started. Subsequent runs end up with the following error. ``` $ firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage Parent pid 28677, child pid 28678 Child process initialized in 1.92 ms /bin/bash: /home/user/Temp/private_home/clickup/clickup-desktop-2.0.13-x86_64.AppImage: No such file or directory Parent is shutting down, bye... ``` I'm new to firejail, but so far I have been able to run only spotify, which is installed in the system. All other local apps failed to start - AppImage or simple binaries. Could someone help me debug this?
Author
Owner

@rusty-snake commented on GitHub (Jul 24, 2020):

--appimage has to be the last firejail argument.

<!-- gh-comment-id:663533811 --> @rusty-snake commented on GitHub (Jul 24, 2020): `--appimage` has to be the last firejail argument.
Author
Owner

@rusty-snake commented on GitHub (Jul 24, 2020):

firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage

Does it work w/o --private? (You need to use private-cwd)

<!-- gh-comment-id:663535065 --> @rusty-snake commented on GitHub (Jul 24, 2020): > firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage Does it work w/o `--private`? (You need to use `private-cwd`)
Author
Owner

@tjerry commented on GitHub (Jul 24, 2020):

--appimage has to be the last firejail argument.

$ cd ~/Temp/private_home/clickup
$ firejail --private=/home/static/Temp/private_home/clickup --appimage clickup-desktop-2.0.13-x86_64.AppImage
Error: cannot access AppImage file
$ firejail --private=/home/static/Temp/private_home/clickup --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage
Mounting appimage type 2
Error mounting appimage: appimage.c:122 appimage_set: No such device

firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage

Does it work w/o --private? (You need to use private-cwd)

This one works.

$ firejail --noprofile ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage

$ firejail --private=/home/static/Temp/private_home/clickup --private-cwd --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage
Mounting appimage type 2
Error mounting appimage: appimage.c:122 appimage_set: No such device
$ firejail --noprofile --private=/home/static/Temp/private_home/clickup --private-cwd --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage
Mounting appimage type 2
Error mounting appimage: appimage.c:122 appimage_set: No such device
$ firejail --noprofile --private=/home/static/Temp/private_home/clickup --private-cwd ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage
Parent pid 7730, child pid 7731
Child process initialized in 1.86 ms
/bin/bash: /home/static/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage: No such file or directory

Parent is shutting down, bye...
<!-- gh-comment-id:663549007 --> @tjerry commented on GitHub (Jul 24, 2020): > `--appimage` has to be the last firejail argument. ``` $ cd ~/Temp/private_home/clickup $ firejail --private=/home/static/Temp/private_home/clickup --appimage clickup-desktop-2.0.13-x86_64.AppImage Error: cannot access AppImage file ``` ``` $ firejail --private=/home/static/Temp/private_home/clickup --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage Mounting appimage type 2 Error mounting appimage: appimage.c:122 appimage_set: No such device ``` > > firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage > > Does it work w/o `--private`? (You need to use `private-cwd`) This one works. ``` $ firejail --noprofile ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage ``` ``` $ firejail --private=/home/static/Temp/private_home/clickup --private-cwd --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage Mounting appimage type 2 Error mounting appimage: appimage.c:122 appimage_set: No such device ``` ``` $ firejail --noprofile --private=/home/static/Temp/private_home/clickup --private-cwd --appimage ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage Mounting appimage type 2 Error mounting appimage: appimage.c:122 appimage_set: No such device ``` ``` $ firejail --noprofile --private=/home/static/Temp/private_home/clickup --private-cwd ~/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage Parent pid 7730, child pid 7731 Child process initialized in 1.86 ms /bin/bash: /home/static/Temp/private_home/clickup/clickup-desktop-2.0.14-x86_64.AppImage: No such file or directory Parent is shutting down, bye... ```
Author
Owner

@rusty-snake commented on GitHub (Jul 26, 2020):

firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage

In which dir is the AI?

<!-- gh-comment-id:664032305 --> @rusty-snake commented on GitHub (Jul 26, 2020): > firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage In which dir is the AI?
Author
Owner

@tjerry commented on GitHub (Jul 28, 2020):

firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage

In which dir is the AI?

The AI is in the private dir, which is ~/Temp/private_home/clickup.

If I run it like this, it works.
$ cd ~/Temp/private_home/clickup
$ firejail --noprofile --private=~/Temp/private_home/clickup ./clickup-desktop-2.0.14-x86_64.AppImage

Without --noprofile, there is an error.

$ firejail --private=~/Temp/private_home/clickup ./clickup-desktop-2.0.14-x86_64.AppImage
Reading profile /etc/firejail/default.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc

** Note: you can use --noprofile to disable default.profile **

Parent pid 14585, child pid 14586
Child process initialized in 13.52 ms
execv error: No such file or directory

Parent is shutting down, bye...
<!-- gh-comment-id:664947192 --> @tjerry commented on GitHub (Jul 28, 2020): > > firejail --noprofile --private=/home/user/Temp/private_home/clickup ./clickup-desktop-2.0.13-x86_64.AppImage > > In which dir is the AI? The AI is in the private dir, which is ~/Temp/private_home/clickup. If I run it like this, it works. `$ cd ~/Temp/private_home/clickup` `$ firejail --noprofile --private=~/Temp/private_home/clickup ./clickup-desktop-2.0.14-x86_64.AppImage` Without `--noprofile`, there is an error. ``` $ firejail --private=~/Temp/private_home/clickup ./clickup-desktop-2.0.14-x86_64.AppImage Reading profile /etc/firejail/default.profile Reading profile /etc/firejail/disable-common.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc ** Note: you can use --noprofile to disable default.profile ** Parent pid 14585, child pid 14586 Child process initialized in 13.52 ms execv error: No such file or directory Parent is shutting down, bye... ```
Author
Owner

@rusty-snake commented on GitHub (Jul 28, 2020):

Then you must write a profile for it or request one in #1139.

<!-- gh-comment-id:664999026 --> @rusty-snake commented on GitHub (Jul 28, 2020): Then you must write a profile for it or request one in #1139.
Author
Owner

@tjerry commented on GitHub (Jul 29, 2020):

OK, I think I've got it now.
The app didn't start, because the default profile was too restrictive.

I've created a simple profile in ~/.config/firejail/clickup.profile.

#include disable-common.inc
#include disable-devel.inc
#include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc

disable-mnt
private ~/[my private dir]
#private-cwd

#seccomp
#nonewprivs

The appimage file has to be inside private directory.
And I run it like this:
$ firejail --profile=clickup ./clickup.AppImage

I would mark this thread as solved, however:

  1. I'm wandering why the --appimage switch doesn't work?

The following two commands end in an error.
$ firejail --profile=clickup --appimage ./clickup.AppImage
or
$ firejail --profile=clickup --appimage clickup.AppImage

Reading profile /home/static/.config/firejail/clickup.profile
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Error: cannot access AppImage file
  1. And what difference does the --appimage switch make.? Except for what is mentioned in the man page - "If the sandbox is started as a regular user, nonewprivs and a default capabilities filter are enabled".
<!-- gh-comment-id:665538735 --> @tjerry commented on GitHub (Jul 29, 2020): OK, I think I've got it now. The app didn't start, because the default profile was too restrictive. I've created a simple profile in `~/.config/firejail/clickup.profile`. ``` #include disable-common.inc #include disable-devel.inc #include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc disable-mnt private ~/[my private dir] #private-cwd #seccomp #nonewprivs ``` The appimage file has to be inside private directory. And I run it like this: `$ firejail --profile=clickup ./clickup.AppImage` I would mark this thread as solved, however: 1) I'm wandering why the `--appimage` switch doesn't work? The following two commands end in an error. `$ firejail --profile=clickup --appimage ./clickup.AppImage` or `$ firejail --profile=clickup --appimage clickup.AppImage` ``` Reading profile /home/static/.config/firejail/clickup.profile Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc Error: cannot access AppImage file ``` 2) And what difference does the `--appimage` switch make.? Except for what is mentioned in the man page - "_If the sandbox is started as a regular user, nonewprivs and a default capabilities filter are enabled_".
Author
Owner

@rusty-snake commented on GitHub (Jul 29, 2020):

  1. Because clickup.AppImage is not in ., you need to give it the full path.
<!-- gh-comment-id:665543110 --> @rusty-snake commented on GitHub (Jul 29, 2020): 1. Because clickup.AppImage is not in `.`, you need to give it the full path.
Author
Owner

@tjerry commented on GitHub (Jul 29, 2020):

1. Because clickup.AppImage is not in `.`, you need to give it the full path.

Full private path:

$ firejail --profile=clickup --appimage /home/static/clickup.AppImage
Reading profile /home/static/.config/firejail/clickup.profile
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Error: cannot access AppImage file

Full real path:

$ firejail --profile=clickup --appimage /home/static/Temp/private_home/clickup/clickup.AppIage
Reading profile /home/static/.config/firejail/clickup.profile
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Mounting appimage type 2
Error mounting appimage: appimage.c:122 appimage_set: No such device
<!-- gh-comment-id:665562692 --> @tjerry commented on GitHub (Jul 29, 2020): > 1. Because clickup.AppImage is not in `.`, you need to give it the full path. Full private path: ``` $ firejail --profile=clickup --appimage /home/static/clickup.AppImage Reading profile /home/static/.config/firejail/clickup.profile Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc Error: cannot access AppImage file ``` Full real path: ``` $ firejail --profile=clickup --appimage /home/static/Temp/private_home/clickup/clickup.AppIage Reading profile /home/static/.config/firejail/clickup.profile Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc Mounting appimage type 2 Error mounting appimage: appimage.c:122 appimage_set: No such device ```
Author
Owner

@rusty-snake commented on GitHub (Jul 29, 2020):

Full real path:
Error mounting appimage: appimage.c:122 appimage_set: No such device

Can you try an other AI. If this happens with the other AI too, it is something with your systemconfig (modprobe blacklist?).

<!-- gh-comment-id:665564928 --> @rusty-snake commented on GitHub (Jul 29, 2020): > Full real path: > Error mounting appimage: appimage.c:122 appimage_set: No such device Can you try an other AI. If this happens with the other AI too, it is something with your systemconfig (modprobe blacklist?).
Author
Owner

@tjerry commented on GitHub (Jul 30, 2020):

Full real path:
Error mounting appimage: appimage.c:122 appimage_set: No such device

Can you try an other AI. If this happens with the other AI too, it is something with your systemconfig (modprobe blacklist?).

I had no squashfs compiled into the kernel and firejail was unable to mount the images.
Problem solved.
Thank you.

<!-- gh-comment-id:666258250 --> @tjerry commented on GitHub (Jul 30, 2020): > > Full real path: > > Error mounting appimage: appimage.c:122 appimage_set: No such device > > Can you try an other AI. If this happens with the other AI too, it is something with your systemconfig (modprobe blacklist?). I had no squashfs compiled into the kernel and firejail was unable to mount the images. Problem solved. Thank you.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#2229
No description provided.