部署Rustdesk

远程桌面控制之Rustdesk

Posted by TSingularity on June 24, 2025

“Let’s go!”

前言

很多时候总会有远程桌面的需求,经过我调研发现,有不少桌面软件做的已经很完善了。像我之前用的TeamViewer、向日葵、Todesk等软件,这些软件还是很好用的,但是无一例外,他们后面陆陆续续都开始了各种收费(可以理解),后面我又发现Parsec这个免费软件,各方面体验都非常不错,但是碍于学校网络环境很差(NAT4),连接非常不稳定,且总是失败,所以又转向了Rustdesk。

Rustdesk是一款开源的远程桌面软件(也存在专业版,但是收费),它使用Rust语言编写,支持Windows、macOS、Linux、Android等操作系统。官方提供了服务器用于直接连接,听说较慢,我主要关注的还是其支持自建服务器的优势,本文将记录在服务器上部署Rustdesk的过程。

部署 Rustdesk

Arch Linux

首先,需要准备一台机器作为服务器,我这里使用的是Arch Linux。不同于DFT、MD方面的这些计算程序,对于这些服务器部署的程序,我比较喜欢使用pacman和yay包管理器安装,因为他们不像计算程序那样对性能和运行环境要求极高,需要从源码编译设置一些参数、指令以做到加速效果。

首先我们可以去Arch Linux 官网查看有没有Rustdesk的包,如果没有,我们可以自己编译安装。Packages是官方维护的软件包,我们可以直接使用pacman安装。更多时候,我们可能需要去AUR上找一些第三方维护的软件包,需要使用yay安装。

可以发现在AUR上有Rustdesk服务器的软件包,我们可以直接使用yay安装:

1
yay -S rustdesk-server-bin 

安装完成后,我们可以启动Rustdesk的ID服务和中继服务:

1
2
sudo systemctl start rustdesk-server-hbbs.service # 启动ID服务
sudo systemctl start rustdesk-server-relay.service # 启动中继服务

可以使用命令查看服务状态:

1
2
sudo systemctl status rustdesk-server-hbbs.service # 查看ID服务状态
sudo systemctl status rustdesk-server-relay.service # 查看中继服务状态

如果服务状态显示为active(running),则表示服务启动成功。接下来我们需要得到一个key,方法是查看ID服务的工作目录。

1
cat /usr/lib/systemd/system/rustdesk-server-hbbs.service | grep "WorkingDirectory"

得到的结果类似于:

1
WorkingDirectory=/opt/rustdesk-server/data

我们需要查看这个目录下以id_开头且以.pub为后缀的文件内容。

1
cat /opt/rustdesk-server/data/id_*.pub

记住这个key,后面我们会用到。

接下来,我们用同样地方式安装Rustdesk客户端。

1
yay -S rustdesk-bin

安装之后,打开客户端。按照流程操作:设置 - 网络 - 解锁网络设置 - ID/中继服务器 然后按照以下规则输入:

  • ID服务器地址:服务器IP:21116
  • 中继服务器地址:服务器IP:21117
  • ID服务器密钥:key

然后回到客户端主界面输入想要连接的ID,点击连接,如果连接成功,则可以看到远程桌面。

后记

Rustdesk的部署过程比较简单,实测下来延迟是比较低的,但是帧率有点低。经过多个设备测试,这个帧率很大程度上取决于两个机器的显卡视频解码性能。