Vboxheadless sem um prompt de comando (VirtualBox)

5

Estou tentando executar o VirtualBox VM em segundo plano de um serviço. Estou tendo problemas para iniciar um processo da maneira que desejo. Gostaria de iniciar o guest virtualbox no modo headless como um processo separado e mostrar nada até a GUI.

Veja o que tentei:

Da linha de comando:

inicie o vboxheadless -s "Ubuntu Server"

Em C #:

        ProcessStartInfo info = new ProcessStartInfo
        {
            UseShellExecute = false,
            RedirectStandardOutput = true,
            ErrorDialog = false,
            WindowStyle = ProcessWindowStyle.Hidden,
            CreateNoWindow = true,
            FileName = "C:/program files/sun/virtualbox/vboxheadless",
            Arguments = "-s \"Ubuntu Server\""
        };

        Process p = new Process();
        p.StartInfo = info;
        p.Start();

        String output = p.StandardOutput.ReadToEnd(); //BLOCKS! (output stream isnt closed)

Eu quero ser capaz de obter a saída para saber se iniciar o servidor foi um sucesso. No entanto, parece que a janela gerada nunca fecha o fluxo de saída.

Também vale a pena mencionar que eu tentei usar o vboxmanage startvm "Ubuntu Server" --type = vrdp. Eu posso determinar se o servidor começou corretamente usando isso. Mas mostra uma nova janela de prompt de comando para o recém-iniciado convidado do VirtualBox.

    
por kolypto 30.11.2009 / 01:47

2 respostas

6

Apenas no caso de alguém enfrentar a coisa novamente aqui é o que eu faço para isso ...

start-process "vboxheadless" "-s ubuntu" -WindowStyle Hidden

ou coloque-o em um script powershell ou digite uma janela do console do powershell. Você pode criar um atalho ou um alias, etc.

    
por 25.12.2010 / 04:23
0

Eu recentemente consegui fazer isso aqui . A solução não é muito boa: eu não gosto do desenvolvimento do Windows ... mas funciona, o que mais você pode desejar? :))

    
por 01.12.2009 / 04:04