VirtualBox: Mit dem SDK-API starten ein Programm im Gast?

Ich würde gerne ein Java-Programm schreiben, das startet ein Programm (z.B. Firefox) in eine VirtualBox-guest-Maschine. Der host ist Windows und der Gast Ubuntu. Nach der SDK-Dokumentation sollte es möglich sein, dies zu tun. Hier ist mein Versuch, in Java basierend auf dem, was ich gesehen habe in der Dokumentation (dies meint die VM läuft):

String machineName = "MyMachine";
String url = "http://localhost:18083";
String user = "";
String passwd = "";

VirtualBoxManager mgr = VirtualBoxManager.createInstance(null);
mgr.connect(url, user, passwd);
IVirtualBox vbox = mgr.getVBox();
System.out.println("Running VirtualBox version " + vbox.getVersion());

IMachine machine = vbox.findMachine(machineName);
ISession session = mgr.getSessionObject();
machine.lockMachine(session,  LockType.Shared);
IConsole console = session.getConsole();
IGuest guest = console.getGuest();

IGuestSession guestSession = guest.createSession("bob","password", "", "");
guestSession.processCreate("/usr/bin/firefox", null, null, null, 0L);

session.unlockMachine();

Wenn ich diese ausführe, bekomme ich:

Exception in thread "main" org.virtualbox_4_2.VBoxException: VirtualBox error: The   session is not locked (session state: Unlocked) (0x8000FFFF)
at org.virtualbox_4_2.ISession.getConsole(ISession.java:145)
at Test1.main(Test1.java:27)

Ich habe versucht, verschiedene Optionen mit dem Schloss und Sitzungen, aber immer irgendeine Art von Fehler. Wenn ich legen Sie die LockType zu Schreiben, bekomme ich "Fehler beim zuweisen der Maschine, um die Sitzung" Fehler.

Hat jemand dies getan? Gibt es irgendwelche festen VirtualBox Java tutorials online? Ich finde nichts mit Google.

Jede Beratung geschätzt.

  • Hast du eine Lösung finden @TrentCoder?
InformationsquelleAutor TrentCoder | 2012-12-12
Schreibe einen Kommentar