V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ClownFish
V2EX  ›  分享创造

2022 年了,我用 Golang 写了一套虚拟桌面系统,还有人用吗?

  •  1
     
  •   ClownFish · 2022-06-10 15:02:03 +08:00 · 3898 次点击
    这是一个创建于 883 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬,大家好!

    我最近用 Golang 写了套项目,基于 Docker 容器虚拟桌面。

    其中包括 vnc 的协议解析项目VncProxy,虚拟桌面Agent,还有打包好的虚拟桌面 Image。包括ubuntucentos基础系统,vscodechromeeclipse等等 linux 应用。

    目前业界也挺多类似的项目的,基本原理都是 docker 容器启动xwindow+vncserver+novnc,实现了通过网页访问远程桌面。但是大部分都是基于现有组件组合搭建,并没有使用一套系统从头构建。

    我的这个项目基本原理没变,只是我使用了 golang 实现了一个vncProxy,解析了 vnc 底层的rfb协议,并且有计划使用 golang 实现更多功能,包括vncServerxWindow应用等。

    VncProxy

    VncProxy 项目有计划的完善功能:

    • vnc 代理(已完成)
    • 剪切板(vnc 本身支持)
    • 通过协议远端录制桌面(已完成)
    • 针对桌面编码的优化(已完成)
    • 桌面分享
    • 文件上传下载
    • 声音的输入输出

    预计将来要做的功能

    1. 引入 tigervnc 项目(c/c++),编译进 golang 。
    2. 扩展 vnc 协议,支持更高性能的编码格式。
    3. 基于 novnc 实现高性能图现象编码传输。

    Agent

    Agent 可以作为一个 vncproxy ,也可以作为一个 agent 本身,执行命令,上报数据等功能。

    可以把它作为一个桌面容器的 init 。后续支持 k8s 集群,就能大规模的部署多租户云桌面环境。

    Image

    目前已经完成了 Ubuntu 和 Centos 的基础镜像的构建。正在构建各种应用的镜像。

    项目地址

    如果有对虚拟桌面,golang 开发的小伙伴可以加我 vx-base64:dnByaXgtY29t一起交流。

    我也希望找到志同道合的小伙伴能一起打造该项目。

    对该项目的有任何看法,或者希望多交流的朋友也可以加我哦!

    14 条回复    2022-08-01 10:36:04 +08:00
    lwch
        1
    lwch  
       2022-06-10 15:10:11 +08:00
    原来是 cgo😃
    ClownFish
        2
    ClownFish  
    OP
       2022-06-10 15:12:31 +08:00
    @lwch 哈哈,被你看到了
    1hscj3sm63
        3
    1hscj3sm63  
       2022-06-10 17:11:33 +08:00
    小了格局小了,难道你不知道有个东西叫 Xserver 吗
    1hscj3sm63
        4
    1hscj3sm63  
       2022-06-10 17:13:10 +08:00
    好像有人用 shell 写了个东西叫 x11docker , windows 下面也有一些 Xserver 的实现
    ClownFish
        5
    ClownFish  
    OP
       2022-06-10 17:17:52 +08:00
    @1hscj3sm63 怎么可能不知道,引用场景不一样哈!可以了解下
    codehz
        6
    codehz  
       2022-06-10 23:52:27 +08:00
    (能用上 gpu 吗
    ClownFish
        7
    ClownFish  
    OP
       2022-06-11 07:39:20 +08:00
    @codehz 哈哈哈,目前还不行,不过再支持的计划中,要一定的时间,支持 gpu 以后,应用场景会大很多。
    ysicing
        8
    ysicing  
       2022-06-11 09:54:51 +08:00
    文档更丰富就更好了,现在使用文档比较少
    codehz
        9
    codehz  
       2022-06-11 12:58:22 +08:00
    @ClownFish 没 gpu 的话 vscode,chrome 这种根本 ppt
    Logtous
        10
    Logtous  
       2022-06-11 18:24:14 +08:00
    类似 LXDE/LxQT desktop 吗?
    ClownFish
        11
    ClownFish  
    OP
       2022-06-11 21:19:08 +08:00
    @ysicing 嗯,月底会完善文档,目前再初期开发。
    ClownFish
        12
    ClownFish  
    OP
       2022-06-11 21:25:21 +08:00
    @codehz 支持 gpu 并不复杂,有现成的方案,主要是我的系统要做的工作太多,只能一步一步的来。
    qiandongdong
        13
    qiandongdong  
       2022-07-31 20:46:36 +08:00
    一直关注着,什么时候有 demo
    ClownFish
        14
    ClownFish  
    OP
       2022-08-01 10:36:04 +08:00
    @qiandongdong 已经有 demo 了呀! 看项目 https://github.com/vprix
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.