跨平台远程桌面的N种方式与Royal TSX
回到学校里,又花了一些时间折腾台式机。这一次主要研究了一下远程桌面。我所在的环境是一个内网环境,主要用途是从笔记本直连台式机,在画质、流畅程度和功能上都稍微进行了一些考察。由于我的笔记本是MacBook,台式机上装了Win11和Linux(场面一度十分混乱.jpg),所以对跨平台的使用也进行了保留。
这里主要考察了一些商业软件,并没有太多技术上的困难和坑。记录下来主要是因为去比较各个软件的效果还是一件比较烦的事情,并且以后可能还会复用。我觉得以后还会用到并且得到结论并不是那么容易的事情就值得写下来。
就实验的结论而言:
在被控端:Windows直接使用自带的远程桌面,Linux如果能够使用windows的RDP协议则推荐使用RDP,不能则推荐使用NoMachine。Mac没有进行尝试,但有一个叫Apple Remote Desktop的东西。个人认为Mac没有必要成为被控端。
在主控端:Mac和Windows都可以使用Royal TS / Royal TSX进行接收,Windows连Windows则更推荐自带的远程桌面。如果使用Windows的RDP协议,在Mac上推荐使用Microsoft Remote Desktop接收。Linux选择商业化的软件。
为什么这样选择,会在下文说明。下文可能没什么条理,主要是我觉得有参考价值的东西记了,其他的就不写了。
Server on Windows & Linux
首先要明确一点,各类远程桌面之间是有差别的。TeamViewer、NoMachine、AnyDesk、ToDesk、Splashtop一类商业软件通常是由免费和付费两个等级,并且它们实现的功能是任意两台互联网上的主机互联,也就是不要求双方在同一局域网内。这样做当然是有一定代价的,要这样做就必须借助厂商的服务器作为中间点,这样画质和传输速度都会受到限制。如果在同一局域网内,理论上可以直接连接,画质和速度也会快一点。
Windows自带的Remote Desktop和Linux上的VNC就属于必须在同一局域网内的直连,并且一般是免费的(除了RealVNC)。这里说是说一个局域网内,听上去好像很有限,但也不完全是这样。比如我所使用的是校园网的环境,校网内的设备都是A类私有地址,算作一个局域网,彼此之间路由最多也就是5~6跳(网络学得不好,不知道这样说有没有问题)。在这种比较大的内网环境下,这类应用还是好用的。
在Windows部分这样写,就是因为Windows自带的远程桌面表现要比第三方软件好得多,尤其是在画质上。所以远端如果是Windows,自带的远程桌面绝对是首选。
在Linux上,VNC是最常用的解决方案,但是对于个人使用而言效果并不好,这应该是协议本身的问题。Linux上最好的解决方案应该是开源实现了RDP协议的工具,最常见的是xrdp,测试效果会比VNC好很多。xrdp在gnome环境下应该是可以使用的,对于其他Linux上RDP协议的实现只找到krdp一个,适用于KDE桌面的Wayland协议的桌面。不过这个项目好像也很少维护,自求多福吧
USB Redirection
2023.10.24补充:结合后续使用情况来看,如果不是真的有这个需要,还是不要折腾这个事情的好。毕竟实在是太麻烦了。
USB设备重定向,指的是在客户端电脑上接入的USB设备通过网络接入到远程设备上。这件事和被控端几乎没什么关系,基本上都是主控端的事。这件事难点在于几乎所有USB设备重定向的软件都是完全收费的,而且真的非常贵。
这里排除一种情况,也就是Windows直连Windows的情况。Windows自带的远程桌面能够使用RemoteFX进行USB重定向,可以轻松解决。
除了这种情况以外,下面是几种选择:
- 商业软件
这类软件其实也不少,比如USB Network Gate, USB Remote Desktop。氪金的事这里就不多研究了。
- 开源项目
有一个叫USB/IP的开源项目。它的缺点是:
(1)没有Mac支持,只支持Windows和Linux。
(2)这东西已经很久没维护了。sourceforge的官方主页上,它的最近更新日期是2011年。github上相关项目最近更新时间也是2021年。
(3)当然,它的安装和使用比商业化的软件要麻烦。但我没试过。
- 使用具有USB重定向功能的商业化远程桌面
一些远程桌面是自带了这个功能的,有一些会把这个作为收费功能,还有一些免费的,比如NoMachine。这也是我推荐在商业软件上使用NoMachine的理由。
- Royal TS / Royal TSX
它能够实现从Mac上连接到Windows的远程桌面并且同时进行USB重定向,可以说是十分逆天的一款软件。见后文。
就算是使用了USB重定向,大概也不是什么设备都能转接。我希望使用USB重定向的初衷是把实验室的FPGA远程连接到台式机上,然而现在还没开学,找不到这么奇怪的设备来做实验。至少插个硬盘还是没问题的。
全能远程工具:Royal TS
最后专门推荐一下这个工具。它的官网是这里。
这个工具是在寻找USB重定向的替代品中发现的。因为本人使用Mac用微软的远程桌面连接到Windows,这种情况下USB重定向几乎是无解(指白嫖的情况下)。在快绝望的时候,翻到了国外某个论坛的帖子,帖主的情况和我非常像,然后下面有人贴了RoyalApp的网址。我打开来一看,
woc, 妙啊
RoyalApp目前开发了三个软件,其中Royal Server是收费的,Royal TS / Royal TSX的Lite版是不收费的。TS是Windows的版本,TSX是Mac的版本。我觉得它妙不仅仅是因为它满足了我USB重定向的需求,更重要的是,作为一个接触集群已经一年左右的人,我觉得它基本上能够满足所有的远程需求。
它唯一的劣势是没有Linux版本,并且官方也不打算发行Linux版本。
它的好处是:
-
免费。虽然说只有Lite是免费的,但Lite只是限制了连接的数量,并没有限制功能。另外,和其他商业软件相比,Royal TSX的价格是折合三百多人民币一次性购买,算是很便宜了。
虽然我还是打算白嫖 -
在Windows Remote Desktop连接下,提供设备重定向。上文已经说过了。
-
Windows Remote Desktop的高清晰度连接。虽然Windows远程连接本身质量就高,但是也取决于主控端的设置。我以Mac作为主控端,尝试了微软官方的接入软件、Parallels Client和Royal TSX,其中Parallels Client是清晰度最高的,但是清晰度调到最高的时候会很卡,当时我的笔记本和台式只有一跳路由的距离(在同一个房间)。Royal TSX清晰程度似乎会更差一点点(肉眼感觉没什么差距),但是能够流畅使用。
-
全面的SSH支持。这里所说的支持包括隧道、转发、X11-forwarding。因为在Mac上,我也不知道它是否自带了X11 server,但是确实能用。
不过,单论SSH的话我觉得还是Windterm更合适。
- 其他更多功能。Royal TSX的功能是基于插件的,虽然插件只是官方开发的那几个,但是功能肯定是足够多了。包括FTP/SFTP、VNC,甚至TeamViewer。剩下几个我没研究,就暂时不管了。
差不多了,先写到这。下次继续吧。