只有一个工具不合适——远程控制(二)

之前我们介绍了异地组网工具 zerotier-one 和 mstsc / ms rd client,现在我们有了基础的远程连接的工具,虽然大部分时间和场景下,远程控制有这两个就够了,但是我们前面也提到了,只有这两个工具并不能保证我们在绝大部分时间都能安全地展开远程工作。所以我们还需要一些备用方案,来应对工具失效的情况,毕竟于是远程连接,我们一般不会有冲回现场修复的条件

相关主题

  1. zerotier + mstsc
  2. parsec
  3. moonlight 四件套

Parsec

熟悉 Parsec 的朋友可能知道,这其实是一个远程游戏串流软件,我们可以使用 Parsec 来游玩远程游戏。但是我们思路不能固化:既然可以远程玩游戏,那么远程控制电脑自也不在话下。

Parsec 本身自带直联功能,只是成功率也依赖于网络复杂程度,复杂情况下,我需要和 zerotier 配合使用,而如果你的网络是类似客户端 → 路由器 → ISP → 路由器 → 主机端,多数情况下这种情况可以直连。

Parsec 本身的原理是把远端客户的操作带回到本地执行,然后不断把屏幕显示的图像录制成视频发到客户端,所以从本地来看就如同有个无形的用户在操作,所以如果我们电脑附近如果会有其他人走来走去,那么关掉屏幕会是个不错的主意,不过,关掉屏幕会有其他问题需要我们注意。

Parsec 的问题:黑屏

黑屏是我遇到最疑惑的问题,我只是关掉显示器,然后 Parsec 就黑屏了,但是远程桌面是正常的,经查证,这在官方认定是一个 feature,而不是 bug,如果我们使用 dport 口连接显示器,那么如果我们关闭显示器电源,系统就检测不到显示器,也就不会输出信号,于是就是黑屏,不过它的分析没有毛病,因为同类竞品 moonlight 也是这个问题,对于这个问题,它也给了解决方案:安装 parsec 时,同时安装虚拟显示器驱动。

不装驱动的话,市面上还有一种解决方案,叫显卡欺骗器,就是一个插头,插在显卡上,显卡就认为已经接上显示器了,不过显然这个方案需要我们额外付费。

我采用的是另一种方法,显示器接 hdmi 接口。

hdmi 口不同于 dport,它的特点在于,只要插上去,无论显示器有没有开,系统都会认为,显示器已接入,所以也就没有关显示器就黑屏的问题。

Parsec 的问题:手柄支援

既然聊到 parsec 我们不妨多聊一点,相信不少读者是用 parsec 串流游戏的,parsec 似乎对杂牌手柄的支援不是很好,表现为识别得出,安卓端也可以使用手柄移动,但是按键在主机上无反应,而 moonlight 配合 nVidia GameStream 就没有这个问题,解决这个问题需要在主机上安装 vigembus。

Parsec 的问题:光标显示

我在之前一篇文中提过,由于 Parsec 对鼠标指针的做法是在客户端绘制,而不是在本地绘制,所以,在极限情况(D2R)下我们会遇到这种尴尬:由于是手柄移动了鼠标,而客户端没有移动鼠标,于是鼠标指针就不会画出来,这个问题也是没有解法,只能回避。

Parsec 的问题:触屏控制鼠标

对于触屏,Parsec 只提供了一种控制鼠标的方式:摸到哪里,点到哪里。多数时间这很方便,但是如果我们需要更精确控制鼠标位置时,我们就会怀念触控板的控制方式。

Parsec 的问题:发热量

使用 Parsec 的时候我的笔记本会明显感觉到发热,

Parsec 的优点:锁屏界面也可以运行

既然标题这样下,那肯定有应用是不行的,没错,在锁屏页面,我们无法用 moonlight 连接远程主机,这时需要用 parsec 登一下,或者用之前提到的远程桌面退回到本地的方法。

Parsec 的优点:可以用鼠标响应 UAC 控制提示

是的这个也能难倒 moonlight,不过 moonlight 还是可以用键盘响应 UAC 窗口,当然前提是客户端要有键盘,而对于 parsec,触摸或鼠标点击都不是问题。

总结

总结一下 Parsec 的缺点:

  • 关闭显示器即黑屏(有解)
  • 手柄挑品牌(有解)
  • 移动端极限场景的鼠标指针显示(无解)
  • 移动端只能触屏控制鼠标(无解)

以及优点:

  • 锁屏界面可运行
  • 鼠标响应 UAC 窗口
  • 自带网络穿透

总体说来,如果是办公场景,那么 Parsec 是可以完全胜任的,而它的主业游戏串流,却有一些问题,不过办公场景我更喜欢用远程桌面,而且最近 Parsec 基本也要依赖 zerotier 才能建立连接,所以 Parsec 的定位就略显尴尬,不过远程桌面也有无法处理的事情,比如有些操作要求必须本地执行,这时远程桌面就无法胜任了,所以 Parsec 是一个不错且稳定的备胎。