RustDesk:无需配置的远程桌面解决方案,构建、使用及文件结构全解析

张开发
2026/4/19 19:15:37 15 分钟阅读

分享文章

RustDesk:无需配置的远程桌面解决方案,构建、使用及文件结构全解析
多语言支持与翻译需求构建 • Docker • 结构 • 快照支持乌克兰语、捷克语、中文、匈牙利语、西班牙语、波斯语、法语、德语、波兰语、印尼语、芬兰语、马拉雅拉姆语、日语、荷兰语、意大利语、俄语、巴西葡萄牙语、世界语、韩语、阿拉伯语、越南语、丹麦语、希腊语、土耳其语、挪威语、罗马尼亚语。同时需要大家帮助将此 README、RustDesk 用户界面和 RustDesk 文档翻译成母语。谨慎使用声明与交流渠道开发者不支持任何不道德或非法使用该软件的行为未经授权的访问、控制或侵犯隐私等不当使用严格违反准则作者对该应用程序的任何不当使用不承担责任。可通过 Discord、Twitter、Reddit、YouTube 与开发者交流。RustDesk 简介RustDesk 是用 Rust 编写的远程桌面解决方案无需配置即可直接使用用户可完全掌控自己的数据无需担心安全问题。用户可以使用官方的中继/转发服务器也可以自行搭建甚至编写自己的中继/转发服务器。RustDesk 欢迎每个人贡献代码具体指引请参阅 CONTRIBUTING.md。常见问题解答涉及二进制下载和每日构建。依赖项桌面版本使用 Flutter 或 Sciter已弃用来实现图形用户界面GUI本教程仅针对 Sciter因为它更易于上手且对新手更友好。若要构建 Flutter 版本请查看持续集成CI配置。需自行下载 Sciter 动态库支持的系统有 Windows、Linux、macOS。构建步骤首先要准备好 Rust 开发环境和 C 编译环境接着安装 vcpkg并正确设置 VCPKG_ROOT 环境变量Windows 需运行 vcpkg install libvpx:x64 - windows - static libyuv:x64 - windows - static opus:x64 - windows - static aom:x64 - windows - staticLinux/macOS 需运行 vcpkg install libvpx libyuv opus aom最后运行 cargo run 进行构建。在 Linux 上的构建方法Ubuntu 18Debian 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 - devopenSUSE 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 - develFedora 28CentOS 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 - develArchManjaro需运行 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/vcpkgcd vcpkggit checkout 2023.04.15cd ..vcpkg/bootstrap - vcpkg.shexport VCPKG_ROOT$HOME/vcpkgvcpkg/vcpkg install libvpx libyuv opus aom修复 libvpx针对 Fedora需运行 cd vcpkg/buildtrees/libvpx/srccd *./configuresed - i s/CFLAGS-I/CFLAGS-fPIC -I/g Makefilesed - i s/CXXFLAGS-I/CXXFLAGS-fPIC -I/g Makefilemakecp libvpx.a $HOME/vcpkg/installed/x64 - linux/lib/cd构建需运行 curl --proto https --tlsv1.2 - sSf https://sh.rustup.rs | shsource $HOME/.cargo/envgit clone --recurse - submodules https://github.com/rustdesk/rustdeskcd rustdeskmkdir - p target/debugwget https://raw.githubusercontent.com/c - smile/sciter - sdk/master/bin.lnx/x64/libsciter - gtk.somv libsciter - gtk.so target/debugVCPKG_ROOT$HOME/vcpkg cargo run使用 Docker 构建首先克隆仓库并构建 Docker 容器运行 git clone https://github.com/rustdesk/rustdeskcd rustdeskgit submodule update --init --recursivedocker build - t rustdesk - builder .。之后每次需要构建应用程序时运行 docker run --rm - it - v $PWD:/home/user/rustdesk - v rustdesk - git - cache:/home/user/.cargo/git - v rustdesk - registry - cache:/home/user/.cargo/registry - e PUID$(id - u) - e PGID$(id - g) rustdesk - builder。首次构建在依赖项缓存之前可能需要更长时间后续构建会更快。若要构建优化的发布版本可在上述命令后添加 --release。生成的可执行文件将位于系统的 target 文件夹中调试版本为 target/debug/rustdesk发布版本为 target/release/rustdesk。需确保从 RustDesk 仓库的根目录运行这些命令目前这种方法不支持 cargo 的其他子命令如 install 或 run。文件结构libs/hbb_common 包含视频编解码器、配置、TCP/UDP 包装器、Protobuf、文件传输的文件系统功能以及其他一些实用功能libs/scrap 是屏幕捕获库libs/enigo 用于特定平台的键盘/鼠标控制libs/clipboard 是适用于 Windows、Linux 和 macOS 的文件复制和粘贴实现src/ui 是过时的 Sciter 用户界面已弃用src/server 负责音频、剪贴板、输入、视频服务以及网络连接src/client.rs 用于启动对等连接src/rendezvous_mediator.rs 与 rustdesk - server 通信等待远程直接TCP 打洞或中继连接src/platform 是特定平台的代码flutter 是用于桌面和移动设备的 Flutter 代码flutter/web/js 是 Flutter Web 客户端的 JavaScript 代码。截图原文提及截图但未给出具体内容。

更多文章