三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

RustDesk 远程桌面一键部署与使用全指南:新手到进阶的完整教程

RustDesk 远程桌面一键部署与使用全指南:新手到进阶的完整教程

RustDesk 远程桌面一键部署与使用全指南:新手到进阶的完整教程

【免费下载链接】rustdeskAn open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk

RustDesk 是一款用 Rust 语言编写的开源远程桌面软件,主打"自托管 + 数据自主",常被视为 TeamViewer 的免费替代品。本文是一份从零到一的 RustDesk 部署与使用完整教程:先帮你判断它适不适合你,再按上手难度拆出三条安装路线,随后完成首次远控、权限安全加固、流畅度调优,最后覆盖无人值守、批量部署与高频排障,全程附带可直接复制的中文注释配置。

开工之前:先搞懂 RustDesk 能替你做什么

这一章适合所有读者,目的是让你花三分钟判断这套工具适不适合自己的场景,避免装完发现用不上。

RustDesk 解决的痛点很直接:远程控制另一台电脑时,TeamViewer 等商业软件要么收费,要么数据要经过厂商服务器。RustDesk 走的是"开源 + 可自建服务器"路线,你可以直接使用官方免费公共服务器,也可以把中继、信令服务全部架到自己的机器上,数据链路完全由自己掌控。

下面这张表帮你快速对号入座,看看自己属于哪种典型玩法:

使用场景典型人群推荐用法需要自建服务器吗
临时救急远控帮朋友/同事修电脑双方都装客户端,给 ID 和一次性密码即可不需要
家庭设备常驻在公司连家里电脑被控端设固定密码 + 开机自启可选,局域网够用
企业无人值守IT 运维、机房管理批量部署 + 系统服务 + 统一密钥强烈建议

它的整体工作流程可以看下面这张架构图:控制端与被控端通过 ID 寻址,连接时优先尝试点对点直连,直连失败再走中继服务器,一路上所有音视频、剪贴板、文件数据都经过加密传输。

📌 小提示:RustDesk 的源码目录本身就是一份很好的"产品说明书",感兴趣的读者可以顺着 libs/hbb_common(编解码与网络封装)、libs/scrap(屏幕采集)、src/server(音频/剪贴板/输入/视频服务)这几个目录快速了解它的能力边界。

安装前的准备清单:系统要求、端口与首次界面

这一章解决"装之前要准备什么",适合所有平台的新手,先把坑位预判清楚再动手。

各平台最低要求对照

RustDesk 对硬件要求不高,日常办公电脑都能跑,但被控端长期在线的话建议内存不低于 4GB。各平台情况如下:

平台系统版本附加说明
WindowsWindows 10/11 64 位若要用系统服务方式运行,需管理员权限
macOS10.14 及以上需手动授予屏幕录制、辅助功能权限
Linux常见发行版均可桌面环境需支持 X11 或 Wayland
Android / iOS主流版本提供移动端远程控制能力

网络端口清单

如果你只使用官方公共服务器,什么都不用改;一旦决定自建服务器或遇到连接失败,就要确认下面这组端口在防火墙上处于放行状态(TCP/UDP 均为 21115~21119,其中 21116 的 UDP 用于打洞与信令)。

# 快速检查本机这些端口是否被占用 ss -tulpn | grep 2111

首次启动你会看到什么

装好后双击图标,主界面会直接显示本机地址(ID)和临时密码,另外还有一个"远程 ID"输入框用来连接别人。整个流程不需要注册账号,这是 RustDesk 与传统远控软件最大的体验差异。下图是移动端的设备列表界面,电脑端布局与此类似:

三条安装路线,按上手难度对号入座

这一章解决"怎么装",是全文最核心的部分。我们按难度分成三条路线:小白走图形化安装包,命令行熟手走包管理器,爱折腾的玩家走源码编译。你可以只读适合自己的一段。

路线一:图形化安装,推荐新手

这是最省心的方式,到项目发布页下载对应平台的安装包即可:

  • Windows:下载.exe.msi安装包,双击按向导完成安装;
  • macOS:下载.dmg,把图标拖入 Applications 文件夹;
  • Linux:按发行版选择.deb(Debian/Ubuntu 系)、.rpm(Fedora/RedHat 系)或通用.AppImage
  • 手机端:直接在应用商店搜索安装,Android 也可以从 F-Droid 渠道获取。
