我使用的是联想 Y720 笔记本电脑,它需要一个名为 Lenovo Nerve Sense 的特定程序才能点亮键盘背光。到目前为止我已经尝试过:
- Wine 不工作,它说没有找到 system32 中的 dllhost.exe,即使该文件实际上在 Wine 目录中。
- 我尝试了 PlayOnLinux,它当然给出了与 Wine 相同的结果。
- 我尝试在 oracle virtual box 中运行该程序,该程序能够安装该程序,但该程序本身无法检测到我的笔记本电脑是联想笔记本电脑,因为它位于虚拟机中。
有什么方法可以让你在虚拟机中运行程序,同时它可以访问机器本身。我知道这是违反安全性的,但我真的只需要运行这个程序而不是上网等。
没有这个程序,灯就不能工作,因为它不是基于固件的,而且 Ubuntu 甚至无法检测到我有键盘 LED。
这种基于 Windows 的软件在通常用于运行 Windows 软件的任何一种方法(虚拟化 Windows 或 WINE)中都不能与系统硬件一起使用。这是由于每种软件运行时方法固有的限制,不幸的是无法以任何安全/可靠/理智的方式解决。
虚拟化 Windows:它不适用于这种类型的硬件/软件集成。
键盘背光处于系统硬件级别。虚拟机没有能力与主机硬件直接进行这种级别的互连以与该硬件进行交互。这排除了使用虚拟机来实现这一点。
WINE:由于 Wine 使用的用户空间(而不是管理/系统服务级别)运行时固有的系统/硬件控制/访问限制/权限,这将不起作用
同时,Wine 没有在主机上处理此类硬件互操作性所需的访问级别的硬件资源和修改调用的暴露或访问权限。这是因为,简而言之,访问硬件调用 (a) 超出了 Wine 的开发范围,并且 (b) 如果没有在超级用户下运行 Wine 就无法真正完成,Wine 被主动编程为在最近的版本中不允许这样做。
因此,除非联想发布该软件的 Ubuntu 版本,否则您不太可能使该软件(以及键盘背光)正常工作,这将影响键盘使用其背光的能力。(话虽这么说,应该有一种方法可以让背光“始终打开”或“始终关闭”,因此您可能会发现类似的东西,您可以从 Windows 端进行配置以设置默认权限/配置以具有背光) .
另一种可能性是,某个地方的某个人逆向设计了一个做很多相同的解决方案。但是,这超出了原始问题的范围(“有什么方法可以在 VM 中运行可以访问主机系统本身硬件的程序”),因此超出了此答案的范围(您是自由搜索这样的逆向工程解决方案)。