如何在 VirtualBox 无头模式下强制分辨率?

如何在 VirtualBox 无头模式下强制分辨率?

很多人会问为什么?所以,我使用 QtTest 为我的 GUI 应用程序实现了一些自动测试。每次有人提交某些内容时,我都需要通过我的 CI 触发它们。应用程序需要以特定分辨率(高于 1024x600)启动。当然,我的构建服务器没有显示器,所以我需要在 VBox 无头模式下启动测试。现在的问题是,VBox 在无头模式下模拟的虚拟显示器只有 800x600 分辨率。我无法通过任何开关更改它。我当前的设置:

    VBoxManage convertfromraw --format vdi ${INPUT} ${OUTPUT}
    VBoxManage createvm --name MyTestOS1 --ostype Linux26_64 --register --basefolder ${OUTPUT_DIR}
    VBoxManage modifyvm MyTestOS1 --firmware efi
    VBoxManage modifyvm MyTestOS1 --ioapic on
    VBoxManage modifyvm MyTestOS1 --memory 4096 --vram 256
    VBoxManage modifyvm MyTestOS1 --nic1 nat
    VBoxManage modifyvm MyTestOS1 --uart1 0x3F8 4
    VBoxManage modifyvm MyTestOS1 --uartmode1 tcpserver 8888
    VBoxManage modifyvm MyTestOS1 --graphicscontroller vmsvga --accelerate3d on
    VBoxManage modifyvm MyTestOS1 --monitorcount 1
    VBoxManage setextradata MyTestOS1 CustomVideoMode1 "1024x600x32"
    VBoxManage setextradata MyTestOS1 CustomVideoMode2 "1920x1080x32"
    VBoxManage setextradata MyTestOS1 CustomVideoMode3 "1280x1080x32"
    VBoxManage setextradata MyTestOS1 VBoxInternal2/EfiGraphicsResolution 1024x600
    VBoxManage setextradata MyTestOS1 GUI/MaxGuestResolution any
    VBoxManage controlvm MyTestOS1 setvideomodehint 1024 600 24
    VBoxManage storagectl MyTestOS1 --name "SATA Controller" --add sata --controller IntelAhci       
    VBoxManage storageattach MyTestOS1 --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium ${OUTPUT}
    VBoxManage export MyTestOS1 --output ${OUTPUT_DIR}/MyTestOS1.ova

我是不是漏掉了什么?或者还有其他方法可以实现我的愿望?

相关内容