# Linux 下安装 .deb 包示例 sudo apt install ./rustdesk-1.4.x-x86_64.deb
# AppImage 方式:下载后给执行权限直接跑,无需安装 chmod +x rustdesk-1.4.x-x86_64.AppImage ./rustdesk-1.4.x-x86_64.AppImage

路线二:包管理器安装,适合命令行熟手

如果你习惯用系统包管理器管理软件,这条路更干净、也更容易升级:

# Windows 下用 Chocolatey 安装 choco install rustdesk
# macOS 下用 Homebrew 安装 brew install --cask rustdesk
# Ubuntu/Debian 系用 Snap sudo snap install rustdesk
# Arch Linux/Manjaro 从 AUR 安装 yay -S rustdesk

路线三:源码编译,适合进阶玩家

想要最新特性、自定义功能或深度二次开发时,可以自己编译。编译前先准备 Rust 工具链和 C++ 构建环境,并用 vcpkg 拉取 libvpx、libyuv、opus、aom 四个视频音频编解码库。

# 1. 安装 Rust 工具链 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" # 2. 准备 vcpkg 并安装编解码依赖 git clone https://github.com/microsoft/vcpkg ./vcpkg/bootstrap-vcpkg.sh export VCPKG_ROOT="$HOME/vcpkg" "$VCPKG_ROOT/vcpkg" install libvpx libyuv opus aom # 3. 拉取源码并编译 git clone https://gitcode.com/GitHub_Trending/ru/rustdesk cd rustdesk cargo build --release # 4. 产物路径 # 编译好的程序在 target/release/rustdesk

⚠️ 注意:Linux 上编译前还要装一堆系统依赖,Ubuntu/Debian 系一条命令搞定,包括libgtk-3-devlibxcb-randr0-devlibxdo-devlibpulse-devlibgstreamer1.0-dev等,缺哪个按报错补哪个即可。项目根目录的 README.md 里列出了各发行版的完整依赖清单。

三条路线怎么选

路线上手难度升级便利性可定制性推荐给谁
图形化安装包★☆☆☆☆一般纯新手、日常使用
包管理器★★☆☆☆开发者、运维
源码编译★★★★☆自管二次开发者、尝鲜玩家

📌 我的建议:日常使用选路线一,被控端长期在线选路线二方便跟随版本更新;只有当你要改代码或抢先体验新功能时才需要走路线三。

进阶技巧:想构建自定义发行包时,项目里已经备好了现成配方。比如 Linux 的 AppImage 构建脚本在 appimage/AppImageBuilder-x86_64.yml,Windows 安装器工程在 res/msi/,deb 包的后置脚本在 res/DEBIAN/,参考它们可以快速产出自己的安装包。

第一次建立连接:主控与被控的分工协作

这一章解决"装好之后怎么用",适合所有读者,读完你就能完成人生第一次远控。

理解 ID 与密码机制

RustDesk 里没有传统意义的账号体系,只有两个关键概念:

  • ID(地址):每台设备的唯一标识,由服务器自动分配,相当于这台电脑的"门牌号";
  • 密码:连接凭证。默认是每次启动都会变的临时密码,也可以手动设成固定密码,方便无人值守时使用。

五步完成第一次远控

  1. 在被控端(要被人控制的电脑)打开 RustDesk,记下它的 ID 和密码;
  2. 在控制端输入对方的 ID,点击"连接";
  3. 首次连接会弹窗要求输入密码,填入被控端的密码;
  4. 连接成功后,控制端会显示对方的桌面画面;
  5. 想结束会话时,点击工具栏上的关闭按钮即可。

连接过程中弹出的画质选择、光标显示、会话后锁定等选项,都会直接影响体验,我们会在第六章统一讲怎么调。下图展示的是手机控制电脑时的真实会话画面,可以直观感受移动端远控的操作手感:

会话工具栏速览

连接建立后,底部工具栏是高频操作区:

  • 键盘图标:打开虚拟键盘或快捷键面板(Ctrl/Alt/Win 等组合键);
  • 鼠标图标:切换触控板 / 鼠标指针模式;
  • 显示器图标:调整画面质量与缩放;
  • 更多菜单:文件传输、剪切板同步、断开连接等都在这里。

部署后第一件事:把权限与安全收干净

这一章解决"装好之后马上要做什么",强烈建议每个读者在第一次远控前读完,尤其是被控端要保持长期在线的人。

macOS 权限授予避坑清单

