From 7118ebeb92d4ecbdba84b655ea8e6ffe7f98b69a Mon Sep 17 00:00:00 2001 From: FNS Service Date: Wed, 29 Apr 2026 13:58:35 +0800 Subject: [PATCH] Update from Sync Service --- wiki/Areas/AI编程工具/KasmVNC 研究.md | 137 ++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100755 wiki/Areas/AI编程工具/KasmVNC 研究.md diff --git a/wiki/Areas/AI编程工具/KasmVNC 研究.md b/wiki/Areas/AI编程工具/KasmVNC 研究.md new file mode 100755 index 0000000..ab0604e --- /dev/null +++ b/wiki/Areas/AI编程工具/KasmVNC 研究.md @@ -0,0 +1,137 @@ +--- +created: 2026-04-29 +type: knowledge +tags: [VNC, 远程桌面, KasmVNC, 容器化, Docker] +source: https://github.com/kasmtech/KasmVNC +--- + +# KasmVNC 研究 + +> 现代 VNC 服务器,基于浏览器访问,专为容器化设计 + +## 概述 + +KasmVNC 由 Kasm Technologies 开发,与传统 VNC(TigerVNC/RealVNC/TurboVNC)不同: + +- **不依赖传统 VNC 客户端**,只能通过**浏览器**访问 +- 突破了传统 RFB 协议限制,支持现代技术 +- **基于 YAML 配置**,支持服务端/用户级配置 +- 是 Kasm Workspaces 容器化流媒体平台的核心组件 + +## 核心特性 + +| 特性 | 说明 | +|------|------| +| **Web 访问** | 任何现代浏览器即可远程桌面,无需安装客户端 | +| **多用户支持** | 可添加多个用户,通过 API 管理权限 | +| **GPU 加速** | DRI3 GPU 加速(AMD/Intel/ATI/ARM 开源驱动) | +| **视频优化** | 自动检测全屏视频 → 切换到视频编码模式(WebP/JPEG 混合压缩) | +| **安全特性** | SSL/TLS 加密、暴力破解防护、多用户权限控制 | +| **DLP 防泄漏** | 键盘/剪贴板日志、剪贴板大小限制、屏幕区域遮蔽 | +| **动态分辨率** | 浏览器端可调整分辨率,支持多实例(systemd) | +| **剪贴板** | 无缝双向剪贴板(Chromium 浏览器支持二进制数据) | +| **移动端** | 支持手机/平板访问 | +| **IME 支持** | 扩展字符语言输入 | + +## 安装 + +```bash +# 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 +``` + +## 配置 + +```yaml +# /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/Ubuntu,RPM 包不够完善 +- 未来计划支持 H264 编码(当前未实现) +- 依赖 Chromium 浏览器获得最佳剪贴板体验 + +## 总结 + +KasmVNC 是传统 VNC 的现代化替代品,特别适合容器化部署和浏览器远程访问场景。比 TigerVNC + noVNC 的组合更简洁、功能更强大。 + +--- + +*基于 GitHub 仓库研究整理 | 归档:2026-04-29*