Steam big picture "Turn Off System" fails

Hi everyone,

First off, I’m using Fedora 35. I want to use Fedora + Steam Big Picture mode [SBP] to game from my couch and be able to shutdown the system without needing to grab my keyboard. I have nvidia graphics and I’m using the latest version of the driver from negativo17 [and x11]. I am using the steam package from rpmfusion.

When I select “Turn Off System” from the options in SBP, nothing happens. I decided to open steam in a terminal and monitor the output, and I found that when I push the button, it throws

Failed to open connection to "system" message bus: Failed to connect to socket 

/home/aria/anaconda3/var/run/dbus/system_bus_socket: No such file or directory

So, naturally I tried to run it with system python [after using conda deactivate] – and it worked! Now I’m confused as to why Steam is using anaconda [I still want to use anaconda in terminals…], and I don’t know how to get it to do so by default [the .desktop file]. Any help is appreciated.

How did you install Steam, and how did you install Anaconda?

I have steam installed from rpmfusion, so I did

sudo dnf install steam

For anaconda I’m unsure if there is another way to install, but I downloaded the .sh installer from their website and ran

bash anaconda_installer.sh

and I said ‘yes’ to ‘Do you wish the installer to initialize Anaconda3 by running conda init?’
I installed anaconda first, as I use this computer for work before realizing I could game on it too.

Why did you feel you needed to install anaconda from some other source? Fedora includes anaconda in its distro.

My guess would be that by installing anaconda from outside fedora you messed up the anaconda already installed.

What do you see if you run dnf list installed \*conda*? Post that here please.

This is what I have on my fedora 35 system

$ dnf list installed *conda*
Installed Packages
anaconda.x86_64                                                35.22.2-4.fc35                                               @updates
anaconda-core.x86_64                                           35.22.2-4.fc35                                               @updates
anaconda-gui.x86_64                                            35.22.2-4.fc35                                               @updates
anaconda-install-env-deps.x86_64                               35.22.2-4.fc35                                               @updates
anaconda-live.x86_64                                           35.22.2-4.fc35                                               @updates
anaconda-tui.x86_64                                            35.22.2-4.fc35                                               @updates
anaconda-user-help.noarch                                      26.1-14.fc35                                                 @fedora 
anaconda-widgets.x86_64                                        35.22.2-4.fc35                                               @updates
kdump-anaconda-addon.noarch                                    006-3.20201128git4ba507e.fc35                                @fedora 
libreport-anaconda.x86_64                                      2.15.2-8.fc35                                                @updates

You are confusing Anaconda the installer with Anaconda the data science distribution. Anaconda the data science distribution is proprietary and not included in Fedora repos.

This will have changed either ~/.bash_profile or ~/.bashrc to add Anaconda to the PATH; can you see which one it was?

Confusing when the same name is used for different products and the person asking the question is not clear on what is being asked.

it changed .bashrc it appears.

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/aria/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/aria/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/aria/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/aria/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

To Jeff, I apologize for not being clear that I’m discussing the python anaconda, not fedora’s installer. It’s easy to forget that they are called the same thing.

Really, I guess I’m wondering if it’s possible for applications to be forced to use system python instead of anaconda python without changing the fact that when I open a terminal (to run code), anaconda is the default python.

If an app is installed in a python virtual environment as it seems your Anaconda may be, then launching it is in the virtual environment and mostly independent from the system environment. I have experience in that fact with using octoprint on my rpi4 on Ubuntu.

When you launch the app the way you posted it seems to have created a venv during the install so the python bits it needs are all there in the venv.

Installing steam with dnf from the rpmfusion repo does the same thing. Steam creates its own environment under which it runs.

I have not tried steam since I upgraded from F34 to F36 (still beta) but steam worked well under 34 and does its own updates each time launched.

For open source projects, system packages do modify usage to be explicit /usr/bin/python3, but Steam isn’t, so it will find python in PATH. There is no virtual environment involved here.

You can modify the path that Steam sees by:

  1. copying /usr/share/applications/steam.desktop to ~/.local/share/applications, then
  2. modifying the Exec line to modify the execution in a way that works.

I think a reasonable default path would be /usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin. So set Exec to:

Exec=env PATH=/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin /usr/bin/steam %U

That’s perfect, thank you so much!