【发布时间】:2016-07-14 06:20:39
【问题描述】:
我在 Ubuntu 14.04 上运行 VirtualBox 5.0.16。我有 32 位版本的 Windows7 的虚拟机。我想做的是在来宾上运行程序。首先,我尝试为此目的使用 Python 脚本:
vbox = virtualbox.VirtualBox()
session = virtualbox.Session()
vm = vbox.find_machine('Windows7')
vm.launch_vm_process(session, 'gui', '').wait_for_completion()
session = vm.create_session()
time.sleep(35)
gs = session.console.guest.create_session('win7', '')
process, stdout, stderr = gs.execute('C:\\Windows\\System32\\cmd.exe', ['/C', 'tasklist'])
print stdout
机器启动良好,但我无法运行任何程序,因为出现以下错误:
Traceback(最近一次调用最后一次):文件“runonguest.py”,第 39 行,在 gs = session.console.guest.create_session('win7', '') 文件 "/usr/local/lib/python2.7/dist-packages/virtualbox/library_ext/guest.py", 第 24 行,在 create_session 中 raise SystemError("GuestSession 启动失败") SystemError: GuestSession 启动失败
在我尝试使用命令行在客户机上运行程序之后。所以我正在运行虚拟机,并尝试执行以下命令:
VBoxManage guestcontrol "Windows7" --username win7 run --exe C:\Windows\System32\cmd.exe --wait-stdout -- "C:\Windows\System32\cmd.exe" "/C" "tasklist"
但它给我带来了下一个错误:
VBoxManage:错误:VERR_ACCOUNT_RESTRICTED VBoxManage:错误:详细信息: 代码 VBOX_E_IPRT_ERROR (0x80bb0005),组件 GuestSessionWrap, 接口 IGuestSession,被调用者 nsISupports VBoxManage:错误: 上下文:“WaitForArray(ComSafeArrayAsInParam(aSessionWaitFlags),30 * 1000, &enmWaitResult)" 在文件 VBoxManageGuestCtrl.cpp 的第 938 行
我一直在寻找可能的解决方案,但其中大多数是针对旧版本的 VirtualBox,其中命令 run 根本不存在。 如果有人知道任何可能的解决方案,那就太好了。 谢谢。
【问题讨论】:
标签: python virtual-machine command-line-interface virtualbox