搜尋此網誌

2026年8月4日 星期二

Steam OS 使用 DistroBox 安裝 Unity Hub

緣起:


    拿到 Steam Machine 後沒幾天就又想搞怪了,總覺得如果只拿它來打遊戲,好像有點浪費 (?,所以就查看看有什麼方法能讓我在 Steam OS 這種 immutable system 上做開發,問了 gpt 後得到的答案是 DistroBox。

    它的主要功能是讓你在 linux 上跑其它 linux  虛擬機,背後是使用 podman,podman 跟 docker 不一樣的是它沒有 daemon,所以不需要 root 權限。Steam OS 目前預設有裝 DistroBox,可以直接使用。


BoxBuddy:


    可以到 flatpak 上安裝能操作 DistroBox 的 GUI 工具,這樣就不需要打指令了,會比較方便。我在 flatpak 上用 distrobox 當關鍵字找,找到了 3 個工具,最後是選了 BoxBuddy 來用。


    打開 app 後,按左上角的 +,新增一個 container,然後選擇你要的 Linux 發行版,我看 Unity 支援度最好的 Linux 發行版是 Ubuntu,所以就選了 ubuntu:24.04


    其它的設定都不動,按下 create 後它會開啟 konsole,下載 image,載完後自動啟用 container,你就能用 terminal 對你的 ubuntu container 下指令。


安裝 Unity Hub:


    官方有 linux 的安裝教學,照著打指令就能完成安裝

sudo install -d /etc/apt/keyrings
curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/unityhub.gpg] https://hub.unity3d.com/linux/repos/deb stable main" | sudo tee /etc/apt/sources.list.d/unityhub.list

sudo apt update
sudo apt install unityhub

    安裝完成後,在 terminal 輸入 unity 後按 enter,就能啟動 unity,DistroBox 會自動連接你宿主主機的桌面環境,超酷的。

    DistroBox 有 export 的功能,可以把 container 的 app 加到宿主主機的 menu,之後就可以從 menu 那裡來啟動 Unity Hub,比較方便。


選擇 Add To Menu

就能在 menu 看到了


Unity Hub 登入:


    Unity Hub 開啟後,它會要求登入,我用 google 帳號登入,它會開啟宿主主機的預設 web browser,成功登入後會導向


    它有跳出一個選擇 app 的視窗,但我那時還沒把 Ubuntu 的 Unity Hub 加到 menu,還選錯 app,選到 BoxBuddy,導至 Unity Hub 無法收到正確的登入資料,乾。

    花了點時間找解法 (萬能的 gpt 救救我啊 @@),後來找到的解法是,先在 steam os 主機上查看看那個跟 unity hub 有關的 desktop file 叫啥名字

ls ~/.local/share/applications/ | grep unityhub


    叫 Ubuntu-unityhub.desktop,確認好後,去修改 ~/.config/mimeapps.list 檔,把有 x-scheme-handler/unityhub=unityhub.Desktop 的部份修改成 
x-scheme-handler/unityhub=Ubuntu-unityhub.desktop,存檔。

    我後來再次嚐試,發現登入的轉跳還是轉到 BoxBuddy, 索性就先把 BoxBuddy 給砍了,再次登入時就轉跳成功,成功登入了,再把 BoxBuddy 載回來。

沒有留言:

張貼留言