RustDesk 远程桌面:手机控电脑、批量部署与排障实操
【免费下载链接】rustdeskAn open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk
RustDesk 是一款开源可自托管的远程桌面软件,Windows、macOS、Linux、Android、iOS 之间可以互相远控,替代 TeamViewer 且不产生授权费用。实际使用中最卡人的从来不是"装不上",而是这几类具体问题:手机怎么连回办公室的电脑、打洞失败一直连不上、画面模糊帧率低怎么调、无头服务器怎么常驻。这篇文章就按这四个问题逐个拆,每个问题给最小操作步骤和一个验证动作,照着做就能跑通。
三种安装方式选一条,先让软件跑起来
装 RustDesk 有三条通道,按你愿意花的时间选:
- 官方安装包:从 Release 页下载对应平台的安装包,Windows 双击
.exe、macOS 拖入 Applications、Linux 用.deb/.rpm/.AppImage,几分钟就能跑起来,适合绝大多数人; - 包管理器:一条命令装完,以后升级卸载都有统一入口;
- 源码编译:官方二进制通常滞后于源码,想第一时间用上新功能、或者需要开启
hwcodec这类硬件编解码编译开关,就走这条。
choco install rustdesk # Windowsbrew install --cask rustdesk # macOS sudo snap install rustdesk # Linuxgit clone https://gitcode.com/GitHub_Trending/ru/rustdesk编译前要先装 vcpkg 依赖,仓库 README 给出的命令是:
vcpkg install libvpx libyuv opus aom cargo build --release编译产物在target/release/rustdesk,直接运行即可。这里有个坑:Windows 下 vcpkg 包要带三元组后缀,README 里写的是vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static,少写后缀会装错架构、后面链接失败。怎么确认装好了:rustdesk --version能打印出版本号,就说明可执行文件本身没问题,再进界面看有没有生成 ID。
手机控制电脑的完整连法
手机能控电脑这件事,本质就是"被控端出 ID,控制端填 ID + 密码",没有任何额外配置:
- 办公室电脑装好 RustDesk 并启动,记下界面顶部的主 ID 和临时密码;
- 手机装好 RustDesk,在输入框填入电脑 ID,点连接;
- 输入密码,桌面画面出来,键盘、文件传输、剪贴板同步都可用。
连上之后设备会被记住,下次直接点列表就能进:
这里最容易翻车的坑是临时密码时效:临时密码会定期变化,你手机上存的旧密码会突然连不上。长期被控的机器,建议在设置里配一个固定密码,省得每次两头确认。怎么确认成功了:手机输入密码后弹出的是登录窗口而不是报错,密码输对画面就出来,见下图:
一直连不上:先查端口再换中继
打洞失败是最高频的"连不上",原因基本就一个:NAT 打洞没成功,客户端又没回落到中继。RustDesk 连一台设备要用到这些端口,防火墙或路由器没放行就会卡住:
| 端口 | 协议 | 用途 |
|---|---|---|
| 21115 | TCP | NAT 类型探测 |
| 21116 | TCP + UDP | 注册、心跳、UDP 打洞 |
| 21117 | TCP | 中继转发 |
最小排查步骤:
- 在被控端防火墙上放行上面三个端口,UDP 21116 和 TCP 21117 缺一不可;
- 如果放行后仍然连不上,在要连接的 ID 后面加
/r(例如123456789/r)强制走中继通道,绕开打洞; - 中继走通了再回头查 UDP 为什么通不了,通常是端口映射只勾了 TCP。
一个隐蔽的坑:中继端口 21117 是 TCP,很多人只放行了 UDP,结果直连失败、回落也失败,表现就是无限转圈。怎么确认成功了:加/r后能连上,说明被控端 21117 TCP 已通;之后再放开 UDP 21116,直连恢复就说明防火墙配置齐了。
画面模糊、帧率低:会话里就能调的三个参数
卡顿的根因是带宽和编码能力不够,而你还在用默认档位。好消息是这三个参数都在远程会话里实时可调,不用断开重连:
- 打开画质菜单,在网络一般的场景选Balanced(均衡),优先流畅就选 Optimize reaction time;
- 把帧率按场景定:日常办公 30 帧足够,看视频或演示再提到 60;
- 开启硬件编解码,CPU 占用能明显降下来,注意这个能力对应编译开关
hwcodec,自行编译时要在Cargo.tomlfeatures 里启用。
一个容易踩的坑:上来就拉满画质档位。上行带宽撑不住时,高码率只会让延迟和卡顿更严重,正确姿势是先降到均衡档,网络稳了再往上加。怎么确认调好了:调完观察两三分钟,鼠标拖动和打字跟手、CPU 占用平稳,就是档位对了。
Linux 无头服务器常驻:用 systemd 单元文件
无头服务器上"用户不登录也能被远控"这件事,靠的是把 RustDesk 注册成系统服务。仓库里自带 systemd 单元文件,内容就是ExecStart=/usr/bin/rustdesk --service,直接复用:
sudo cp res/rustdesk.service /etc/systemd/system/ sudo systemctl enable --now rustdesk这里有个坑:单元文件里写死的是/usr/bin/rustdesk,如果你的可执行文件装在别的路径,要改ExecStart那一行再sudo systemctl daemon-reload,不然服务会起不来。怎么确认成功了:systemctl status rustdesk显示 active (running),然后断掉 SSH、只用 IP 远程连这台服务器,能进登录界面就说明常驻生效了。
故障速查:一张表处理大部分问题
| 症状 | 大概率原因 | 解决动作 |
|---|---|---|
| 一直连不上 | 防火墙没放行端口 | 放行 21115–21117(含 UDP 21116) |
| 连不上但加 /r 能连 | UDP 打洞被拦 | 只放行了 TCP,补上 UDP 21116 |
| 画面模糊、帧率低 | 档位过高或没开硬件加速 | 降均衡档,开启 hwcodec |
| 远程复制粘贴失效 | 剪贴板格式协商失败或权限不足 | 检查两端权限,看剪贴板模块日志 |
| macOS 连不上 | 未授权屏幕录制/辅助功能 | 系统设置里补齐权限后重启软件 |
| Linux 黑屏 | Wayland 会话兼容问题 | 切回 X11 会话再试 |
远程复制粘贴失效值得多说一句: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),仅供参考