而安装 Steam 最直觉的方法,当然是直接把它安装在系统里了。
有部份的 Linux 发行版直接提供 steam 让使用者安装。
像 Debian,您可以在 non-free 类的套件中找到 steam。
注:在很旧的 Debian Lenny 档案库里有另一个套件也叫 steam。请不要装错个了 XD
Debian 版的 steam 和原生版并不完全一样。
主要差别是 Debian 版的 steam 会把档案都装在 $HOME/.steam 下;
而原生版主要是放在 $HOME/.local/share/Steam 下。
然后两者还有些其它细微差异,建议不要共用。
另,就如上文所说的,
其实 SteamOS 上在跑的是个名为 steamcompmgr 的 Window Manager,
和桌面版的 steam 又有一些些差别...
在安装 steam 的同时,应该会因为相依性然后装了一堆套件进来。
除此之外,建议再安装以下套件:
libc6-i686 libva1:i386 dbus-x11
libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0:i386
另,请将使用者加入以下群组:
audio dip video plugdev netdev input
但因为 steam 基本上是特用于 SteamOS 的应用程式,
所以硬在其它的系统下面跑难免有些水土不服。
比如说,在开启 steam 时,可能会显示以下错误讯息:
libappindicator-WARNING **: Unable to get the session bus: Command line ...
然后 Steam 的 System Tray Icon 出不来,
BigPicture 模式和游戏也都慢到吐血。
我们可以猜到的,大概是因为 steam 内建的 dbus 和系统正在跑的版本不符的关系。
而解决方案很简单,就是把以下删除或更名,让 steam 使用系统函式库即可:
.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3
.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3.5.8
而其实这个位于 /usr/bin/steam 的只是个 Bash Script。
它的功能大概就是检查环境后,再另外下载并执行 steam 的用户端程式。
您可以用 bash -x /usr/bin/steam 来看看 steam 在跑些什么指令。
因为 steam 本身用的都是很旧的函式库,
(理论上是 Ubuntu 12.04 LTS,大概是 5 年前的函式库)
所以可能有些游戏在比较新的 Linux 发行版上跑会有些小问题。
您可以参考以下资料然后希望瞎猫能碰著死耗子:
https://wiki.debian.org/Steam
https://wiki.archlinux.org/index.php/steam
不过,Ubuntu 12.04 LTS 支援只到 2017-04-28。(就是今天)
很好奇之后 Steam 会怎么做。
大改版搞不好会看到一堆游戏适应不良... XD
《待续...》