[GH-ISSUE #6386] steam: Steam beta won't start (dbus) #3257

Closed
opened 2026-05-05 09:51:54 -06:00 by gitea-mirror · 4 comments
Owner

Originally created by @nutta-git on GitHub (Jun 17, 2024).
Original GitHub issue: https://github.com/netblue30/firejail/issues/6386

Description

With firejail's default profile, steam beta won't start

Steps to Reproduce

ln -s /usr/bin/firejail /usr/local/bin/steam-runtime
ln -s /usr/bin/firejail /usr/local/bin/steam
firecfg --fix
cd ~/.config/firejail/
curl -O https://raw.githubusercontent.com/netblue30/firejail/master/etc/profile-m-z/steam.profile

Then start steam from the terminal.

Expected behavior

Steam should start

Actual behavior

Steam doesn't start

Behavior without a profile

steam starts normally

Additional context

I wasn't able to get a error message with the default profile, but
with my custom profile: https://gist.github.com/nutta-git/6e1496525ab1a8806421d2fd63d7b092
I was able to get an error in terminal:
steamerror
It seems like a dbus error, so I changed:

#dbus-user none to dbus-user none in the default profile and was able to start steam normally.

Environment

  • Arch Linux
  • firejail version 0.9.73
  • firejail-git 0.9.72.r1056.gb89ec8189-1
    steamversion

Checklist

  • The issues is caused by firejail (i.e. running the program by path (e.g. /usr/bin/vlc) "fixes" it).
  • I can reproduce the issue without custom modifications (e.g. globals.local).
  • The program has a profile. (If not, request one in https://github.com/netblue30/firejail/issues/1139)
  • The profile (and redirect profile if exists) hasn't already been fixed upstream.
  • I have performed a short search for similar issues (to avoid opening a duplicate).
    • I'm aware of browser-allow-drm yes/browser-disable-u2f no in firejail.config to allow DRM/U2F in browsers.
  • I used --profile=PROFILENAME to set the right profile. (Only relevant for AppImages)

Log

Output of LC_ALL=C firejail /path/to/program

output goes here

Output of LC_ALL=C firejail --debug /path/to/program

https://gist.github.com/nutta-git/3ad61db30cfe62e00a39f86211ae2f3f

Originally created by @nutta-git on GitHub (Jun 17, 2024). Original GitHub issue: https://github.com/netblue30/firejail/issues/6386 ### Description With firejail's default profile, steam beta won't start ### Steps to Reproduce ```sh ln -s /usr/bin/firejail /usr/local/bin/steam-runtime ln -s /usr/bin/firejail /usr/local/bin/steam firecfg --fix cd ~/.config/firejail/ curl -O https://raw.githubusercontent.com/netblue30/firejail/master/etc/profile-m-z/steam.profile ``` Then start steam from the terminal. ### Expected behavior Steam should start ### Actual behavior Steam doesn't start ### Behavior without a profile steam starts normally ### Additional context I wasn't able to get a error message with the default profile, but with my custom profile: https://gist.github.com/nutta-git/6e1496525ab1a8806421d2fd63d7b092 I was able to get an error in terminal: ![steamerror](https://github.com/netblue30/firejail/assets/59726608/4eb292e3-2ddf-4f7e-83f2-bdce7b4580a7) It seems like a dbus error, so I changed: `#dbus-user none` to `dbus-user none` in the default profile and was able to start steam normally. ### Environment - Arch Linux - [firejail](https://aur.archlinux.org/packages/firejail-git) version 0.9.73 - firejail-git 0.9.72.r1056.gb89ec8189-1 ![steamversion](https://github.com/netblue30/firejail/assets/59726608/35cfb472-0f3c-4b0a-94c8-9ac57f1b55b6) ### Checklist <!-- Note: Items are checked with an "x", like so: - [x] This is a checked item. --> - [x] The issues is caused by firejail (i.e. running the program by path (e.g. `/usr/bin/vlc`) "fixes" it). - [x] I can reproduce the issue without custom modifications (e.g. globals.local). - [x] The program has a profile. (If not, request one in `https://github.com/netblue30/firejail/issues/1139`) - [x] The profile (and redirect profile if exists) hasn't already been fixed [upstream](https://github.com/netblue30/firejail/tree/master/etc). - [x] I have performed a short search for similar issues (to avoid opening a duplicate). - [ ] I'm aware of `browser-allow-drm yes`/`browser-disable-u2f no` in `firejail.config` to allow DRM/U2F in browsers. - [ ] I used `--profile=PROFILENAME` to set the right profile. (Only relevant for AppImages) ### Log <details> <summary>Output of <code>LC_ALL=C firejail /path/to/program</code></summary> <p> ``` output goes here ``` </p> </details> <details> <summary>Output of <code>LC_ALL=C firejail --debug /path/to/program</code></summary> <p> <!-- If the output is too long to embed it into the comment, create a secret gist at https://gist.github.com/ and link it here. --> ``` https://gist.github.com/nutta-git/3ad61db30cfe62e00a39f86211ae2f3f ``` </p> </details>
gitea-mirror 2026-05-05 09:51:54 -06:00
  • closed this issue
  • added the
    needinfo
    label
Author
Owner

@nutta-git commented on GitHub (Jun 19, 2024):

I think I found the issue:
I was starting plasma desktop via .bash_profile, following the guide found here. Its recommended to start plasma via
dbus-run-session startplasma-wayland
However, that seems to causing issues with the way firejail handles dbus permission, if you are using systemd's init system.
I don't know if this is a correct explanation, but it seems to make sense.

<!-- gh-comment-id:2178327147 --> @nutta-git commented on GitHub (Jun 19, 2024): I think I found the issue: I was starting plasma desktop via .bash_profile, following the guide found [here](https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland). Its recommended to start plasma via `dbus-run-session startplasma-wayland` However, that seems to causing issues with the way firejail handles dbus permission, if you are using systemd's init [system](https://wiki.archlinux.org/title/Mkinitcpio#Runtime_hooks). I don't know if this is a correct explanation, but it seems to make sense.
Author
Owner

@kmk3 commented on GitHub (Jun 19, 2024):

@nutta-git on Jun 17:

ln -s /usr/bin/firejail /usr/local/bin/steam-runtime
ln -s /usr/bin/firejail /usr/local/bin/steam
firecfg --fix
cd ~/.config/firejail/
curl -O https://raw.githubusercontent.com/netblue30/firejail/master/etc/profile-m-z/steam.profile

Note that steam includes other profiles which may also have changed, so mixing
and matching profiles from firejail versions could lead to other issues.

It's recommended to install firejail-git from the AUR instead.

Example:

sudo firecfg --clean
yay -S firejail-git
sudo firecfg

Also, please add the log in text (rather than image) form.

If it's too large you can put it in a gist.

@nutta-git on Jun 19:

I think I found the issue: I was starting plasma desktop via .bash_profile,
following the guide found
here.
Its recommended to start plasma via dbus-run-session startplasma-wayland
However, that seems to causing issues with the way firejail handles dbus
permission, if you are using systemd's init
system. I don't
know if this is a correct explanation, but it seems to make sense.

So it works now?

If so, what was changed to make it work?

What is the path to the dbus socket?

<!-- gh-comment-id:2178638275 --> @kmk3 commented on GitHub (Jun 19, 2024): @nutta-git [on Jun 17](https://github.com/netblue30/firejail/issues/6386#issue-2356159143): > ```shell > ln -s /usr/bin/firejail /usr/local/bin/steam-runtime > ln -s /usr/bin/firejail /usr/local/bin/steam > firecfg --fix > cd ~/.config/firejail/ > curl -O https://raw.githubusercontent.com/netblue30/firejail/master/etc/profile-m-z/steam.profile > ``` Note that steam includes other profiles which may also have changed, so mixing and matching profiles from firejail versions could lead to other issues. It's recommended to install firejail-git from the AUR instead. Example: ```sh sudo firecfg --clean yay -S firejail-git sudo firecfg ``` Also, please add the log in text (rather than image) form. If it's too large you can put it in a gist. @nutta-git [on Jun 19](https://github.com/netblue30/firejail/issues/6386#issuecomment-2178327147): > I think I found the issue: I was starting plasma desktop via .bash_profile, > following the guide found > [here](https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland). > Its recommended to start plasma via `dbus-run-session startplasma-wayland` > However, that seems to causing issues with the way firejail handles dbus > permission, if you are using systemd's init > [system](https://wiki.archlinux.org/title/Mkinitcpio#Runtime_hooks). I don't > know if this is a correct explanation, but it seems to make sense. So it works now? If so, what was changed to make it work? What is the path to the dbus socket?
Author
Owner

@nutta-git commented on GitHub (Jun 19, 2024):

@kmk3
Hi,

Note that steam includes other profiles which may also have changed

steam-runtime only redirects to steam.profile (I think)
I am linking both steam-runtime and steam to firejail, because app launchers (rofi, wofi ... ) can't unify steam and steam-runtime to the same entity (steam).

It's recommended to install firejail-git from the AUR instead.

I was, please view my Environment.

Also, please add the log in text (rather than image) form.

Sorry about that, but I do have a gist log for the default profile .

So it works now?

Yup

If so, what was changed to make it work?

In my .bash_profile I changed:

[ "$(tty)" = "/dev/tty1" ] && exec dbus-run-session startplasma-wayland

to

[ "$(tty)" = "/dev/tty1" ] && exec startplasma-wayland

What is the path to the dbus socket?

How would I go about finding this out for you? (chatgpt isn't providing much help)

<!-- gh-comment-id:2178798573 --> @nutta-git commented on GitHub (Jun 19, 2024): @kmk3 Hi, > Note that steam includes other profiles which may also have changed steam-runtime only [redirects](https://github.com/netblue30/firejail/blob/master/etc/profile-m-z/steam-runtime.profile) to steam.profile (I think) I am linking both steam-runtime and steam to firejail, because app launchers (rofi, wofi ... ) can't unify steam and steam-runtime to the same entity (steam). > It's recommended to install firejail-git from the AUR instead. I was, please view my Environment. >Also, please add the log in text (rather than image) form. Sorry about that, but I do have a gist log for the default profile . >So it works now? Yup >If so, what was changed to make it work? In my .bash_profile I changed: ```sh [ "$(tty)" = "/dev/tty1" ] && exec dbus-run-session startplasma-wayland ``` to ```sh [ "$(tty)" = "/dev/tty1" ] && exec startplasma-wayland ``` >What is the path to the dbus socket? How would I go about finding this out for you? (chatgpt isn't providing much help)
Author
Owner

@kmk3 commented on GitHub (Jun 23, 2024):

@nutta-git on Jun 19:

It's recommended to install firejail-git from the AUR instead.

I was, please view my Environment.

Sorry; I got confused by the curl command.

Note that you can just copy the locally installed profiles. Example:

cp /etc/firejail/steam.profile ~/.config/firejail/

So it works now?

Yup

If so, what was changed to make it work?

In my .bash_profile I changed:

[ "$(tty)" = "/dev/tty1" ] && exec dbus-run-session startplasma-wayland

to

[ "$(tty)" = "/dev/tty1" ] && exec startplasma-wayland

Interesting.

I'm not very familiar with dbus (nor dbus-run-session), but I think that
dbus-launch is the command usually used for this. dbus-launch(1) even has
examples that start DE sessions:

dbus-launch(1) examples

EXAMPLES
       Distributions running dbus-launch as part of a standard X session
       should run dbus-launch --exit-with-session after the X server has
       started and become available, as a wrapper around the "main" X client
       (typically a session manager or window manager), as in these examples:

       dbus-launch --exit-with-session gnome-session

       dbus-launch --exit-with-session openbox

       dbus-launch --exit-with-session ~/.xsession

       If your distribution does not do this, you can achieve similar results
       by running your session or window manager in the same way in a script
       run by your X session, such as ~/.xsession, ~/.xinitrc or ~/.Xclients.

       To start a D-Bus session within a text-mode session, do not use
       dbus-launch. Instead, see dbus-run-session(1).

             ## test for an existing bus daemon, just to be safe
             if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
                 ## if not found, launch a new one
                 eval `dbus-launch --sh-syntax`
                 echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
             fi

       Note that in this case, dbus-launch will exit, and dbus-daemon will not
       be terminated automatically on logout.

Though it could be different for wayland.

What is the path to the dbus socket?

How would I go about finding this out for you? (chatgpt isn't providing much
help)

It's usually part of the DBUS_SESSION_BUS_ADDRESS environment variable.

Try this:

env | LC_ALL=C sort | grep -i dbus

From the error in the image it looks like something is failing to find/access
the socket.

What is the output of the following commands?

ls -l "$DBUS_SESSION_BUS_ADDRESS"
firejail --profile=steam ls -l "$DBUS_SESSION_BUS_ADDRESS"
<!-- gh-comment-id:2185258355 --> @kmk3 commented on GitHub (Jun 23, 2024): @nutta-git [on Jun 19](https://github.com/netblue30/firejail/issues/6386#issuecomment-2178798573): > > It's recommended to install firejail-git from the AUR instead. > > I was, please view my Environment. Sorry; I got confused by the curl command. Note that you can just copy the locally installed profiles. Example: ```sh cp /etc/firejail/steam.profile ~/.config/firejail/ ``` > > So it works now? > > Yup > > > If so, what was changed to make it work? > > In my .bash_profile I changed: > > ```shell > [ "$(tty)" = "/dev/tty1" ] && exec dbus-run-session startplasma-wayland > ``` > > to > > ```shell > [ "$(tty)" = "/dev/tty1" ] && exec startplasma-wayland > ``` Interesting. I'm not very familiar with dbus (nor `dbus-run-session`), but I think that `dbus-launch` is the command usually used for this. dbus-launch(1) even has examples that start DE sessions: <details> <summary>dbus-launch(1) examples</summary> <p> ``` EXAMPLES Distributions running dbus-launch as part of a standard X session should run dbus-launch --exit-with-session after the X server has started and become available, as a wrapper around the "main" X client (typically a session manager or window manager), as in these examples: dbus-launch --exit-with-session gnome-session dbus-launch --exit-with-session openbox dbus-launch --exit-with-session ~/.xsession If your distribution does not do this, you can achieve similar results by running your session or window manager in the same way in a script run by your X session, such as ~/.xsession, ~/.xinitrc or ~/.Xclients. To start a D-Bus session within a text-mode session, do not use dbus-launch. Instead, see dbus-run-session(1). ## test for an existing bus daemon, just to be safe if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then ## if not found, launch a new one eval `dbus-launch --sh-syntax` echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS" fi Note that in this case, dbus-launch will exit, and dbus-daemon will not be terminated automatically on logout. ``` </p> </details> Though it could be different for wayland. > > What is the path to the dbus socket? > > How would I go about finding this out for you? (chatgpt isn't providing much > help) It's usually part of the `DBUS_SESSION_BUS_ADDRESS` environment variable. Try this: ```sh env | LC_ALL=C sort | grep -i dbus ``` From the error in the image it looks like something is failing to find/access the socket. What is the output of the following commands? ```sh ls -l "$DBUS_SESSION_BUS_ADDRESS" firejail --profile=steam ls -l "$DBUS_SESSION_BUS_ADDRESS" ```
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#3257
No description provided.