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

2022-06-10 15:02:03 +08:00
 ClownFish

各位大佬,大家好!

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

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

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

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

VncProxy

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

预计将来要做的功能

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

Agent

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

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

Image

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

项目地址

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

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

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

3625 次点击
所在节点    分享创造
14 条回复
lwch
2022-06-10 15:10:11 +08:00
原来是 cgo😃
ClownFish
2022-06-10 15:12:31 +08:00
@lwch 哈哈,被你看到了
1hscj3sm63
2022-06-10 17:11:33 +08:00
小了格局小了,难道你不知道有个东西叫 Xserver 吗
1hscj3sm63
2022-06-10 17:13:10 +08:00
好像有人用 shell 写了个东西叫 x11docker , windows 下面也有一些 Xserver 的实现
ClownFish
2022-06-10 17:17:52 +08:00
@1hscj3sm63 怎么可能不知道,引用场景不一样哈!可以了解下
codehz
2022-06-10 23:52:27 +08:00
(能用上 gpu 吗
ClownFish
2022-06-11 07:39:20 +08:00
@codehz 哈哈哈,目前还不行,不过再支持的计划中,要一定的时间,支持 gpu 以后,应用场景会大很多。
ysicing
2022-06-11 09:54:51 +08:00
文档更丰富就更好了,现在使用文档比较少
codehz
2022-06-11 12:58:22 +08:00
@ClownFish 没 gpu 的话 vscode,chrome 这种根本 ppt
Logtous
2022-06-11 18:24:14 +08:00
类似 LXDE/LxQT desktop 吗?
ClownFish
2022-06-11 21:19:08 +08:00
@ysicing 嗯,月底会完善文档,目前再初期开发。
ClownFish
2022-06-11 21:25:21 +08:00
@codehz 支持 gpu 并不复杂,有现成的方案,主要是我的系统要做的工作太多,只能一步一步的来。
qiandongdong
2022-07-31 20:46:36 +08:00
一直关注着,什么时候有 demo
ClownFish
2022-08-01 10:36:04 +08:00
@qiandongdong 已经有 demo 了呀! 看项目 https://github.com/vprix

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/858727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX