Instead of trying to get Steam to write outside of its sandbox, I would configure the OS to search Steam's files for application launchers.
Your system searches "data" directories for directories called applications
, and loads .desktop
files from there. You can customize locations for data directories using the XDG_DATA_DIRS
environment variable. See https://unix.stackexchange.com/a/492878
In this case you want to set XDG_DATA_DIRS
to include ~/.var/app/com.valvesoftware.Steam/.local/share
because that is the parent of the applications
directory.
I think you'll want to include the default data dirs so you don't lose your other launchers. So something like,
export XDG_DATA_DIRS="/usr/local/share/:/usr/share/:$HOME/.var/app/com.valvesoftware.Steam/.local/share"
If I'm understanding the spec correctly you don't need to include ~/.local/share
because that is the default path for XDG_DATA_HOME
which is always searched, and XDG_DATA_DIRS
specifies additional paths to search.