前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何通过命令调整GPU云服务器VNC多显示器设置为仅在1上显示

如何通过命令调整GPU云服务器VNC多显示器设置为仅在1上显示

原创
作者头像
Windows技术交流
修改2024-03-13 19:43:54
9270
修改2024-03-13 19:43:54
举报
文章被收录于专栏:Windows技术交流

文档结尾有介绍不自建vncserver设置仅在1上显示,使Windows GPU机器控制台vnc能使用的办法

仅在2就是独显、仅在1就是非独显,记住这点就够用了

代码语言:javascript
复制
验证步骤:
1、用2019grid公共镜像买台windows gpu渲染型机器

2、远程上机器,下载https://www.nirsoft.net/utils/multimonitortool-x64.zip
解压后把MultiMonitorTool.exe 放到服务器C:\Windows目录

3、打开cmd命令行执行5句命令,执行前先把命令里的密码具体化成你服务器的密码再执行

先具体化密码再执行
先具体化密码再执行
先具体化密码再执行
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /d "Administrator" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /d "密码" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /d "1" /t REG_SZ /f

schtasks.exe /create /tn "enable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY1" /f
schtasks.exe /create /tn "disable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /disable \\.\DISPLAY2" /f

4、重启机器打开控制台vnc查看效果

前期思路衍变:先自建vncserver然后在vnc会话里调整仅在1显示,参考:

https://cloud.tencent.com/developer/article/1853791

https://cloud.tencent.com/developer/article/old/2098415

建好vncserver后 → 远程到cvm,然后在cvm里禁用单会话,然后在当前远程会话里使用vncviewer输入内网IP访问自己,访问的时候先输入vncserver密码然后看到锁屏界面,然后点vnc viewer上的发送ctrl alt del按钮输入Administrator密码,然后在vnc会话里在桌面右键 → 显示设置 → 扩展这些显示器 → 仅在1上显示,这样控制台vnc就可以使用了。如果控制台vnc里鼠标不同步,也是按【桌面右键 → 显示设置 → 扩展这些显示器 → 仅在1上显示】来设置。

另外,vnc鼠标不同步问题,还需要执行2句命令

代码语言:javascript
复制
reg add "HKEY_CURRENT_USER\Control Panel\Mouse" /v "MouseSpeed" /t REG_DWORD /d 0 /f
reg add "HKEY_USERS\.DEFAULT\Control Panel\Mouse" /v "MouseSpeed" /t REG_DWORD /d 0 /f

在vnc会话里首先可以通过系统自带命令设置显示器模式

代码语言:bash
复制
DisplaySwitch.exe 1
DisplaySwitch.exe 2
DisplaySwitch.exe 3
DisplaySwitch.exe 4

DisplaySwitch.exe /internal
DisplaySwitch.exe /clone
DisplaySwitch.exe /extend
DisplaySwitch.exe /external

1和2,控制台VNC不行
DisplaySwitch.exe /internal 控制台VNC黑屏,仅为2,对应DisplaySwitch.exe 1(仅电脑屏幕)
DisplaySwitch.exe /clone 控制台VNC黑屏,扩展,2为主,对应DisplaySwitch.exe 2(复制)

3和4,控制台VNC可以
DisplaySwitch.exe /extend 控制台VNC可操作,扩展,1为主,对应DisplaySwitch.exe 3(扩展)
DisplaySwitch.exe /external 控制台VNC可操作,仅在1,对应DisplaySwitch.exe 4(仅第二屏幕)

DisplaySwitch.exe命令仅限在vnc会话里执行,计划任务不行

DisplaySwitch.exe命令仅限在vnc会话里执行,计划任务不行

DisplaySwitch.exe命令仅限在vnc会话里执行,计划任务不行

DisplaySwitch.exe命令要么在自建VNCServer后通过VNC Viewer登录后,在VNC会话里执行命令有效,要么设置自动登录并把带参数的DisplaySwitch.exe命令放在.bat/.cmd里放置在startup目录,这样每次重启后都能达到想要的命令效果。

在vnc会话里还可以通过第三方工具MultiMonitorTool来设置显示器模式(MultiMonitorTool可以结合开机计划任务来执行)

https://www.nirsoft.net/utils/multi_monitor_tool.html