macOS 系统安全策略严格,不授权就黑屏或无法操作。安装后请到"系统偏好设置 → 安全性与隐私 → 隐私"里依次打开:

  1. 屏幕录制:不授予则远程端只能看到黑屏;
  2. 辅助功能:不授予则无法模拟鼠标键盘点击;
  3. 输入监控:不授予则按键事件可能被拦截。
# 权限混乱时可用命令重置再重新授权(注意 bundle id 以实际安装为准) tccutil reset ScreenCapture com.carriez.rustdesk

Linux 下的权限与音频提示

Linux 的 Wayland 会话对屏幕采集限制较严格,远程画面可能受限,必要时切换到 X11 会话使用。音频方面,若发现远程无声,可检查 PulseAudio 或 PipeWire 服务是否正常,项目内置的 systemd 服务模板里也预设了音频延迟相关参数(见 res/rustdesk.service)。

设置固定密码与访问控制

进入设置,把"安全"相关选项打开:设置固定密码、开启"会话结束后锁定屏幕"、关闭不必要的"自动接受连接"。更细粒度的控制可以写入配置文件,各平台配置路径如下:

平台配置文件路径
Windows%APPDATA%\RustDesk\config\RustDesk.toml
macOS~/Library/Application Support/RustDesk/config/RustDesk.toml
Linux~/.config/RustDesk/config/RustDesk.toml
[options] # 固定密码,远程连接时必须输入 password = "请改成你的强密码" # 加密密钥,自建服务器时两端保持一致 key = "你的自定义密钥" # 连接结束后自动锁定被控端屏幕 lock-after-session-end = true # 关闭自动登录,防止无密码被连 auto-login = false [access-control] # 是否允许远程文件传输 allow-file-transfer = true # 是否允许远程控制输入 block-remote-input = false # 只允许内网段接入 whitelist = ["192.168.1.0/24"]

这段配置做了什么:定义了固定密码、会话后锁定、访问白名单等安全策略。何时使用:被控端需要长期在线、或需要限制谁能连接时使用,属于"一次配置长期受益"的部分。

进阶技巧:企业场景下建议自建信令/中继服务器,并在所有客户端统一写入custom-rendezvous-serverkey,这样密钥与地址全部掌握在自己手里,公共服务器上的任何波动都不会影响你的链路。

让它更跟手:画质、音频与网络调优

这一章解决"连上了但卡/糊/延迟高怎么办",适合追求流畅远控体验的所有人。

直连与中继,理解延迟从哪来

连接建立时,RustDesk 会优先尝试 P2P 直连(局域网或 NAT 打洞),只有直连失败才走中继服务器。延迟高低,很大程度上取决于走的通道:直连延迟通常最低,跨地区走公共中继时延迟会明显上升。

画质三档怎么选

连接后的画质设置里通常有三档,分别对应不同诉求:

  • 图像质量优先:适合看高清内容、演示操作;
  • 平衡(默认):画质与响应速度的折中,日常推荐;
  • 响应速度优先:适合输入为主的运维操作,牺牲画质换低延迟。

下图是移动端会话中的画质与功能设置界面,电脑端逻辑完全一致:

用配置文件固定你的最优参数

把常用参数写进配置文件,可以免去每次手动调整:

[video] # 编码器:h264 兼容性最好 codec = "h264" # 帧率上限,网络好可拉到 30 以上 fps = 30 # 码率,单位 kbps,网络差就调低 bitrate = 5000 # 开启硬件编码与硬解,降低 CPU 占用 hardware-encoding = true hardware-decoding = true [audio] # 音频编码器与采样率 codec = "opus" sample-rate = 48000 # 降噪与回声消除,视频会议场景建议开启 noise-suppression = true echo-cancellation = true [network] # 延迟高于此阈值(ms)时改用中继,避免直连反复重试 direct-threshold = 100 relay-timeout = 3000 keep-alive-interval = 10

常见性能问题速查

现象优先排查项
画面卡顿、帧率低降低画质档位、关闭硬件编码看是否兼容问题
CPU 占用高确认硬件编码/解码是否真正生效
延迟大检查走的是直连还是中继,必要时自建中继
音频不同步调整网络参数并确认音频编码为 opus

进阶玩法:无人值守、开机自启与企业批量部署

这一章解决"让远控真正自动化",适合运维人员和想把被控端做成常驻服务的高级用户。内容全部收进本节,不影响前面新手的阅读节奏。

让被控端开机自启

Windows 注册为系统服务(需管理员权限),这样无需登录桌面也能被连接:

# 注册 RustDesk 为系统服务,开机自动启动 sc create RustDesk binPath= "C:\Program Files\RustDesk\rustdesk.exe --service" start= auto

