Chrome OS 中的 Linux 虛擬機其實是用 LXC 容器技術來處理的。你可以開啟多個 Container,但要怎麼讓每一個都和 Chrome OS 相容呢?

昨天 有提到如何進到 Chrome OS 中的容器管理。用 Ctrl + Alt + T 打開 crosh 環境後,以 vmc start termina 指令,再使用 lxc list 就可以看到所有的容器。

containers

新增 Container

在這邊你也可以新增更多的容器。回到 crosh 環境(Ctrl + Alt + T 一開始進去那裡)後,使用這個指令,就可以新增一個新的 Container(記得把 <container_name> 換成自己想要的名字):

vmc container termina <container_name>

預設是裝載 Debian 9 環境,並使用你的 Google 帳號當作使用者名稱。

如果你想要自訂使用者名稱的話,就要回到 termina 裡面(輸入 vmc start termina 後的那個環境),使用這個指令來新增:

run_container.sh --container_name <container_name> --user <user_name>

例如我可以:

run_container.sh --container_name web_test --user noob

這樣就可以新增一個新的 Container。例如你就喜歡開多個 Container,一個用來開發 Web 應用程式、另外一個拿來寫 Python 等等,把環境切開比較好處理。畢竟 Container 比 VM 還要便宜很多。

整合 Chrome OS 終端機

但你會發現你點開 Chrome OS 應用程式裡面的「終端機」還是只能到原本的 Container,這是因為預設 Chrome OS 只會和名為「penguin」的 Container 互動。該怎麼辦呢?把新的 Container 改名叫 penguin 就可以了。

首先先把原本的 penguin 改掉:

lxc stop penguin
lxc rename penguin old_container
lxc start old_container

接著把新的 container 改成 penguin:

lxc stop web_test
lxc rename web_test penguin
lxc start penguin

這樣再打開終端機,就會連結到新的 Container 了。值得注意的是你要先把 Container 關掉才能改名,透過 lxc stoplxc renamelxc start 就能輕鬆達成效果。

本篇文章同步發表在 iT邦幫忙