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

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

我正在尝试通过服务在后台运行 VirtualBox VM。我无法按照自己想要的方式启动进程。我想以无头模式启动 VirtualBox 客户机作为单独的进程,并且在 GUI 上不显示任何内容。

这是我尝试过的:

从命令行:

启动 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)

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

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

答案1

为了防止有人再次遇到这种情况,以下是我所采取的措施......

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

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

答案2

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

相关内容