Linux 使用 systemd:项目自带的服务模板 res/rustdesk.service 直接可用,其中已经处理了网络依赖、音频延迟参数和停止时清理托盘/服务进程的逻辑:

# 将项目里的服务模板拷贝到系统目录 sudo cp res/rustdesk.service /etc/systemd/system/rustdesk.service # 启用并启动 sudo systemctl enable rustdesk sudo systemctl start rustdesk

Linux 桌面图标:项目自带的 res/rustdesk.desktop 是标准桌面入口,按需把它放到~/.local/share/applications/即可在应用菜单中显示。

常用命令行参数

参数作用
--service以服务模式运行(常配合开机自启)
--tray只运行托盘程序,不打开主窗口
--server以被控服务方式运行
--log-level debug输出详细日志,排查问题时使用

健康巡检脚本

被控端数量多时,写一个简单的巡检脚本定期检查进程与网络连通性,挂到 cron 或 systemd timer 里即可:

#!/bin/bash # rustdesk-healthcheck.sh —— 每隔一段时间检查被控端是否存活 LOG=/var/log/rustdesk-healthcheck.log # 进程不在了就尝试重启服务 if ! pgrep -x rustdesk > /dev/null; then echo "$(date) rustdesk 进程消失,尝试重启" >> $LOG systemctl restart rustdesk fi # 网络连通性抽查,IP 换成你的中继服务器 if ! nc -z 10.0.0.5 21116; then echo "$(date) 中继端口不通" >> $LOG fi

企业批量部署参考

配置管理工具批量下发安装包与配置文件的思路如下(以 Ansible 为例,仅作思路参考):

- name: 批量部署 RustDesk hosts: all tasks: - name: 下载安装包 get_url: url: https://your-mirror/rustdesk-x86_64.deb dest: /tmp/rustdesk.deb - name: 安装 apt: deb: /tmp/rustdesk.deb - name: 下发统一配置(含固定密码与密钥) copy: src: RustDesk.toml dest: ~/.config/RustDesk/config/RustDesk.toml - name: 注册为系统服务 systemd: name: rustdesk enabled: true state: started

进阶技巧:剪贴板与文件传输是远控的隐藏高频功能。Windows 上它是通过 COM 接口的IDataObjectIStream实现的格式协商与文件流读取,项目在 libs/clipboard/ 里给出了完整实现,下面的时序图展示了"复制方 Ctrl+C、粘贴方 Ctrl+V"时两侧如何交换格式清单与文件内容:

高频问题排查清单:连接失败、黑屏、卡顿一次说清

这一章解决"出问题怎么办",把最常踩的坑集中在一份清单里,适合遇到问题时随时回来对照。

连接类问题

症状可能原因处理办法
完全连不上防火墙拦截了 21115~21119放行相关端口,内网先测试连通性
能连但一直转圈走中继失败或公共服务器波动换中继服务器,或自建服务器
提示密码错误临时密码过期重新读取被控端当前显示的密码

画面与输入类问题

症状可能原因处理办法
黑屏未授予屏幕录制权限(macOS)到系统设置重新授权并重启应用
鼠标键盘无法操作未授予辅助功能权限同上,补授权
画面模糊码率或分辨率设置过低提高码率或切到画质优先档
桌面分辨率错乱远程分辨率未自适应在会话中开启自适应缩放

日志怎么查

排障时开启详细日志,能少走很多弯路:

# 以调试模式启动,控制台会输出详细连接与编解码信息 rustdesk --log-level debug

各平台日志默认位置:Windows 在%APPDATA%\RustDesk\log\,macOS 在~/Library/Logs/RustDesk/,Linux 在~/.local/share/RustDesk/log/

写在最后

无论你是只想偶尔远程帮朋友修电脑的普通用户,还是要把几十台设备管起来的运维工程师,甚至是想二次开发一款远控软件的学习者,都能用这套流程把 RustDesk 从"装得上"推进到"用得顺"。回顾全文,你带走的应该是这四样东西:一是三条按难度划分的安装路线,让你永远有合适的入手姿势;二是 ID 与密码这套零门槛连接机制,三分钟就能完成第一次远控;三是权限、密钥、访问控制一体的安全基线,保证被控端长期在线也心里有底;四是一份覆盖画质调优与高频排障的实战清单,遇到问题不再抓瞎。剩下的,就交给你在真实使用中去探索了。

【免费下载链接】rustdeskAn open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表