用 Tauri+egui 做了一款开源 Rust 远程桌面: MirrorX

2022-11-23 19:23:53 +08:00
 cby0414

通俗的开头:试遍了市面上的远程桌面,离我需要在 mac 上玩 win 游戏至少 60 帧且能免费不折腾的需求都还有些差距,所以我决定自己写一个。

之前由于工作原因没有时间来做,在去年底失业玩了 3 个多月且求职屡屡碰壁并看在还有些积蓄的时候,我开始下决心做好这件事。

目前已发布 0.1.2 版本,基于 tauri 和 egui 使用 Rust 开发,tauri 用于主界面这种性能要求不高但是 ui 业务逻辑有点复杂的地方,egui 用于远程桌面窗口这种性能要求较高但仅需要少量 ui 的地方,桌面图像使用 opengl 绘制。tauri 和 egui 理论上桌面和移动平台都支持,但是目前我还是只主要测试了 Windows 和 macOS 平台,其他平台的支持会慢慢加上去(取决于我的精力😂)

全部的 3 个组件,包括客户端、信令服务器、中转服务器都完全开源,基于 p2p 打洞的方式正在研究中。

视频的编解码目前限制在 h264 软编软解,h265 、vp9 和硬件编解码在测试稳定后会加入到编码方式设置里。

代码仓库

https://github.com/MirrorX-Desktop/MirrorX

软件截图

最后

我现在是无业状态,每晚会在 B 站直播写这个项目的代码,有兴趣的 V 友可以来看看: http://live.bilibili.com/9020546

另外还是希望能找到一份远程的工作,能解决我的生存问题并继续投入在这个项目里,本人经验 go4 年,rust 不到 1 年,有意的请留言或联系~

最后希望 V 友们能给仓库一个 Star ,谢谢啦😁

7310 次点击
所在节点    分享创造
61 条回复
cby0414
2022-11-28 05:02:11 +08:00
@HulkLee 谢谢,不过 rustdesk 帧率好像是锁在 30 ?
Thinsky313
2022-11-28 10:12:25 +08:00
@cby0414 我们有 tauri 的开源项目,有兴趣合作一下吗?
Wechat: BenY1ng
Email: benying1988@gmail.com
davinci21s
2022-11-28 11:13:18 +08:00
牛逼
cby0414
2022-11-28 14:09:13 +08:00
@Thinsky313 已加~
allanpk716
2022-11-28 17:50:57 +08:00
本地多屏幕支持了吗? 4K 屏幕卡吗?
cby0414
2022-11-28 23:11:51 +08:00
@allanpk716 本地多屏幕是指被控端多个屏幕选择或者多个屏幕同时采集吗?还是控制端可以选择采集哪个屏幕?
allanpk716
2022-11-29 12:27:10 +08:00
@cby0414 受控端无屏幕,控制端有两个屏幕,是否可以在控制端连接上被控端后,让其支持双屏。类似微软的 mstsc
Metre
2022-11-29 16:38:11 +08:00
厉害了 fork 为敬
horou
2022-11-29 17:51:38 +08:00
太棒了,不仅技术牛 B ,还很有开源精神,已 Star ,希望作者能够坚持下去。
cby0414
2022-11-29 20:20:20 +08:00
@allanpk716 从你的描述看如果被控端没有屏幕,那么就需要虚拟屏幕出来,这个在 Windows 上需要写驱动来支持,linux 上可能可以启动一个桌面服务器,macOS 上目前暂时不知道怎么实现,原理我倒是能摸个大差不差,但是实现起来应该比较费劲,所以暂时没有规划这个功能。
lookStupiToForce
2022-11-30 18:11:21 +08:00
感谢!
正好有同 op 的需求,rdp 和 steamlink 都莫名卡顿( rdp 可能跟微软本身就不打算将之支持游戏有关,压缩算法顾及不到高 fps ; steamlink 就真不知道了),来试一试这个
再次感叹分享区的 v 友真是太棒了!
cby0414
2022-11-30 20:31:23 +08:00
@lookStupiToForce 感谢,我看提醒里,老哥你是发了啥被删了 2 次😂
cby0414
2022-11-30 20:33:26 +08:00
@lookStupiToForce 哦不好意思是我看错了😂
tonytonychopper
2022-12-19 11:45:27 +08:00
@unclemcz 我最近也在做这个,但是我发现 tauri 拿不到剪贴板图片,感觉还得好好学一下 rust 怎么用。。。
FrankAdler
2022-12-26 16:23:08 +08:00
macOS12.6 下发现一个问题:启动后默认窗口置顶,会挡住所有的应用,且没找到可设置的地方,点击关闭后窗口消失且再也点不开,只能退出重启,最小化正常
cby0414
2022-12-26 19:00:17 +08:00
@FrankAdler 感谢反馈,置顶后续会增加一个开关;窗口关闭是由于窗口的消息循环原因,目前是直接隐藏掉窗体,所以如果关闭后想要复原窗体,需要点击托盘菜单里的显示。
opentrade
2023-02-13 19:02:17 +08:00
@cjzlol 一直没重视这个熄屏问题,贡献者提交一个小 PR ,会再优化,画面质量现在我们是把 bitrate 卡的比较低,后面会综合优化,提高 bitrate 。
opentrade
2023-02-13 19:04:04 +08:00
opentrade
2023-02-13 19:04:50 +08:00
opentrade
2023-02-13 19:05:48 +08:00
@cby0414 依然感谢你之前对 RustDesk 的贡献,加油!

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

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

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

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

© 2021 V2EX