大家好,我是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、搞机技巧、开源项目等技术,喜欢的话请关注吧!