protonscr

steam.destkop Exec key contains hard-coded path

steamclosed
ValveSoftware/steam-for-linux#6398 · opened 2019-07-17 by fenuks · updated 2025-06-15 · 7 comments · github
Ffenuks 2019-07-17 github
  • Steam client version (build number or date): 1.0.0.61
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Hello, provided steam.desktop files Exec command contains hard-coded binary (i.e. with full path), which is problematic if user wants to, for example, run steam in sandbox (tools like firejail create symlink in /usr/local/bin/ directory. Could you please consider changing Exec key to juststeam %U?

Steps for reproducing this issue:

$ sudo ln -s /usr/bin/firejail /usr/local/bin/steam
# run desktop file, exo-open is provided shipped with XFCE, other option is to use graphical launcher
$ exo-open /usr/share/applications/steam.desktop
# steam is run without sandbox because of hard-coded path in desktop file
Ddreamer 2019-07-17 github

Just checked and, to my surprise, steam.desktop on Fedora (rpm package from rpmfusion) also has absolute path in Exec (one of very few packages to use a path in there).

Bbraiam 2019-07-20 github

According to the specification it's allowed both ways, but in most cases this wouldn't help since /usr/local/bin usually have preferences in the $PATH (it appears first). Please check with echo $PATH.

In Debian, the steam binary is in /usr/games instead. This issue may be two steps. Arch should move steam binary to a directory later in the path and the desktop file should have the non-full path specified.

BTW, other exec entries like Store uses the name of the executable.

Ffenuks 2019-07-20 github

You are correct that specification allows absolute paths to binary in Exec keys, but I think that you misunderstand reasons behind my request.

Absolute path to /usr/bin/steam in fact forbids me from having my shell wrapper around the steam binary put in /usr/local/bin/steam to do extra stuff while launching the Steam. In my case, I would like to run it in sandbox, and utility I use, firejal, creates new executable in local bin. Unfortunately, due to hard-coded path, launching Steam via desktop file results in running Steam without sandbox.

Bbraiam 2019-07-23 github

@fenuks I know what your request is about, I'm just informing that it's not a blocker issue. In the last paragraph I note that other lines doesn't use the full path.

55long 2023-12-13 github

kisak-valve assigned ghost on Jul 18, 2019

@kisak-valve would you mind fixing this or assigning it to a different person? Previous assignee deleted their account.

TTTimo 2025-06-09 github

Hello,

Release 1.0.0.83 of the installer updates steam.desktop to use absolute paths more consistently. We felt this was the most appropriate way to maintain reliable functionality for users.

In order to support more advanced setups, we have detailed alternate solutions in the release notes that allow you to replace or override steam.desktop with a custom version: Moderator edit: See steam-launcher/debian/changelog in https://repo.steampowered.com/steam/archive/stable/steam_1.0.0.83.tar.gz for the previously linked details.

Ffenuks 2025-06-15 github

Thank you for taking time to describe how to override default locations in changelog. ;)