KasmVNC 是一款轻量级、基于浏览器访问的远程桌面解决方案,支持容器化部署,非常适合内网远程管理或嵌入式开发使用。

📦 1. 准备工作

系统要求

  • 操作系统:支持 Ubuntu / Debian / CentOS / AlmaLinux / 任何支持 Docker 的系统
  • 已安装:
    • Docker
    • Docker Compose(可选)

推荐环境

Ubuntu 20.04+
Docker 20+

🔧 2. 安装与运行 KasmVNC

 

使用 docker-compose.yml 启动

创建文件 docker-compose.yml

version: '3.3'
services:
  debian-desktop:
    image: kasmweb/debian-bullseye-desktop:x86_64-1.16.0-rolling-daily
    container_name: debian-desktop
    ports:
      - "6901:6901"
    environment:
      - VNC_PW=Password
    volumes:
      - /mnt/big/share/kasm/uploads:/home/kasm-user/Uploads
    stdin_open: true   # 等同于 -it,保持标准输入打开
    tty: true          # 分配伪终端
    shm_size: "512m"

然后启动:

docker compose up -d

🌐 3. 浏览器访问

打开浏览器,访问:

https://<你的IP>:6901

示例:

https://192.168.31.63:6901/

登录信息:

  • 用户名:kasm_user
  • 密码:yys123456

首次访问时浏览器会提示不安全证书,这是正常的。点击“高级”->“继续前往”即可。

 

改终端 用户密码:临时进入容器内无需密码的 root shell

你可以使用以下命令直接以 root 身份进入容器:

docker exec -u 0 -it <容器名或ID> bash

进入后你可以执行 whoami 确认是 root,然后用 passwd 命令改密码。

passwd kasm-user 改普通用户密码

 

输入  

kasm vnc->设置->使用本地输入法


🧪 4. 使用体验与常见问题

✅ 功能亮点

  • 使用 Chrome/Firefox 浏览器就能访问远程桌面
  • 内置 XFCE 桌面,轻量流畅
  • 适用于嵌入式设备调试、Raspberry Pi 可视化桌面方案
  • 支持中文输入(安装 fcitx+pinyin)
  • 支持拖拽文件上传(需要配置 Kasm Upload Server)

⚠️ 常见报错 & 解决方案

❌ 错误:g_str_has_prefix: assertion 'prefix != NULL' failed

解释:桌面启动过程中可能某些 GTK 服务未加载,通常不影响使用,可忽略。

❌ 无法连接 WebSocket / non-SSL connection disallowed

解决:确保访问的是 https:// 协议,而不是 http://,WebSocket 默认强制 SSL。

❌ polkit 或 colord 报错

解决:这是非必要服务在容器中启动失败的提示,不影响核心功能。


📚 5. 总结

KasmVNC 提供了一个非常便捷的远程桌面访问方案,尤其适合:

  • 内网环境远程图形化操作
  • 嵌入式/开发板远程桌面访问
  • 无需公网 IP 的图形化调试

默认用户名

User : kasm_user

Password: 自己设置VNC_PW