2022 年了,我用 Golang 写了一套虚拟桌面系统,还有人用吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ClownFish
V2EX    分享创造

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

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

    各位大佬,大家好!

    我最近用 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     Solana     5545 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 08:54 PVG 16:54 LAX 01:54 JFK 04:54
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86