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