Kasm Workspaces
Kasm Workspaces 是在浏览器里运行完整应用/桌面/浏览器的 云工作空间平台
你会看到:
- 浏览器里再打开一个 Chrome / Linux 桌面
- 像用本地电脑一样操作
- 所有计算都在服务器
Kasm 的核心能力
- 浏览器里跑浏览器(最常用 Chrome / Chromium / Firefox)、OS 桌面(Ubuntu / XFCE、Kali Linux 等)、应用(GUI 软件、Terminal 等) 。
- 多用户(账号)登录且完全隔离(每个用户一个容器)
- 支持自动销毁
- WebRTC 显示协议提供低延迟画面流
部署步骤
services: |
启动后,首先使用 https://<IP>:3000 进行初始化,初始化时需要设置管理员账号密码信息。初始化成功后,通过 https://<IP>:443 连接 Workspaces。
常用配置
在 Workspaces 中使用中文输入法
默认大多数的 Workspace 容器启动时都是没有中文输入的。如果要提供中文输入,可以使用系统提供的 IME Input Mode 。它可以将本地电脑的输入映射到 Kasm Workspaces 中。只需在对应的 Workspace 中开启 IME 配置即可。
使用管理员登录 Kasm。定位到 Workspaces ,编辑对应的 Workspace(如 Kali Linux),找到 Docker Run Configuration Override (JSON)

填入以下内容(如果有其他内容,插入以下内容),开启 IME
{
"environment": {
"KASM_IME": "1"
}
}
销毁之前的 Workspace Session,运行新的 Workspace Session,打开左侧的配置菜单,找到 Advanced Settings ,将 IME Input Mode 配置为 On

即可在 Workspace 中使用中文
用户数据持久化方案
在 Kasm 中,实现 Workspace 用户数据(如 Chrome 书签、桌面配置、文档等)持久化的标准方案是使用 Persistent Profiles(持久化配置层) 。
核心原理
Kasm 会将容器内的用户目录(通常是 /home/kasm )映射到宿主机的特定路径(即 docker-compose.yaml 中定义的 /profiles 目录)。当用户结束会话时,Kasm 会将该目录打包;下次启动时,再自动解压回容器。
开启 Persistent Profiles
- 确认宿主机存储路径,在
docker-compose.yaml中,已经配置了持久化卷/opt/kasm-workspaces/profiles:/profiles,这表示所有持久化数据将保存在宿主机的 /opt/kasm-workspaces/profiles 目录下。 - 在 Kasm 管理后台开启功能(Web UI 操作)
- 登录管理后台 :使用
[email protected](管理员账户)登录。 - 导航到 Settings -> Storage Providers ,点击 Add Storage Provider 添加存储,本示例使用本地存储(Local)
- Name :
local-storage - Provider Type : 保持为
Custom。 - Default Target :
/profiles - Volume Configuration (JSON):
{
"driver": "local",
"driver_opts": {
"o": "bind",
"type": "none",
"device": "/profiles"
}
} - Mount Configuration (JSON) : 保持默认或确保它是空的 JSON 对象
- Name :
- 登录管理后台 :使用
- 点击左侧菜单 Workspaces -> Workspaces 。找到 Chrome 或 Ubuntu ,点击 Edit 。
- 导航到 Storage Mapping 页面,Add Storage Mapping ,选择之前创建的
local-storage并添加

- 在 Details 页面中,下翻页面找到 Persistent Profile Path ,在其中填入
/profiles/{user_id},启用 Enforce Workspace Persistent Profile


Kasm 会自动将
{user_id}替换为登录用户的 ID(例如 admin )。这样即便有多个用户,他们的数据也会分开放,互不干扰。 - 删除并开启新的 Session,如 Chrome 浏览器,在其中保存书签,删除 Session,重新启动 Session,看看之前保存的书签是否存在。或者检查宿主机的目录
/opt/kasm-workspaces/profiles/中是否有文件存在。配置了 Persistent Profile 后,在 Kasm Workspaces 中启动 Session 也会显示已经启用了 Persistent Profile
