protonscr

Steam client says that it should be installed into the home directory instead of /usr but my home is under /usr

steamclosed
ValveSoftware/steam-for-linux#10868 · opened 2024-05-09 by ttyv1 · updated 2024-05-10 · 2 comments · github
Tttyv1 2024-05-09 github

Your system information

  • Steam client version (build number or date): How do I check the version if it refuse to launch?
  • Distribution (e.g. Ubuntu): Debian GNU/Linux 11
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: Matrox

Please describe your issue in as much detail as possible:

Steam client refuse to launch, complaining:

steam.sh[390721]: Error: Steam is intended to install into your home directory, typically
~/.local/share/Steam. It cannot be installed below /usr.

My Steam client has been automatically installed into the default location of $HOME/.local/share/Steam. Since I didn't customize the installation location, it refuse to launch from the default installation, is unreasonable.

My system was configured to create home directories under /usr/home:

$ grep ^DHOME= /etc/adduser.conf 
DHOME=/usr/home
$ echo "$HOME"
/usr/home/backup

Steps for reproducing this issue:

  1. Have the home directory under /usr
  2. Try to install and launch Steam client
Kkisak-valve maintainer 2024-05-09 github

Hello @ttyv1, Steam needs to setup a Steam Linux Runtime container environment to run its web component. There's some folders which that can't sanely support, including anything under /usr (https://github.com/ValveSoftware/steam-runtime/blob/master/doc/steamlinuxruntime-known-issues.md#usrlocal). Steam is accurately telling you that it can't support your choice to have your home folder under /usr.

If you want to use Steam, reconfigure your user's home folder to be elsewhere in the filesystem tree or use a different local user without that restriction. /home/username is common.

Tttyv1 2024-05-10 github

The /usr/home directory is a mount point for a separated ZFS for storing home directories:

$ zfs list rpool/usr/home
NAME             USED  AVAIL     REFER  MOUNTPOINT
rpool/usr/home  2.71G   215G     2.71G  /usr/home

and for /home, it is symbolic link points to usr/home.

I understands now that the actual limitation is the Steam's pressure vessel doesn't support binding any user data under /usr. Since I want to keep my home directory in original place, and apparently the Steam client stores local data only in its installation directory, moving the Steam installation somewhere else should workaround this. How to do this correctly? Should I simply move .local/share/Steam into /opt/, then run /opt/Steam/steam.sh instead?

Nothing extracted yet.