VirtualBoxゲストマシンにプログラム(例:Firefox)を起動するJavaプログラムを書いてみたいと思います。ホストはWindowsでゲストはUbuntuです。 SDKのドキュメントによれば、これを行うことが可能でなければなりません。ここで私はドキュメントで見てきたものに基づいてJavaで私の試みは、(これはVMが稼働していると仮定し)です:VirtualBox:SDK APIを使用してゲストでプログラムを起動しますか?
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();
私はこれを実行すると、私が手:
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)
私はロックとセッションでさまざまなオプションを試しましたが、常にエラーが発生します。 LockTypeをWriteに設定すると、「セッションにマシンを割り当てることができませんでした」というエラーが表示されます。
これを行った人はいますか?任意のJava VirtualBoxチュートリアルがオンラインでありますか?私はGoogleと一緒に見つけることができません。
アドバイスありがとうございます。
のようなものである必要がありますが、修正@TrentCoderを見つけましたか? – aandis