有一说一,Windows 自带的远程桌面服务其实一直都很好用。只要把几项默认没打开的能力补齐,它就不只是“能远程连一下”,而是真的能拿来干活。

  • 给远程会话开启显卡加速
  • 把默认30 FPS提到60 FPS
  • 打开RemoteFX USB设备重定向

RDP本身即使没有显卡也能工作,做基础管理完全没问题。但如果我想在远程桌面里跑图形程序、让画面更顺,或者把本地USB设备直接映射过去,这三项就很实用。

1. 给远程会话启用显卡加速

这一项是在远程主机上设置。先按Win + R,输入:

gpedit.msc

然后进入:

计算机配置
-> 管理模板
-> Windows 组件
-> 远程桌面服务
-> 远程桌面会话主机
-> 远程会话环境

在右侧找到下面这一项:

将硬件图形适配器应用于所有远程桌面服务会话

把它改成已启用,保存以后重启远程主机。这一步对我来说最实际的意义,就是让远程桌面里的图形会话不再只是最基础的显示输出,而是可以更完整地调用本机图形能力。这样以后在远程桌面里跑需要GPU的程序,比如OpenGLDirectX甚至一些依赖Vulkan的图形软件时,会顺手很多。

2. 把默认帧率提到 60 FPS

RDP默认帧率大致是30 FPS,如果网络和两端性能都跟得上,我一般会把它提到60 FPS。先打开注册表编辑器,定位到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

然后在右侧空白处新建一个DWORD (32 位)值,名称写成:

DWMFRAMEINTERVAL

双击它以后,把基数切换到十进制,数值填写:15

保存以后重启生效。我自己会把这里理解成把默认的刷新节奏往上放开,但最终能不能真的稳定到60 FPS,还是取决于网络延迟、带宽、宿主机编码能力和客户端解码能力。这个值给的是上限空间,不是绝对保证。

3. 开启 RemoteFX USB 设备重定向

这一项不是在远程主机上设,而是在客户端上设置。

它的作用是让本地的USB设备通过RDP映射到远端系统里。默认情况下,RDP对存储设备共享支持得比较直接,但如果我想传别的USB设备,就需要把这条策略打开。同样先打开组策略:

gpedit.msc

然后进入:

计算机配置
-> 管理模板
-> Windows 组件
-> 远程桌面服务
-> 远程桌面会话客户端
-> RemoteFX USB 设备重定向

找到这一项:

允许此计算机中受支持的其他 RemoteFX USB 设备的 RDP 重定向

把它设置成“已启用”,然后在“选项”里把RemoteFX USB重定向访问权限改成:

管理员和用户

我这里会特别保留这一点,因为有些环境下如果只允许管理员,实际用起来反而不方便。配置保存以后,重启客户端。重启完成后打开远程桌面连接程序,进入:

显示选项
-> 本地资源
-> 本地设备和资源
-> 详细信息

这时候就能看到“其他支持的 RemoteFX USB 设备”。勾选以后,对应的本地 USB 设备就会被映射到远程主机。

这里有一个我自己会特别提醒的坑:

远程主机不一定会像本地插设备那样自动把驱动都装好。所以如果设备映射过去了但还是不能正常用,通常还得在远程主机里手动安装对应驱动。