第一次接触RustDesk是在去年帮朋友远程调试代码的时候。当时TeamViewer突然抽风连不上,朋友急得直跳脚,我随手搜了下替代方案,发现了这个开源的远程桌面工具。用完之后真香——不仅连接速度快得像在本地操作,而且完全免费,还能自己搭建服务器。
RustDesk最大的特点就是轻量和可控。它用Rust语言编写,安装包只有10MB左右,运行内存占用不到30MB。相比那些动辄几百MB的商业软件,它在老旧电脑上也能流畅运行。更重要的是,所有数据都走你自己的服务器,不用担心隐私泄露。
我后来在公司内部推广使用时做过测试:在同一局域网下,RustDesk的延迟能控制在50ms以内,1080P屏幕传输帧率稳定在30fps。有次帮外地同事修Bug,他惊讶地说:"这比我们公司买的某商业软件还流畅!"
建议选择至少2核4G的云服务器,带宽最好10Mbps以上。我在阿里云轻量应用服务器上实测:1M带宽只能勉强传输文字,5M带宽可以流畅操作IDE,10M带宽才能无卡顿看视频教程。
关键端口需要提前开放:
bash复制# Ubuntu防火墙设置示例
sudo ufw allow 21115:21119/tcp
sudo ufw allow 8000/tcp
sudo ufw allow 21116/udp
官方推荐Ubuntu 20.04 LTS,实测CentOS 7也能跑。有次我在树莓派上装Debian 11也成功了,不过ARM架构需要自己编译。
必备依赖:
bash复制sudo apt update
sudo apt install -y unzip npm libxcb-randr0-dev libxdo-dev
从GitHub下载最新服务端包:
bash复制wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip -d rustdesk-server
目录结构解读:
hbbs - ID注册服务(必须运行)hbbr - 中继转发服务(P2P失败时启用)rustdesk-utils - 密钥生成工具直接运行服务容易崩溃,推荐用PM2管理:
bash复制npm install pm2 -g
cd rustdesk-server
pm2 start hbbs -- -r hbbr运行IP:21117
pm2 start hbbr
pm2 save
pm2 startup
小技巧:用-r参数指定中继服务器IP,可以避免客户端二次配置。
在客户端设置→网络→ID服务器填入:
code复制hbbs运行IP:21116
高级设置里有个坑要注意:强制加密选项如果开启,Windows客户端可能会黑屏。我花了三小时排查才发现是这个原因。
默认配置下任何人知道服务器IP都能注册,建议:
hbbs启动参数加-k _设置访问密码/root/db/vbox.db文件里的过期设备给公司部署时可以:
yaml复制version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server
command: hbbs -r relay.example.com:21117
ports:
- "21115:21115"
- "21116:21116"
- "21116:21116/udp"
hbbr:
image: rustdesk/rustdesk-server
command: hbbr
ports:
- "21117:21117"
安卓客户端容易断连,建议:
常见问题及解决方案:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 连接超时 | 防火墙未放行端口 | 用telnet IP 21116测试连通性 |
| 黑屏 | 显卡驱动兼容问题 | 关闭硬件加速 |
| 卡顿严重 | 带宽不足 | 在设置里调低画质到720p |
| ID显示为乱码 | 时区设置错误 | 在服务端执行timedatectl set-timezone Asia/Shanghai |
有次客户反馈连接后鼠标漂移,最后发现是服务端和客户端DPI设置不一致。这个坑官方文档都没提,后来我在GitHub提issue才补充到FAQ里。
在百人团队使用时,原始配置会出现卡顿。通过以下调整实现流畅运行:
bash复制# 服务端启动参数添加
hbbs --video-bitrate 5000 --video-fps 30
bash复制echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
bash复制# 修改PM2内存限制
pm2 start hbbs --max-memory-restart 300M
实测调优后,同时50人在线操作的平均CPU负载从70%降到35%。有个细节:Windows客户端在4K屏下特别吃资源,建议远程时暂时调低分辨率。