当无人连接时,是否可以强制 VMWare 虚拟机呈现桌面?

当无人连接时,是否可以强制 VMWare 虚拟机呈现桌面?

正如标题所示,我试图让运行在 VMWare 6.5 上的虚拟机模拟屏幕,即使没有人连接到它。我们正在 VM 上运行使用 python 模块的脚本pyautogui通过屏幕截图功能,自动定位屏幕上的图像来执行任务。当没有人连接到虚拟机时,它会立即失败,原因是“屏幕截图失败”

import pyautogui
import time


def testRun():
    print('Screenshot in 15 seconds:')
    time.sleep(15)
    pyautogui.screenshot()

if __name__ == "__main__":
    testRun()

运行此 python 代码片段后,如果无人查看虚拟机,则会失败,但若有客户端连接,则会成功。

Traceback (most recent call last):
    File "C:\###\test.py", line 11, in <module>
        testRun()
    File "C:\####\test.py", line 8, in testRun
        pyautogui.screenshot()
    File "C:\###\Python37\lib\site-packages\pyscreeze\__init__.py", line 349, in _screenshot_win32
        im = ImageGrab.grab()
    File "C:\###\Python37\lib\site-packages\PIL\ImageGrab.py", line 41, in grab
        size, data = grabber()
OSError: screen grab failed

虽然我不能 100% 肯定这是由于虚拟机在无人连接时不呈现屏幕造成的,但我相信这是导致我的问题的原因。

有人知道如何强制虚拟机渲染屏幕吗?我是 VMWare 新手,所以任何帮助我都非常感谢。

提前谢谢你,丹尼尔。

相关内容