网站首页 > 技术文章 正文
大家好,我是Jack Bytes,一个专注于将人工智能应用于日常生活的程序猿,平时主要分享AI、NAS、开源项目等。
在当今数字化办公与远程协作愈发重要的时代,远程桌面软件成为了许多人日常工作中不可或缺的工具。
RustDesk 作为一款新兴的远程桌面解决方案,凭借其独特的优势和开源的特性,吸引了众多开发者和用户的关注。
今天,就让我们一同深入了解 RustDesk 这个开源项目。
一、介绍
RustDesk 是一款用 Rust 语言编写的远程桌面软件,它最大的亮点在于无需复杂配置即可直接使用,用户能够完全掌控自己的数据,不用担心安全问题。
其代码库结构清晰,包含了多个重要的模块,如libs目录下有clipboard、enigo、scrap等子模块,分别负责剪贴板操作、平台的键盘鼠标控制、屏幕捕获等功能;src目录则包含了客户端、服务器、用户界面等核心代码。
二、功能特性
- 数据安全可控:用户对自己的数据拥有完全的控制权,可以使用官方提供的 rendezvous/relay 服务器,也能根据需求自行搭建服务器,甚至还能自己编写 rendezvous/relay 服务器。
- 多平台支持:从代码库可以看出,有针对不同操作系统的构建步骤和相关代码,如在 Linux 的不同发行版(Ubuntu、openSUSE、Fedora、Arch 等)上都有对应的安装依赖和构建方法,这表明 RustDesk 能够很好地支持多平台运行。
- 多语言支持:项目提供了多种语言的文档,包括中文、英文、法语、德语、日语等,方便不同地区的用户使用和参与翻译工作,也体现了其国际化的发展方向。
- 模块化设计:代码库采用模块化设计,各个功能模块分工明确,例如libs/scrap专门负责屏幕捕获,libs/enigo负责平台的键盘鼠标控制,这种设计使得代码的可维护性和扩展性都非常高。
三、一键安装
可以在开源项目的网站上一键安装,支持Windows、Ubuntu、Mac、Android、IOS等操作系统。
四、本地编译
如果你想在本地根据代码自行编译,可以按照下面的步骤:
准备环境
要构建 RustDesk,首先需要准备好 Rust 开发环境和 C++ 构建环境,同时要安装vcpkg,并正确设置VCPKG_ROOT环境变量。
不同操作系统的依赖安装
- Ubuntu 18(Debian 10)
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libpam0g-dev
- openSUSE Tumbleweed
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel pam-devel
- Fedora 28(CentOS 8)
sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel pam-devel
- Arch(Manjaro)
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
安装vcpkg
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
运行项目
完成上述步骤后,在项目根目录下运行cargo run即可启动 RustDesk。
四、总结
RustDesk 作为一款开源的远程桌面软件,凭借其安全可控的数据管理、多平台支持、多语言文档以及模块化的代码设计,为用户和开发者提供了一个优秀的解决方案。
对于需要远程协作的用户来说,它是一个可靠的工具;对于开发者而言,其开源的特性和清晰的代码结构,为学习和参与贡献提供了良好的机会。
随着更多开发者的加入和项目的不断完善,相信 RustDesk 会在远程桌面领域发挥更大的作用。
我是Jack Bytes
一个专注于将人工智能应用于日常生活的半吊子程序猿!
平时主要分享AI、NAS、Docker、搞机技巧、开源项目等技术,喜欢的话请关注吧!
猜你喜欢
- 2025-10-23 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- 2025-10-23 [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 2025-10-23 超详细手把手搭建在ubuntu系统的FFmpeg环境
- 2025-10-23 Nginx运维之路(Docker多段构建新版本并增加第三方模
- 2025-10-23 Go 人脸识别教程_piwigo人脸识别
- 2025-10-23 安卓手机安装Termux——搭建移动服务器
- 2025-10-23 ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- 2025-10-23 Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- 2024-08-13 Linux 内核学习1. 编译并启动一个最小化系统
- 2024-08-13 如何在 Ubuntu 22.04 下编译 StoneDB for MySQL 8.0 | StoneDB 使用教程 #1
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)