緣起:
拿到 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
安裝 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,比較方便。
Unity Hub 登入:
Unity Hub 開啟後,它會要求登入,我用 google
帳號登入,它會開啟宿主主機的預設 web browser,成功登入後會導向
花了點時間找解法 (萬能的 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 載回來。







沒有留言:
張貼留言