如何使用 Ubuntu 18.04 将 Steam 游戏安装到外部驱动器/挂载点?(找到解决方案)

如何使用 Ubuntu 18.04 将 Steam 游戏安装到外部驱动器/挂载点?(找到解决方案)

针对此问题给出了一个可能的解决方案

我是 Ubuntu 新手,我渴望从我的电脑上彻底删除 Windows。但我遇到了一个问题。

我已经在运行 Ubuntu 18.04 的电脑上安装了 Steam,但我却无法将游戏安装到另一个硬盘上。

我已经检查过 steam 设置并尝试手动更改位置,但它将我的安装点限制在目录中/home/someuser。(它不允许我访问计算机的其他区域。)

我甚至尝试过挂载驱动器/home/someuser(使用正确的读写权限参数)。它没有显示在 Steam 中。因此,我尝试通过 Steam 安装界面创建相同的目录。我可以创建一个与驱动器挂载到的同名文件夹位置,但它仍然显示它正在保存到安装 Linux 版本的驱动器(而不是挂载的驱动器)。

我也尝试过手动将我创建的挂载点/media/steamgames(我将其中一个挂载点命名为)添加到 Steam。我收到读/写权限错误。(但我将挂载点的权限更改为 777,并将所有权授予我的someuser

我尝试安装的两个驱动器都格式化为ext4。此外,我还尝试通过它进行永久安装/etc/fstab(但也没有成功)。

将文件夹挂载到主文件夹中

当我尝试添加文件夹时,所有可用的文件夹都是主目录中的文件夹。当我尝试添加与已安装驱动器同名的文件夹或添加点时/media,出现此错误:

failed to create a folder, this drive is read-only.

以下是我所做的修改/etc/fstab

#Entry for /dev/sdd1
UUID=ebd692b7-333f-4c60-9031-624a97b07b5d /media/Steam ext4 rw,users,exec,auto 0 0

  #Entry for /dev/sdc2 :
  UUID=0d688471-2966-4fe7-af74-d639e83f224b /home/cory/1.0TB-Hard-Disk         ext4 rw,users,exec,auto 0 0

在我的主目录中执行 LS -la

cory@Cory-MS-7A38:~$ ls -la
total 208
drwxr-xr-x 31 cory cory  4096  四  16 20:36 .
drwxr-xr-x  3 root root  4096  一  13 14:09 ..
drwxrwxrwx  4 cory cory  4096  四  15 22:21 1.0TB-Hard-Disk

这是我在 Steam 图库中看到的图片。如前所述,我已经尝试添加我安装到 /home/cory/1.0TB-Hard-Disk 的驱动器。但显然出了问题,因为它只有 3GB 的空间。

答案1

最终我找到了问题的原因。

Steam(或者至少是我的 Steam 版本)是通过 Flatpak 安装的。Flatpak 实际上无法访问 /home 目录文件系统。它会在Home/user/.var/app/com.valvesoftware.Steam

为了手动覆盖这一点,我在外面创建了一个挂载点/home(务必在家庭之外执行此操作,否则可能会造成混乱),我将挂载点命名为/media/1.0TB-Hard-Disk

然后

flatpak override --user --filesystem=/media/1.0TB-Hard-Disk com.valvesoftware.Steam

更多相关信息请参见:https://github.com/flathub/com.valvesoftware.Steam/wiki/Frequently-asked-questions

答案2

根据您的描述,很难确定是什么原因造成的permission error。因此,您可以尝试以下方法:

为新用户安装外部磁盘

添加外部磁盘/etc/fstab并将其安装到新用户的家中:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>    
UUID=0d688471-2966-4fe7-af74-d639e83f224b /home/steamuser ext4 rw 0 0

然后创建文件夹和用户:

$ sudo mkdir -p /home/steamuser
$ sudo adduser steamuser
Adding user `steamuser' ...
Adding new group `steamuser' (1001) ...
Adding new user `steamuser' (1001) with group `steamuser' ...
The home directory `/home/steamuser' already exists.  Not copying from `/etc/skel'.
adduser: Warning: The home directory `/home/steamuser' does not belong to the user you are currently creating.
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for steamuser
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n]

## Copy skeleton
$ sudo cp -Tr /etc/skel /home/steamuser

## Set owner and group
$ sudo chown -R steamuser:steamuser /home/steamuser/

## should look like this:
$ ls -la /home/steamuser/
total 48
drwxr-xr-x 3 steamuser steamuser  4096 Apr 17 17:06 .
drwxr-xr-x 5 root      root       4096 Apr 17 17:00 ..
-rw-r--r-- 1 steamuser steamuser   220 Apr 17 17:06 .bash_logout
-rw-r--r-- 1 steamuser steamuser  3771 Apr 17 17:06 .bashrc
-rw-r--r-- 1 steamuser steamuser  8980 Apr 17 17:06 examples.desktop
drwx------ 2 steamuser steamuser 16384 Apr 17 16:59 lost+found
-rw-r--r-- 1 steamuser steamuser   807 Apr 17 17:06 .profile

然后以用户身份登录(通过 GUI)steamuser并安装和运行 steam。不要从旧电脑复制东西,也许这是问题的一部分。

相关内容