没有命令提示符的 Vboxheadless (VirtualBox)

5 windows windows-service headless virtualbox

我正在尝试从服务在后台运行 VirtualBox VM。我无法按照我希望的方式启动流程。我想在无头模式下作为一个单独的进程启动 virtualbox 来宾,并且不显示任何图形用户界面。

这是我尝试过的:

从命令行:

启动 vboxheadless -s "Ubuntu 服务器"

在 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)
Run Code Online (Sandbox Code Playgroud)

我希望能够获得输出以了解启动服务器是否成功。但是,似乎生成的窗口从未关闭其输出流。

还值得一提的是,我曾尝试使用 vboxmanage startvm "Ubuntu Server" --type=vrdp。我可以确定服务器是否使用它正确启动。但它为新启动的 VirtualBox 来宾显示了一个新的命令提示符窗口。

小智 6

以防万一有人再次面对这件事,这就是我为此所做的......

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

要么将其放入 powershell 脚本中,要么在 powershell 控制台窗口中键入。您可以创建快捷方式或别名等。


kol*_*pto 0

我最近在这里成功做到了。解决方案不是很好:我不喜欢Windows开发..但它有效,你还想要什么?:))