Hello @davidebeatrici, this issue report is based on a false assumption. Valve's Steam packaging does not create ~/Steam. The Valve Steam system packaging bootstraps the Steam client to ~/.local/share/Steam and the logs folder is one level deeper (~/.local/share/Steam/logs). There's also a Debian variant of the Steam package which bootstraps the Steam client into ~/.steam/debian-installation. It's possible that your Distribution has added a convenience symlink from ~/Steam to the Steam install folder, but that's outside of Valve's control and would need to be discussed with your distro's package maintainer for Steam.
About the Debian variant: https://salsa.debian.org/games-team/steam-installer/-/blob/6da8a02b2ceca5e3fdcd8aca579d7d6fa8f5818d/debian/scripts/steam.in
# This is a new installation, so use a distinct directory to avoid
# file collisions. Valve would use $XDG_DATA_HOME/Steam here.
# Debian uses a subdirectory of ~/.steam, to avoid having a mixture
# of XDG basedirs and traditional dotfiles in the same application.
STEAMDIR="$HOME/.steam/debian-installation"
There are indeed inconsistencies between the various distributions.
However, your launch script (steam.sh) creates .steam and the symlinks inside it:
# common variables for later
# We use ${HOME%/}/.steam for bootstrap symlinks so that we can easily
# tell partners where to go to find the Steam libraries and data.
# This is constant so that legacy applications can always find us in the future.
STEAMCONFIG="${HOME%/}/.steam" # Drop tailing slash in home folder if it exists.
PIDFILE="$STEAMCONFIG/steam.pid" # pid of running steam for this user
STEAMBIN32LINK="$STEAMCONFIG/bin32"
STEAMBIN64LINK="$STEAMCONFIG/bin64"
STEAMSDK32LINK="$STEAMCONFIG/sdk32" # 32-bit steam api library
STEAMSDK64LINK="$STEAMCONFIG/sdk64" # 64-bit steam api library
STEAMROOTLINK="$STEAMCONFIG/root" # points at the Steam install path for the currently running Steam
STEAMDATALINK="`detect_steamdatalink`" # points at the Steam content path
STEAMSTARTING="$STEAMCONFIG/starting"
And the binary itself relies on ~/.steam for pretty much everything.
As for ~/Steam: is it perhaps used as fallback path?
As for
~/Steam: is it perhaps used as fallback path?
No, and historically it never has.
Alright, I guess it was a leftover then. Sorry.
I updated the issue's message to clarify.
Looks like the environment variable is actually taken into account, but only for specific files.
For now I have only spotted controller.txt.
Please note, though, that the path is relative (i.e. appended to ~/.steam). Not very useful.
Nothing extracted yet.
Right now the log file is created at
~/.steam/logs/bootstrap_log.txt.With the symlink(s) created by the official Valve package the path should resolve to
~/.local/share/Steam/logs/bootstrap_log.txt, which is not bad.However, it would be nice to be able to customize it. For example:
/tmp/steam_logs/bootstrap_log.txt.The Steam binary already looks for an environment variable called
STEAM_CLIENT_LOG_FOLDER, but it does not appear to have any effect right now.Related: #1890 #9345