2012-05-01 1 views
0

python SDKを使用してVirtualBoxマシンを実行しようとしています。VirtualBox Python SDK、closeMachineSession - > XPCOMコンポーネントに 'close'属性がありません

私は(documentation 32ページに基づいて)次のコマンドを実行しました:私は、シャットダウンしようとしています

raise AttributeError, "XPCOM component '%s' has no attribute '%s'" % (self._object_name_, attr) AttributeError: XPCOM component '@virtualbox.org/Session;1' has no attribute 'close'

とPythonからVMを閉じる​​:

from vboxapi import VirtualBoxManager 
manager = VirtualBoxManager(None, None) 
vbox = manager.vbox 
name = "myVM" 
mach = vbox.findMachine(name) 
session = manager.mgr.getSessionObject(vbox) 
progress = mach.launchVMProcess(session, "gui", "") 

progress.waitForCompletion(-1) #successfully fires up myVM w/ GUI 

manager.closeMachineSession(session) #error, see below 

を私が手にエラーがあります。

質問:
このエラーを解決し、Pythonを使用してVMをシャットダウンするにはどうすればよいですか?

答えて

1

session.console.powerDown()私はrtfmをしていました。私はまだその行の意図がドキュメントから何であるかを知ることに興味があります。

+0

XPCOMのドキュメントは古くなっています。実際にはソースを掘り起こす必要がありますが、 'manager.closeMachineSession(session)'が 'session.close()'の呼び出しに変換されていると想像していましたが、そのメソッドは削除されているか、XPCOMで破られていません。 – David