需要隨時隨地存取Linux桌面環境嗎?
Kasm Workspaces為Kasm Technologies Inc推出的桌面即服務(DaaS)解決方案,建立多個虛擬Linux桌面,隨時隨地用網頁瀏覽器存取。
1. Kasm特色功能#
- 提供多種Linux發行版與桌面環境搭配的映像檔,快速建立虛擬桌面,內建常用的文書軟體與會議軟體,登入後立即開始工作。
- Kasm只要有瀏覽器就能存取。遠端桌面使用KasmVNC串流畫面,操作類似Apache Guacamole但功能更強,支援播放音訊、存取攝影機、錄音、共享剪貼簿、上傳檔案、虛擬多螢幕。
- 支援共享桌面,設定僅供檢視模式,將網址分享給別人觀看你的畫面,並使用文字聊天。
- 針對平板、手機最佳化,能使用客戶端作業系統的輸入法打字。例如從Android瀏覽器連線的時候可以使用Gboard打中文。
- 專為多人存取設計,每個帳號都有自己的工作區,透過Docker分配CPU與硬碟資源。
- Kasm並非遠端連線到Linux桌面,而是使用Docker容器跑Linux桌面,啟動速度非常快。
- 容器裡面跑的是獨立的系統,跟宿主機並不相關。結合Docker的特性,可以將容器設定成用完即丟,任何操作都不會影響到宿主機系統。
- Kasm支援GPU加速,可以讓容器使用GPU渲染3D圖像。
那Kasm跟Distrobox、x11Docker又有什麼差呢?我難道不能自己開個Linux容器裝桌面環境和noVNC,達成Kasm的效果嗎?當然可以。
我想,Kasm的最大優點就是開箱即用,並提供一個靈活管理多個使用者的界面了吧。Kasm還有一個註冊表界面,方便你下載需要的應用程式,就像App Store一樣。
2. Kasm系統需求#
根據Kasm官方文件,建議宿主機規格:
- CPU 2核心以上
- RAM 4GB以上
- 儲存空間 SSD 50GB以上
- 支援的作業系統:Linux、Windows
Kasm本質是在Linux跑Docker,再於容器裡面跑Linux桌面。這是最簡單的方案,開箱即用。但是你不能將Windows系統塞到Linux的Docker裡面跑(除非把KVM虛擬機包成Docker映像檔),因此Kasm若要搭配Windows使用,你得另外準備Windows虛擬機,再將Kasm與之連線。
3. 安裝Kasm#
Kasm提供付費版與社群版,後者為免費的軟體,部分開源,不可用於商業用途。
請先安裝 Docker和docker-compose再安裝Kasm。
Kasm官方文件推薦使用他們的指令稿來安裝服務,支援x86與ARM架構的伺服器。
雖然LinuxServer.io有打包kasm的Docker映像檔,但如果用LinuxServer.io的方式部署Kasm的話,會變成在Docker裡面跑Docker,架構怪怪的。
4. 管理Kasm服務#
安裝指令稿結束後會自動生成一組密碼
開啟瀏覽器,開啟網址
https://Linux伺服器IP:443
,使用管理員帳號[email protected]
登入後台。Kasm界面的語言設定會影響容器裡面的語言…雖然如此,但Kasm中文界面翻譯很爛,所以我用英文版。
Kasm的系統服務和全部容器可用以下指令開關,目前看來沒有整合到Systemd。
cd /opt/kasm/bin
sudo ./stop
sudo ./start
5. Kasm工作區功能簡介#
點選「Workspaces」界面(一般使用者登入帳號只會看到工作區界面),這裡可以新增多個工作階段。
比如點選Ubuntu圖示啟動桌面,內建的桌面是為Ubuntu 20.04 XFCE桌面,可看到裡面已經內建許多常用軟體。
點選旁邊的選單,開啟KasmVNC的功能。例如啟用IME Input Mode,就能用客戶端的輸入法打中文。 設定允許存取Webcam將客戶端的鏡頭傳給遠端容器使用,方便進行視訊會議。
如果在工作區點選應用程式,啟動之後僅會開啟單一應用程式視窗,而非啟動整個桌面環境。
例如我這裡開了GIMP,要載入素材就是利用Kasm的上傳功能,從本機上傳檔案到遠端的Uploads
目錄,就能夠編輯了。
關於Stop session與Delete session的差別:Stop會停止該工作階段,將資源釋放出來給其他容器用;Delete則是完全刪除容器和使用者資源。
注意,預設情況下,每個Kasm工作階段一個小時後就會過期,接著資料會全部刪除。請看下文了解如何啟用永久儲存使用者資料。
6. 如何永久儲存使用者資料#
預設情況下,每個Kasm工作階段一個小時後就會過期,接著資料會全部刪除。
這個可以在後台管理 → Access Management → Groups → Users → Settings,把過期秒數keepalive_expiration
調高
或者,
掛載Persistent Profile,這樣每個工作階段的資料就會保存下來,資料儲存在/mnt/kasm_profiles
。之後啟動工作階段就有「Persistent Profile」選項可用。
另外還可以 設定Volume Mapping掛載宿主機的目錄給Kasm工作區存取,讓所有使用者共享資料儲存區。
7. 安裝新的工作區和應用程式#
用管理員帳號登入後台,到Workspace Registry頁面,下載其他Linux發行版的桌面,或者單一應用程式。
每個Linux發行版都是一個Docker映像檔,應用程式也都是Docker映像檔,並非透過APT安裝。
老實說Kasm打包的應用程式映像檔都很肥 == 光是一個瀏覽器映像檔就高達3GB。如果覺得太臃腫,不如開一個Linux桌面的工作階段,再於裡面用APT安裝套件為好。請記得 給Kasm工作區設定root權限。