
为什么不使用向日葵/ToDesk?与之相比的优缺点是什么?
优点
- 更高清、更流畅、延迟更低,而且不需要花钱,没有广告
- 平板插上键鼠能够几乎完美响应Windows快捷键(这是我使用该方法的初衷)
- 触屏交互更合理
- 开源,有大量第三方插件
缺点
- 对网络基础设施有一定要求,当NAT过深,Tailscale无法使两设备在网络上直连时无法使用远程桌面(因此必需使用向日葵/ToDesk等其他手段作为备用)
方案部署
所有设备安装Tailscale
Tailscale用于在多个设备间进行虚拟组网,目的是使得各设备能够点对点连接。
下载链接:https://tailscale.com/download
还需要注册一个Tailscale帐号,然后在所有Tailscale客户端登录同一个帐号以连接同一个虚拟子网。
提醒:Windows版本的Tailscale没有GUI,打开后会出现在系统托盘里。
右键该图标,选择Network devices - My devices - 任一设备
即可复制该设备在虚拟子网中的IP地址。
检查Tailscale连接(可跳过)
理想情况下,Tailscale组成的子网中,每台设备都能直接点对点连接另一个设备(延迟低,带宽高),而不需要中转服务器(延迟高,带宽受限)。Tailscale使用了一系列技术手段来实现该目的,但当网络条件复杂时(如多层NAT),这些技术手段不一定能够生效。
感兴趣的可以看下:Tailscale工作原理
Windows & Linux
打开终端,输入tailscale status
可以看到所有连接该虚拟子网的设备及其IP
输入tailscale ping <目标IP或名称>
即可检查本设备到目标设备的网络连接情况:
- 情况1:如图所示(内容包含
via DERP
)代表这两个设备无法点对点连接,需要通过香港(hkg)的DERP中继服务器才能连接。
- 情况2:Tailscale在尝试3次后
via DERP
变成via [ip]
,说明找到了最近的202.103.243.73:3261
作为稳定的中转路由,实现了点对点连接。
安卓
安卓平台的Tailscale由于有GUI,方便很多。
-
情况1:无法连接或DERP中继
-
情况2:成功点对点连接
服务端部署Sunshine
下载地址:https://github.com/LizardByte/Sunshine
Windows系统选择这个后缀为exe的
安装Sunshine并运行后,在托盘可以找到该图标,打开后是一个网页控制台。首先需要在控制台上注册一个本地的帐号密码,用于Sunshine控制台的登录。
客户端部署Moonlight
Windows平台下载链接:https://github.com/moonlight-stream/moonlight-qt
安卓端下载链接:https://github.com/Axixi2233/moonlight-android
安卓端使用的是第三方的二次开发版本,主要增加了对键盘快捷键的支持。
安装并启动Moonlight客户端后点击右上角带加号的图标,然后输入部署了Sunshine的服务端设备在Tailscale子网中的IP地址,随后主界面会出现该设备的图标。
点击该设备的图标,第一次连接时需要验证,会弹出一个窗口给你一个PIN码
在服务端设备上打开Sunshine,输入PIN码认证该客户端
回到Moonlight,即可开始远程桌面。
Windows端Moonlight配置
调整Moonlight客户端设置,使其更加适应远程办公。
捕获系统快捷键后所有快捷键会在服务端电脑上响应,想要中断远程桌面连接按Ctrl+Shift+Alt+Q
。
安卓端Moonlight配置
以下设置流程以Xiaomi HyperOS为示例,不同系统可能有一定差异:
- 在安卓无障碍模式中开启Monglight物理键盘,使其能绕过系统接管键盘按键
安卓-设置-更多设置-无障碍-已下载应用-Monglight物理键盘->开启
- 关闭开发者选项中的“启用系统优化”,否则ESC键无法正常使用
找不到开发者选项点我
安卓-设置-更多设置-开发者选项-启用系统优化->关闭
- 调整Moonlight客户端设置,使其更加适应远程办公
Moonlight-设置-基本设置-视频帧数调节->优先视频流畅度
疑难解决
连接不稳定
参考检查Tailscale连接章节确定当前连接情况,通常不稳定和丢包严重是由于无法建立直连通道,只能使用海外DERP服务器中转导致的,解决方法主要有两种。
- 非同一局域网下,能否建立直连通道取决于双方设备网络的NAT类型,可以尝试从这个方面入手试下能不能解决。参考:https://tailscale.com/blog/how-nat-traversal-works
- 自己就近搭建DERP服务器。参考:https://github.com/S4kur4/Derp-China