5.10 [i-dp-2]使用DisplayLink驱动外屏实现Windows虚拟机方式使用浏览器
备注
不需要本地X11环境,因此不需要以GUI模式启动unRAID。可设定unRAID使用核显,也可能适合CPU无核显的情况。可选字符模式启动。Win虚拟机驱动VNC显卡+直通DisplayLink显卡,接外屏作为主屏。可部署其他Win虚拟机应用如VCSA,核显也可留给unRAID做emby解码,如果另有独显也可用于解码或者计算。
回顾一下我验证所用的软硬件环境:
unRAID 6.11.5
Windows 10 LTSC 2021 虚拟机
DisplayLink®USB转HDMI适配器
操作步骤简述(i-dp-2)
重要
unRAID系统、VM Manager等的基本配置过程不再详述,也以此作为整个配置过程的起点。
(推荐)设定以基本模式(非GUI)启动unRAID系统
(必须)安装Windows虚拟机
(可选)设定Windows启动后自动登录到桌面
(可选)设定开机自启动脚本,登录后全屏打开Edge浏览器,进入unRAID控制台
(推荐)设定外屏为Windows虚拟机的主显示屏
(推荐)部署Grafana状态显示面板
可以看到实现步骤非常直观,也很简单。
5.10.1 (推荐)设定以基本模式启动unRAID系统
这种模式下,我们使用虚拟机来驱动外屏;因此,不需要使用GUI方式启动unRAID系统。这样可以显著减少unRAID系统负载,我很推荐这样做。
当然如果你已经是用基本模式启动unRAID的话,这一节可以直接跳过。
unRAID主控台转到Main页面,下拉、点击Flash。
进入Flash页面后下拉到这里,选择基本模式,点击Apply即可。
至此,基本模式启动设置完成,可以重启unRAID系统了。
5.10.2 安装Windows虚拟机
注意
请务必确认DisplayLink®USB转HDMI适配器已经插在主机上,并且已经用HDMI线连接到eDP驱动板上。
点击进入VM主页面,新建虚拟机,主要设置见下图;注意几个问题:
系统CPU、内存、硬盘大小等按需配置即可
虚拟机类型选择Q35
BIOS类型选择OVMF
选择提前准备好的Windows安装光盘、VirtIO驱动光盘
主显卡设置为VNC虚拟显卡
别忘了,USB设备中,一定要把DisplayLink勾选上
而且,后面把外屏设定主显示屏的时候,很可能需要使用鼠标;建议也把鼠标勾选上
即使DisplayLink是USB3.0接口,也建议将“USB 控制器”选为“2.0 EHCI”,可能兼容性会好一些。
建议完整检查一遍,确定没有问题之后,点击 CREATE 。
回到VM主页面,点击刚创建好的虚拟机图标,用VNC方式启动
一切顺利的话,就开始Windows安装过程了;这里不再详细讲。
Windows安装完成之后,可以看到未识别设备;不要慌,使用VirtIO驱动光盘上的驱动程序安装就好。另外,DisplayLink的驱动暂时不用管。
驱动安装完之后,建议顺便设定好网络、打开远程桌面访问等等一些基本设置,这个就看个人习惯了。建议重启一下虚拟机。
重启完成之后,可以看到,DisplayLink已经正确识别到了。
不出意外的话,登录以后就可以看到外屏已经顺利点亮了。
在系统显示设置里,可以看到显示器1是VNC虚拟显示,显示器2是外屏
并且可以看到外屏是使用1920x515原生分辨率的。完美!
5.10.3 (可选)设定Windows启动后自动登录到桌面
做这一步主要是为了图省事儿,每次启动虚拟机之后,不用登录就可以自动进入桌面。
首先在虚拟机VNC窗口运行注册表编辑器
找到注册表路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device
并将注册表项 “DevicePasswordLessBuildVersion” 设定为“0”。点击确定即可。
接下来,我们在虚拟机VNC窗口中运行 netplwiz 用户账户设置。
取消 “要使用本计算机,用户必需输入用户名和密码” 勾选,并点击应用。
这时,会弹出密码输入对话框;输入你的用户名和密码,点击 确定 — 确定 就可以了。
这样,我们设定虚拟机开始自动登录桌面的步骤就完成了。
5.10.4 (可选)设定开机自启动脚本,登录后全屏打开Edge浏览器,进入unRAID控制台
做这一步还是为了图省事儿,每次启动虚拟机之后自动进入桌面;接下来,我们当然是希望它能够自动打开浏览器,并且全屏显示。
运行命令,打开系统启动程序文件夹
在这个文件夹下面,新建一个bat可执行脚本文件。
给文件取个名字,比如 run_edge.bat
警告
务必确定文件名后缀为 “.bat”
右键点击编辑这个bat文件,输入下面的代码:
@start msedge.exe --kiosk "http://192.168.7.89:20080" --edge-kiosk-type=fullscreen --no-first-run
这里需要注意,把上面的URL链接改成你自己unRAID主机的访问地址。
为了方便,你也可以在 附录中 下载这个bat文件,然后修改使用。
保存。可以了,这一步结束。
这样,虚拟机开机以后,就会自动全屏运行EDGE浏览器,并转到你的unRAID控制台页面
5.10.5 (推荐)设定外屏为Windows虚拟机的主显示屏
前面设定全部完成以后,现在该把外屏设定为主屏了;这样做的好处是,开机外屏自动进入可用状态。
警告
请务必确定已经将鼠标直通给虚拟机使用,否则会相当尴尬;因为只有这样,你才能在虚拟机中跨两个屏幕操作。
打开显示设置,将外屏设定为主屏。注意,建议将模式 选定为“扩展”而不是“仅在”,因为很多时候我们还是需要使用VNC处理虚拟机内部的设置。
再翻回头对照前面的步骤回忆一下,确定没什么问题,然后点击勾选框。这时候,就可以重启虚拟机验证下最终效果了。注意到没有,此时你需要用鼠标在外屏上操作“重启”。
没什么意外的话,重启完成之后,就最终进入可用状态了。
登录unRAID控制台,unRAID系统面板状态显示达成。
这里要澄清一个问题: 我实在是太懒了,有没有办法自动登录unRAID控制台呢?
警告
答案是: 有;但是需要清除 unRAID系统root密码。这样做会带来很大的安全问题,而且会导致root用户无法SSH登录(也许可以用SSH秘钥登录,未验证)。 因此, 强烈建议不要这样做。
一个达到近似效果的替代方法,就是在浏览器中保存用户名密码,也许会稍微方便些。
到此,基本配置完毕,外屏状态显示、快捷操作已达到可用状态。
5.10.6 (推荐)部署Grafana状态显示面板
5.10.7 常见问题
Q1:EDGE浏览器没有进入全屏模式?
A1:有可能是EDGE浏览器版本的问题。另外,根据个人喜好可以考虑:
1、EDGE浏览器从版本89开始支持展台(kiosk)模式,建议升级一下。
2、另外,可以考虑使用启动参数 –edge-kiosk-type=public-browsing;这样更灵活一些。
3、如果不用展台模式,也可以在浏览器启动后,按F11进入一般全屏模式;这样最灵活。