[心得] Linux 与 Steam(二):SteamOS

楼主: Tetralet (Tetralet)   2017-04-27 21:12:19
Steam 有推自己的游戏主机,里面的系统叫做 SteamOS,
基本上可以说是 BigPicture 模式的 Steam + Gnome Shell 的混合体。
根据 Steam 官方的说法,SteamOS 是 Debian Jessie based 的系统,
现行版本是 2.0,发行代码是 Brewmaster。(上一版是 Alchemist)
您可以下载它的官方安装影像档,并在您的电脑中自行安装 SteamOS。
请参阅:http://store.steampowered.com/steamos/buildyourown
iso 档位址:http://repo.steampowered.com/download/SteamOSDVD.iso
==== 【非.常.重.要!!】 ====
安装 SteamOS 前请务必备份好您的资料,
包括安装用随身碟及安装硬盘里的所有资料!
除非你真的知道自己在做什么。
==== 【非.常.重.要!!】 ====
安装方法很简单,就把它的 iso 档写入随身碟或烧成光盘后,直接安装即可。例:
cat SteamOSDVD.iso > /dev/sdb
其中 /dev/sdb 为您的随身碟位置。
虽然没有写得很明白,但 SteamOS 是 64bit 版的。且应该没有提供 32bit 版。
如果是以传统 BIOS 开机的话,SteamOS 光盘的开机选单就只有黑底白字,
然后安装画面是标准的 800x600 画面。
反之如果是以较新的 UEFI 开机的话,SteamOS 光盘的开机画面会有底图,
因为已顺利驱动显示卡,进入安装画面后的字体大小会依萤幕分辨率而异。
但在一些高分辨率,像是 4K 萤幕上,字可能会小到难以阅读...
但这个暂时应该无法可想。
注:目前看来新版的 Debian-Installer 似乎也没解决这个问题...
另,SteamOS 可以安装在传统 BIOS + MBR,或是较新的 UEFI + GPT 系统上,
或者是很欢乐的 BIOS + GPT 上,如果您的电脑是老 BIOS 系统但 HDD > 2TB 的话。
Linux 这方面老实说蛮强大的!XD
但建议不要用 UEFI + MBR 这个组合,
因为 UEFI 不会去读取 MBR 分割表,也不使用 MBR 开机。
真的无法可想时,请用 BIOS 相容模式 + MBR 吧!
但如果您的电脑是新的 UEFI,但 HDD 上用的仍是旧的 MBR 分割区,
然后您已备份硬盘里所有资料,愿意为了 GPT 冒个险的话,
是可以用 gdisk 直接将 MBR 转换成 GPT,
或自行按照 MBR 的分割表数据用 fdisk 手动切割。
硬盘里的资料应该不会不见... 应该啦!
注:MBR 位于磁盘的最前端;GPT 则是位于最末端。
若硬盘上同时有 MBR 及 GPT 的话,安装程式应该会优先采用 GPT 的分割资料。
若只有 MBR 资料但却以 UEFI 开机,然后上有之前以 MBR 安装的作业系统的话,
安装程式会对此发出警告,因为有高机率会使得旧作业系统 无 法 开 机。
所以可以的话,最好 MBR/GPT 择一使用,并将另一个用不到的清除掉。
在由 MBR 转成 GPT 时,虽然大概不会出错,
但还是用 fdisk -l 注意一下磁盘的起始结束位置是不是完全符合。
另,使用 UEFI 开机的话,还要额外准备一个以 FAT 格式化、
ID 为 ESP System 的分割区做为开机用。
在顺利转换至 GPT 后,可用以下指令清掉磁盘的 MBR:
dd if=/dev/zero of=/dev/sda bs=512 count=1
【警告】:磁盘操作真的请小心为上,稍有不慎硬盘资料往往就这样一去不复返,
一切还请三思而后行!至少,把 fdisk -l 的结果存起来以做为不时之需。
不过真的搞砸时可以用 fdisk(如果你有留存旧的分割表数据)或用 teskdisk 救救看。
但我想最好不要走到这一步啦!资料备份真的很重要,磁盘救援可不是什么太有趣的事...
对了,SteamOS 安装光盘的开机选项中并不提供像 memtest86 之类的内存检测程式。
请自行设法,或是安装完成后自行安装 memtest86 套件后再自行测试。
Linux 对于内存非常敏感,若内存有问题就能看到 Linux 搞不好连开机都有困难。
根据网友回报,nVIDIA 较旧的 legacy 系列显示卡在安装时会发生错误,
有部份驱动程式的 deb 档未放入 SteamOSDVD.iso 中。
这或许没有太简单的解决方案,
还是找张比较新的显示卡来玩 Steam 吧! XD
关于安装磁盘的事前准备差不多这样,让我们开始安装 SteamOS 吧!
安装方式,如果你知道你在做什么的话,请选【Expert install】。
SteamOS 的安装程式是著名的 Debian-Installer。
安装过程应该非常得简单,
差不多就按【下一步】→【下一步】→【完成】。
不过有些小细节可以讨论一下:
如果想看到安装过程的详尽资讯,可按 <Ctrl><Alt><F4> 到讯息输出画面;
<Ctrl><Alt><F2> 和 <Ctrl><Alt><F3> 里有些内建指令可用;
像是用 route 来查看 routing 资讯、ip addr 看 IP 位址等等,
不过 SteamOS 在安装过程中不需和网络连线就是了。该有的都已放在光盘里了。
而安装中的新系统是挂在 /target 目录下,您还可以用 chroot 切换进去操作看看。
有些指令会随着安装进度才会被安装进来,所以请耐心稍候。
但可能是因为是图形安装接口,并没有 fdisk 程式可用。这一点还蛮不方便的...
在一开始,【选择语言】这里,
Debian-Installer 会利用您所选取的语言来决定‘语系’‘键盘’和‘时区’。
比如说,若您在此选的是繁体中文,
那么 Debian-Installer 会默认您的 LOCALE 参数是 zh_TW.UTF-8、
键盘配置是‘汉语’(别问我那是啥... 以前明明是‘美式键盘’)、
时区是在台湾或香港之类的。
为了避免日后麻烦,个人是建议选 C;
这是因为在 Linux 的 Console 下基本上是看不到中文字,
若在此被设定成 zh_TW.UTF-8 的话,
在 Console 下操作或出问题想看错误讯息时会造成极大困扰。
注:其实装个 jfbterm 就能在 console 下看到 UTF-8 文字了啦!
但它需手动执行、无法输入中文,且不支援 gpm。
但若您是 Linux 生手,可选【中文(繁体)】。
然后在安装完成后,再修改以下的档案来决定 Console 下所使用的语系:
/etc/default/locale
将其内容清空即表示使用默认值【C】。
但不管在此选的是什么,重新开机后的 Steam 默认会是英文接口就是了。
依据 Debian-Installer 的标准安装程序,
接下来的步骤应该是试着驱动网络卡。
但 SteamOS 是采用离线安装,所以并不会看到这个步骤。
但,如果 SteamOS 此时无法自动侦测到网络的话,
比如说您是用 WIFI 连上网,或是只是忘了插上网络线,
那么网络设定这部份可能会被略过,然后重开机后将会没有网络可用:
网络未设定,然后 /etc/resolv.conf 也不见了。
不过,重开机后就会交由 NetworkManager 处理了,大概不用担心... 吧? XD
注:如果重开机后发现无法连上网络的话,
检查一下 /etc/resolv.conf:
nameserver 8.8.8.8
及 /etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
但我论事情不会那么简单就是了。XDDD
如果可以的话,买个 IP 分享器架个区网会让事情快乐很多。
另,SteamOS 整个设定完成后,Steam 有内建的网络设定程式。
但 SteamOS 还没设定完成之前,这部份其实还蛮难搞的 XD
接下来是超重头戏:‘分割硬盘’。
安装程式会自动替您分割好硬盘。
如果您已事先分割好硬盘,或是您很有自己的主见的话,
可以点两下【取消所有对硬盘分割的变更】来重新读取硬盘分割表,
这时您就能自由得分配设定系统如何安装了。
如果把 /home 放在别的分割区,
SteamOS 的 / 大概需要 10GB 就非常足够了。(安装完只占了约 4.1 GB)
而如果您的电脑是用 UEFI + GPT 的话,
还要另外准备一个 ESP 开机用分割区。
ESP 分割区一般建议是至少 500MB,格式必须为 fat。
但 SteamOS 的 GRUB 放在 ESP 分割区里的档案大概只有 250K。
如果您觉得冒点险也无妨的话,ESP 分割区或许可以给少一点。
注:Windows 8.1 放在 ESP 里的档案大概有 30MB。
但请先记得将这个 ESP 分割区格式化为 vfat 格式。
或者在分割硬盘的画面时,
切换至 Console 2 使用以下指令将其格式化:(假设它是 /dev/sda1)
mkfs.fat /dev/sda1
因为 ESP 分割区里搞不好已有别的开机程式,
所以安装程式并不会试着格式化这个分割区,
但如果无法以 vfat 挂载这个分割区的话,
安装程式会回报错误并拒绝进行后续安装程序。
如果您是使用 SSD 硬盘,建议使用【ext4】档案系统,
并在【挂载选项】中选取 discard, noatime, nodiratime。
如此应该可以有效延长磁盘寿命。
注:包括 jfs 及 xfs 都有支援 discard 选项;但大部份还是建议用 ext4。
如果可以的话,在 /tmp、/var/tmp、/var/spool 甚至 /var/log 等等上面用 tmpfs,
应该可以再延长 SSD 硬盘的寿命。
另外要注意的一点是,ext4 默认上保留 5% 的磁盘空间以做为不时之需。
这是因为 ext3 在磁盘可用空间低于 5% 时,
磁盘效能因 fragmentation 的关系会突然雪崩式下滑,
所以这个‘5% 的保留空间’是有其历史因素的。
但在 ext4 里已比较没有这个问题,所以在‘非系统碟’上,
可以放心得在安装时将保留空间设为 0%,
或在事后使用以下指令将这个‘保留空间’设为 0%:
tune2fs -m 0 /dev/sdXY
请参阅:https://www.redhat.com/archives/ext3-users/2009-January/msg00026.html
如果您的硬盘较新,是采用【Advanced format】的话,请注意硬盘磁区‘对齐’的问题。
注:2009 之后出厂的硬盘,包括 SSD 硬盘,有高机率是采用【Advanced format】
不过只要用较新版的 Linux 的 fdisk 程式,
在切割硬盘时就会自动替您处理好了。
注:请不要再用 fdisk 里旧式的‘-u=cylinders’来分割硬盘了!
如果您有旧的 /home 分割区,
然后这不是您第一次安装 SteamOS,
建议先删除或更名其中的 steam 和 desktop 使用者目录以避免发生难以预期的问题。
而关于 swap 分割区,请设定为内存 2 倍以上的空间以启用休眠。
但若您用不到休眠功能,或者您是用 SSD 硬盘,
那可以考虑不用 swap,然后加大您的内存至 16G。XD
说到 Linux 的内存,考虑到会用到吃内存怪兽 Firefox 或 Google Chrome,
加上又要玩游戏,一般建议至少要 8GB 以上。若能加到 16GB 就更好了。
之前用 Wine 在玩 WoW,单一程式都能毫不客气直接吃掉 8GB 的内存了...
SteamOS 的安装需要一点时间,真的很闲的话,
可以看看安装光盘里的 default.preseed 和 post_install.sh,
另外也可以看看 .disk/base_exclude 及 .disk/base_include,
大概就能掌握 SteamOS 到底是恶搞了啥 XD
而这也是敝人喜欢用 Linux 的主因之一:
一切公开透明,没有秘密,一切只取决于您想花多少心力去挖掘... XD
在安装快结束时,会有‘tasksel’选项问您是否要安装一些额外软件。
请【务必】记得安装‘Debian desktop environment’,
不然重开机后很可能会是黑画面 XD
而‘GNOME’勾不勾没差,有勾‘Debian desktop environment’的话一定会装。 XD
注:如果您不是很想用 Gnome Shell,或是想替而使用其它的桌面环境的话,
在此可以【不】安装任何东西。SteamOS 其实并没有绑死一定要用 Gnome Shell。
但您等等还是得动些小手脚,不然 SteamOS 会开不起来。在后文中会说明。
而 SteamOS 默认的使用者帐号是 steam,
没有密码,但无法直接登入,角色类似系统帐号。
它也提供了桌面模式,应该就是那著名的 Gnome Shell,
使用者帐号是 desktop,也没有密码,但可用 sudo 执行任何程式。
注:原始的帐密是 desktop/desktop,之后才会被清掉。
如果您觉得‘没有密码’让人很担心的话,
可以在 SteamOS 整个安装完成、已可以顺利进入 Steam 的 BigPicture 接口后,
按下 <Ctrl><Alt><F2> 进入 Consle 2,以 desktop 登入,
然后利用以下指令指定新的密码:
passwd
但就算设定了密码,SteamOS 在操作时不会用到这个密码就是了 XD
另一个麻烦事是,默认的 steam 的使用者编号是 1001;而 desktop 是 1000。
如果说您有在玩多系统多重开机的话,因为档案权限的限制,
这种双帐号设计可能会很麻烦。
而解决方案,就是让部份 desktop 帐号的档案也能让 steam 帐号存取。
比如说,您硬盘中已有内含数十 GB 的 steamapps 目录想分享给 SteamOS 使用,
但其权限已为编号 1000 的 desktop:desktop,编号 1001 的 steam 无法存取。
那么,只要把 steam 加入 desktop 群组,就大概能解决问题了:
adduser steam desktop
而或者,也可以用 setfacl 指定档案的 ACL:
# 指定 steamapps 目录中新建的档案会默认给 steam 有 rwx 的权限
setfacl -m d:u:steam:rwx steamapps
# 在 steamapps 目录所有现有档案让 steam 有 rwx 的权限
setfacl -R -m u:steam:rwx steamapps
但有时事情变很麻烦时,可以考虑,比如说,
把 steamapps 搬到哪个分割区的某个共用资料夹,
然后设定好权限后,再用符号连结之类的。
另,讲到帐号密码等安全性问题,
Steam 也监听了某些 Port 做为网络串流、P2P 或语音通讯之用。
请参阅:
https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=traditional%20chinese
在安装的最后,会安装 GRUB 开机程式。
如果是在传统的 BIOS 系统下安装的话,
这时安装程式会询问是否将 GRUB 安装至 MBR?请选【是】;
接下来会询问 GRUB 的安装位置,请选‘手动输入安装位置’,
然后理论上是填入 /dev/sda...
可以用光棒直接选 /dev/sda 啦,但不知为何偶尔会漏装部份档案导致无法开机。
倘若如此,只要手动跑一次救援模式【Rescue mode】重建 GRUB 后应该就能开机了。
而如果是在较新的 UEFI 系统下安装的话,
当然也会安装 GRUB 开机程式。
但因为会固定安装到 ESP 这个开机用分割区里,
所以就没再多询问使用者安装位置了。
您可以观察到,SteamOS 原始的 GRUB 底图是 Debian 版的,
后来才更新为 SteamOS 自己提供的 XD
另,在【Rescue mode】中的【重新安装 GRUB 开机程式】,
指的是再跑一次 grub-install 指令。
在某些极罕见的状况下,(如:您改变了分割区的 UUID)
请先进入【在 /dev/sda1 里执行 shell】项目,
然后手动执行 update-grub2 重建 GRUB 项目,
完成后再跑一次【重新安装 GRUB 开机程式】才行。
以上的 /dev/sda 等等指的是您的主系统硬盘。请依情况自行修改。
如果您在前文中并没有安装【Debian desktop environment】的话,
此时先不要重开机进 SteamOS。请再一次用光盘开机后,选【Rescue mode】,
在设定好语系、时区、键盘、后,选取 /dev/sda1 进入救援模式,
然后选【在 /dev/sda1 里执行 shell】,并安装以下套件:
(以下是假设您想用的桌面环境是 IceWM。icewm 可替换成别的桌面环境,
如 task-xfce-desktop 或 cinnamon-desktop-environment 之类的)
icewm dbus-x11 xorg accountsservice
注:您可能得手动新增某些项目至 /etc/apt/sources.list 中,
然后要先 apt-get update 才能安装这些套件...
并修改 /usr/bin/post_logon.sh,将 gnome 替换成 icewm-session 之类的:
dbus-send
作者: juiclykiller (松山鬼见愁㊣抖M抖M)   2017-04-27 21:36:00
EUFI啥鬼
作者: Shuoger (修葛尔)   2017-04-27 21:48:00
UEFI吧 怎么可以这么认真地打一堆错字。 XD
作者: kkkkkkq (kkkkkkq)   2017-04-27 22:50:00
在macbook上会不会有steamOS效能比较高的情况?他的intel内显的驱动怎么样?
作者: VISprout (BestViTW)   2017-04-28 00:34:00
认真推,也来玩玩steam OS
作者: WindSucker (抽风者)   2017-04-28 00:42:00
debian大法好
作者: HuangJS (段誉)   2017-04-28 01:12:00
认真推
作者: LoserPenguin (鲁蛇企鹅)   2017-04-28 01:23:00
推个
作者: Bencrie   2017-04-28 01:57:00
日系就 AVG 比较有机会上 Linux,不然就是 Unity based要玩日系大作还是买家用主机比较快
作者: SOC (SOC)   2017-04-28 07:21:00
有用Linux玩游戏的人必推
作者: trashprince (Contigo ergo "XOR"!!)   2017-04-28 09:37:00
推! 也可以装发行版里的steam
作者: kaito12 (哈士奇)   2017-04-28 10:10:00
认真推,不知道为什么总觉得未来某个时间点回头看这篇文章一定会流眼泪 orz
作者: CrazyMika (溺汨客)   2017-04-28 14:38:00
认真给推~但我还是继续用windows方便 XD
作者: aeolus0829 (阿洽)   2017-04-28 15:04:00
热血推
作者: victor5517 (CompileError)   2017-04-28 15:21:00
作者: gghhgghh (....)   2017-04-28 17:40:00
认真推
作者: jerry92277 (幻月之刃)   2017-04-28 21:28:00
红明显,良心建议别碰steam os,问题一堆,除非原本就有linux底子不然自己装来玩根本就是自虐用deb包安装更糟,不先花个半小时处理dependency,steam根本连开都打不开
作者: AlecJY (AlecJY)   2017-04-30 21:07:00
推一系列详细的教学文还有那行cat SteamOSDVD.iso > /dev/sdb在我的电脑上不能用
作者: rollr (衛生紙的心情)   2017-04-30 23:46:00
跪了
作者: bluewool (bluewool)   2017-05-01 15:24:00
我想请问开机磁区的问题 我电脑本身在ssd上有灌win10uefi+gpt 之后我在hdd上又灌了ubuntu也是同个格式开机选单是grub2的这选单里也可开win10 之后我灌了refind开机选单在ubuntu boot efi里面 有主题比较好看 现在问题是如果我灌steam os在hdd那开机选单要如何处理?Linux新手有这些疑问谢谢
作者: dio54838 (在这边,我就当反派)   2017-05-02 17:57:00
看不懂但给推,用心分享就是赞!

Links booklink

Contact Us: admin [ a t ] ucptt.com