https://www.nirsoft.net/utils/multimonitortool-x64.zip

解压后,把MultiMonitorTool.exe放到Windows GPU 云服务器的C:\Windows\目录下

然后在vnc会话里如下命令就可以设置了

注意,必须在vnc会话里操作,rdp会话里不行

GPU机器显示设置有4种区别,仅①和③两种情况,控制台vnc才能用:

①仅在1上显示

②仅在2上显示

③扩展显示1为主

④扩展显示2为主

代码语言:javascript
复制
如何通过命令调整GPU云服务器VNC多显示器设置为仅在1上显示?
为啥非要仅在1上显示,因此只有仅在1或1为主时,控制台vnc操作才正常

#仅在1显示(腾讯云控制台vnc操作正常)
MultiMonitorTool.exe /enable \\.\DISPLAY1
MultiMonitorTool.exe /disable \\.\DISPLAY2
对应计划任务:TAT执行(Administrator用户级别)
schtasks.exe /create /tn "enable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY1" /f
schtasks.exe /create /tn "disable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /disable \\.\DISPLAY2" /f
schtasks.exe /run /tn enable_display1
schtasks.exe /run /tn disable_display2

#仅在2显示(腾讯云控制台vnc操作失效)
MultiMonitorTool.exe /enable \\.\DISPLAY2
MultiMonitorTool.exe /disable \\.\DISPLAY1
对应计划任务:TAT执行(Administrator用户级别)
schtasks.exe /create /tn "enable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY2" /f
schtasks.exe /create /tn "disable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /disable \\.\DISPLAY1" /f
schtasks.exe /run /tn enable_display2
schtasks.exe /run /tn disable_display1

【扩展:1为主】 和 【扩展:2为主】有区别

#【扩展:1为主】(腾讯云控制台vnc操作正常)
MultiMonitorTool.exe /enable \\.\DISPLAY1
MultiMonitorTool.exe /enable \\.\DISPLAY2
MultiMonitorTool.exe /SetPrimary \\.\DISPLAY1
对应计划任务:TAT执行(Administrator用户级别)
schtasks.exe /create /tn "enable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY1" /f
schtasks.exe /create /tn "enable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY2" /f
schtasks.exe /create /tn "SetPrimary1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /SetPrimary \\.\DISPLAY1" /f
schtasks.exe /run /tn enable_display1
schtasks.exe /run /tn enable_display2
schtasks.exe /run /tn SetPrimary1


#【扩展:2为主】(腾讯云控制台vnc操作失效)
MultiMonitorTool.exe /enable \\.\DISPLAY2
MultiMonitorTool.exe /enable \\.\DISPLAY1
MultiMonitorTool.exe /SetPrimary \\.\DISPLAY2
对应计划任务:TAT执行(Administrator用户级别)
schtasks.exe /create /tn "enable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY2" /f
schtasks.exe /create /tn "enable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY1" /f
schtasks.exe /create /tn "SetPrimary2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /SetPrimary \\.\DISPLAY2" /f
schtasks.exe /run /tn enable_display2
schtasks.exe /run /tn enable_display1
schtasks.exe /run /tn SetPrimary2
代码语言:javascript
复制
如何在不自建vncserver的情况下实现GPU机器控制台vnc可用?

大致思路就是:
设置自动登录,使控制台vnc自动登录进去执行开机计划任务调用MultiMonitorTool.exe设置仅在1上显示

MultiMonitorTool.exe 从其官网下载:
https://www.nirsoft.net/utils/multi_monitor_tool.html
https://www.nirsoft.net/utils/multimonitortool-x64.zip

下载后解压把MultiMonitorTool.exe 放到C:\Windows,执行如下命令

schtasks.exe /create /tn "enable_display1" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /enable \\.\DISPLAY1" /f
#schtasks /change /tn "enable_display1" /st 00:00 /sd 1900/01/01

schtasks.exe /create /tn "disable_display2" /ru Administrator /rl highest /sc ONLOGON /tr "MultiMonitorTool.exe /disable \\.\DISPLAY2" /f
#schtasks /change /tn "disable_display2" /st 00:00 /sd 1900/01/01

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /d "Administrator" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /d "密码" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /d "1" /t REG_SZ /f
注意具体化密码

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档