https://cloud.tencent.com/document/product/560/36207
GPU机器vnc不能正常使用有很多种现象,包括黑屏、windows徽标界面转圈,还有比如机器如果设置了自动登录,提前拼接好控制台vnc的URL,一直不停地刷URL,在NVIDIA显卡未加载完成前是可以看到集成显卡画面的,但不久就不起作用了(这个时候NVIDIA显卡起作用了),具体就是虽然看到图像,但鼠标键盘操作可能就不起作用了,关闭vnc页面再重新打开一次发现已经黑屏。另外,GPU机器,桌面右键 → 显示设置 → 扩展这些显示器,有多个选项,1是qemu虚拟显卡,其他的是独立显卡。假如显示设置里2个显示屏,如果默认没设置仅在2显示,vnc用的是qemu虚拟显卡,是有图像的,如果在vnc里设置了仅在2显示,那就是弃用虚拟显卡了,而控制台vnc用的正是虚拟显卡,此时控制台vnc就无法正常使用了,如果要vnc能看到图像且鼠标键盘能正常用,那就mstsc远程上去自建vncserver,然后用vnc viewer连上去,再反其道设置,不要设置仅在2上显示,这样控制台vnc就恢复了。自建vncserver可以参考https://cloud.tencent.com/developer/article/1853791。
基于以上种种,GPU机型控制台vnc并不承诺,因此才有了官网那篇针对GPU vnc不能用的简单说明 https://cloud.tencent.com/document/product/560/36207 原因阿里云和腾讯云文档上都解释了,显示输出被NVIDIA显卡驱动接管后,VNC无法获取到集成显卡的画面
解决方案就是使用RDP远程,用系统自带的mstsc等远程客户端工具去远程连接或者自建vncserver,使用vnc客户端工具比如vnc viewer去连接 自建vncserver参考如下方案 1、推荐tight vnc ,免费 可参考https://cloud.tencent.com/developer/article/1853791 2、如果使用real vnc ,https://www.realvnc.com/en/connect/download/vnc/ ,商业软件需自己找注册码 关于real vnc vncserver的配置参考https://blog.csdn.net/QFliangge/article/details/79058947,注意事项这个文档没说,我补充下 ①找到vnclicensewiz.exe (C:Program FilesRealVNCVNC Server)输入线下注册码 VKUPN-MTHHC-UDHGS-UWD76-6N36A 有效期至2029-07-21 77NVU-D9G5T-79ESS-V9Y6X-JMVGA 有效期至2024-12-02 ②找到vncserver.exe (C:Program FilesRealVNCVNC Server)程序 右击以管理员身份运行,才会在右下角出现图标,然后右击图标点option →左上侧前2个菜单(security、users&permissions)进行vnc密码和用户权限配置,如果按文档上的权限配置去掉了键盘鼠标控制权,那远程到vnc上就只能看图像,做不了操作了。一般情况下,自己用的话,保持默认,不要去掉键盘鼠标√。 注意,一定是找到.exe的所在再运行,直接运行快捷方式不行。
另外,Windows的VNC实现(如RealVNC、TightVNC或UltraVNC)是不支持多用户并发登录的,不同的用户看到的是同一VNC画面,这点在RealVNC Server官网文档有写
https://help.realvnc.com/hc/en-us/articles/360002253618-Managing-Users-and-Session-Permissions-for-RealVNC-Server#understanding-pre-registered-user-accounts-and-groups-0-0
Windows中的VNC类方案不支持多用户并发登录,因为Windows系统并不会为每个VNC会话提供单独的显示器和输入设备,最终都是用RDP或类似RDP的方式实现多用户并发登录。
关于产品改进
阿里云web rdp是内网的,机器可以没有公网IP,腾讯云的webrdp是公网的,需要机器有公网IP,这一点对标友商的话,腾讯云还需加油。