multipass 是 Canonical 所推出的一個輕量級 VM 管理工具,它跨平台,支援 Linux、Windows 跟 MacOS。
這個工具用一陣子了,相當的好用,缺點是目前只有 Ubuntu 的 VM 可用。之前是想到,既然 multipass shell 是用 ssh 登入,那麼應該要可以 Forward X11 才對。也就是說以 SSH 登入以後,執行 GUI 應用程式,畫面會轉向到目前 Host 的 X Server 。
但試了以後卻不行,請教 Google 以後,Google 告訴我 StackOverflow 上已經有人解答了:18.04 – How to open GUI applications in multipass container(guest = ubuntu, host = ubuntu)? X-Forwarding – Ask Ubuntu
先說明一下我的環境:
- Ubuntu 20.04
- 用 snap 安裝 multipass
首先,先取得 ssh key,因為 multipass 是用 snap 安裝的,所以得從 /var/snap/multipass 裏面找到 ssh private key,把它複製到 ~/.ssh/multipassKey 目錄下。
mkdir ~/.ssh/multipassKey
sudo cp /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ~/.ssh/multipassKey/id_rsa
接著變更這個 private key 的權限為 0600,並且變更擁有者
sudo chown user -R ~/.ssh/multipassKey
sudo chmod 0600 ~/.ssh/multipassKey/id_rsa
再來啟動 VM,並且察看 VM 的 IP
multipass start name
multipass ls
最後使用 ssh 登入
ssh -X -i ~/.ssh/multipassKey/id_rsa ubuntu@<my_vm_ip>
就這樣。
沒有留言:
張貼留言