[GH-ISSUE #3528] discord profile does not work when user is using the fish shell #2218

Closed
opened 2026-05-05 08:54:15 -06:00 by gitea-mirror · 1 comment
Owner

Originally created by @4e554c4c on GitHub (Jul 19, 2020).
Original GitHub issue: https://github.com/netblue30/firejail/issues/3528

Bug and expected behavior

Bug

When running discord with firejail discord the error execvp: No such file or directory is reported.
When running with --debug, it seems that immediately before firejail is running the syscall execvp("/usr/bin/fish", ["/usr/bin/fish", "-c", "'discord'"]) which then fails.

Expected behavior

Command line is run under an allowed shell such as bash or $SHELL is added to the allowlist.

Solution

Runs fine with env SHELL=bash firejail discord

Reproduction

  1. Install fish
  2. Run env SHELL=fish firejail --debug discord

Log

seccomp filter configured
Mounting read-only /run/firejail/mnt/seccomp
Dropping all capabilities
noroot user namespace installed
Dropping all capabilities
NO_NEW_PRIVS set
Drop privileges: pid 1, uid 1000, gid 1000, nogroups 1
No supplementary groups
starting application
LD_PRELOAD=(null)
Running 'discord'  command through /usr/bin/fish
execvp argument 0: /usr/bin/fish
execvp argument 1: -c
execvp argument 2: 'discord' 
Child process initialized in 226.40 ms
Installing /run/firejail/mnt/seccomp/seccomp seccomp filter
Installing /run/firejail/mnt/seccomp/seccomp.32 seccomp filter
Installing /run/firejail/mnt/seccomp/seccomp.protocol seccomp filter
execvp: No such file or directory
monitoring pid 34

Sandbox monitor: waitpid 34 retval 34 status 256

Parent is shutting down, bye...
Originally created by @4e554c4c on GitHub (Jul 19, 2020). Original GitHub issue: https://github.com/netblue30/firejail/issues/3528 ## Bug and expected behavior ### Bug When running discord with `firejail discord` the error `execvp: No such file or directory` is reported. When running with `--debug`, it seems that immediately before firejail is running the syscall `execvp("/usr/bin/fish", ["/usr/bin/fish", "-c", "'discord'"])` which then fails. ### Expected behavior Command line is run under an allowed shell such as `bash` or `$SHELL` is added to the allowlist. ## Solution Runs fine with `env SHELL=bash firejail discord` ## Reproduction 1. Install fish 2. Run `env SHELL=fish firejail --debug discord` ## Log ``` seccomp filter configured Mounting read-only /run/firejail/mnt/seccomp Dropping all capabilities noroot user namespace installed Dropping all capabilities NO_NEW_PRIVS set Drop privileges: pid 1, uid 1000, gid 1000, nogroups 1 No supplementary groups starting application LD_PRELOAD=(null) Running 'discord' command through /usr/bin/fish execvp argument 0: /usr/bin/fish execvp argument 1: -c execvp argument 2: 'discord' Child process initialized in 226.40 ms Installing /run/firejail/mnt/seccomp/seccomp seccomp filter Installing /run/firejail/mnt/seccomp/seccomp.32 seccomp filter Installing /run/firejail/mnt/seccomp/seccomp.protocol seccomp filter execvp: No such file or directory monitoring pid 34 Sandbox monitor: waitpid 34 retval 34 status 256 Parent is shutting down, bye... ```
Author
Owner

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

Should be fixed, thanks for the report.

<!-- gh-comment-id:660828804 --> @rusty-snake commented on GitHub (Jul 20, 2020): Should be fixed, thanks for the report.
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#2218
No description provided.