Files
chill_notes/wiki/Areas/AI编程工具/KasmVNC 研究.md
2026-04-29 13:58:35 +08:00

3.8 KiB
Executable File
Raw Blame History

created, type, tags, source
created type tags source
2026-04-29 knowledge
VNC
远程桌面
KasmVNC
容器化
Docker
https://github.com/kasmtech/KasmVNC

KasmVNC 研究

现代 VNC 服务器,基于浏览器访问,专为容器化设计

概述

KasmVNC 由 Kasm Technologies 开发,与传统 VNCTigerVNC/RealVNC/TurboVNC不同

  • 不依赖传统 VNC 客户端,只能通过浏览器访问
  • 突破了传统 RFB 协议限制,支持现代技术
  • 基于 YAML 配置,支持服务端/用户级配置
  • 是 Kasm Workspaces 容器化流媒体平台的核心组件

核心特性

特性 说明
Web 访问 任何现代浏览器即可远程桌面,无需安装客户端
多用户支持 可添加多个用户,通过 API 管理权限
GPU 加速 DRI3 GPU 加速AMD/Intel/ATI/ARM 开源驱动)
视频优化 自动检测全屏视频 → 切换到视频编码模式WebP/JPEG 混合压缩)
安全特性 SSL/TLS 加密、暴力破解防护、多用户权限控制
DLP 防泄漏 键盘/剪贴板日志、剪贴板大小限制、屏幕区域遮蔽
动态分辨率 浏览器端可调整分辨率支持多实例systemd
剪贴板 无缝双向剪贴板Chromium 浏览器支持二进制数据)
移动端 支持手机/平板访问
IME 支持 扩展字符语言输入

安装

# Ubuntu/Debian
sudo apt-get install ./kasmvncserver_*.deb
sudo adduser $USER ssl-cert

# 首次启动(引导设置用户和桌面环境)
vncserver

# 开机自启
systemctl --user enable kasmvncserver@:1
systemctl --user start kasmvncserver@:1

# 多实例
systemctl --user enable kasmvncserver@:2

配置

# /etc/kasmvnc/kasmvnc.yaml (全局) 或 ~/.vnc/kasmvnc.yaml (用户)
desktop:
  resolution:
    width: 1920
    height: 1080
  allow_resize: true
  gpu:
    hw3d: true
    drinode: /dev/dri/renderD128

network:
  protocol: http
  interface: 0.0.0.0
  websocket_port: auto
  ssl:
    require_ssl: true

encoding:
  max_frame_rate: 60
  video_encoding_mode:
    max_resolution:
      width: 1920
      height: 1080

data_loss_prevention:
  clipboard:
    server_to_client:
      enabled: true
      size: unlimited
    client_to_server:
      enabled: true
  keyboard:
    enabled: true
    rate_limit: unlimited

常用命令

命令 说明
vncserver 启动会话(首次引导设置)
vncserver -select-de mate 指定桌面环境
vncpasswd -u username -w -r 添加用户(读写权限)
vncserver -list 列出当前会话
vncserver -kill :2 关闭指定会话
tail -f ~/.vnc/*.log 查看日志

与传统 VNC 对比

KasmVNC TigerVNC
客户端 浏览器 VNC Viewer
配置 YAML xstartup + 命令行
多用户 内置 需手动配置
视频优化 自动检测
GPU 加速 DRI3 部分
DLP 防泄漏 内置
加密 SSL/TLS ⚠️ 可选
剪贴板 二进制 文本

适用场景

  1. Docker 容器化远程桌面Kasm Workspaces 生态)
  2. 浏览器即客户端,跨平台零配置访问
  3. 企业远程办公DLP 防泄漏特性)
  4. 多用户共享主机

局限性

  • 不支持传统 VNC 客户端(只能浏览器访问)
  • 官方主要支持 Debian/UbuntuRPM 包不够完善
  • 未来计划支持 H264 编码(当前未实现)
  • 依赖 Chromium 浏览器获得最佳剪贴板体验

总结

KasmVNC 是传统 VNC 的现代化替代品,特别适合容器化部署和浏览器远程访问场景。比 TigerVNC + noVNC 的组合更简洁、功能更强大。


基于 GitHub 仓库研究整理 | 归档2026-04-29