Windows服务器要一直远程录屏,远程录屏的弊端是远程窗口一关闭或最小化就没屏可录了。
方案一:原本1个会话,禁止单会话后就有2个会话了,1个用来登录控制台vnc,1个用来远程。录屏的话,用控制台vnc登录录屏,但如果是游戏业务,控制台vnc是qemu虚拟显卡支撑着的(GPU机器,安装显卡驱动之前,即便把qemu显卡从设备管理器禁用了,vnc照样能用,然后安装NVIDIA显卡驱动,控制台vnc本来就用不到NVIDIA显卡),vnc里一播放游戏视频,鼠标就挪不动了,把播放视频的窗口最小化后,鼠标马上就恢复正常了,播放清晰度低点、小一点的视频,控制台vnc还是可以满足需求的,对鼠标的影响没那么大。常规需求可以,游戏业务,控制台vnc不适合,主要是qemu虚拟显卡对游戏业务太拉胯了,本来使用场景就不对。
方案二、先禁止单会话,然后正常远程,远程后在当前会话里再远程127.0.0.1,把游戏和相关录屏业务搞在127.0.0.1的会话里就可以了,远程后,127.0.0.1的会话里是NVIDIA显卡(可以运行dxdiag检测)。
为了防止锁屏,执行几句命令:
代码语言:javascript复制powercfg -s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
powercfg -x -monitor-timeout-dc 0
powercfg -x -monitor-timeout-ac 0
reg add "HKLMSOFTWAREPoliciesMicrosoftWindowsPersonalization" /v "NoLockScreen" /d 1 /t REG_DWORD /f
reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v "DisableLockWorkstation" /d 1 /t REG_DWORD /f
reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAuthenticationLogonUISessionData" /v "AllowLockScreen" /d 0 /t REG_DWORD /f
最后一句,重启失效,需要想办法(开机计划任务)把最后一句命命令在每次开机时都执行一次
schtasks.exe /create /tn "nolockscreen" /ru SYSTEM /rl highest /sc ONSTART /tr "reg add 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAuthenticationLogonUISessionData' /v AllowLockScreen /d 0 /t REG_DWORD /f" /f
相较之下,方案二是真正的解决方案。虽然是GPU机器远程录屏的方案,也适用普通CVM。
如何禁止单会话?
中文版系统
以管理员身份运行gpedit.msc → 计算机配置 → 管理模板 → windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 连接 → 将配置项“将远程桌面服务用户限制到单独的远程桌面服务会话” 为“已禁用” → gpupdate /force
英文版系统则是:gpedit.msc → Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Connections → Restrict Remote Desktop Services users to a single Remote Desktop Services session → Disabled → gpupdate /force