【发布时间】:2012-01-25 12:49:45
【问题描述】:
我正在使用以下技术在 Linux 和 Windows 中运行 GUI 应用程序:
Linux:
:~$ Xvfb :99 -ac &
:~$ DISPLAY=:99 ./app
这在 Mac OS X 中不会 100% 工作,即使默认安装了 Xvfb,因为大多数应用程序在 Aqua 环境中运行,并且简单地忽略 DISPLAY 变量设置。
Windows(程序化方式):
HDESK hDesk=CreateDesktop(TEXT("Virtual"),NULL,NULL,NULL,GENERIC_ALL,NULL);
if(hDesk!=NULL) {
// create process in this desktop
CloseDesktop(hDesk);
}
Mac OS X:
我如何在 Mac OS X 中做同样的事情(从命令行或以编程方式)? 谢谢!
【问题讨论】:
-
(不是答案,因此是评论,但是......)我知道过去人们通过焊接二极管( ?) 到每台 Mac 上,让它相信连接了一个显示器,这样 OS X 就认为它不是真正的“无头”。我不确定这是否是过去最好的解决方案,但这肯定已经在野外看到过,并且是我见过的最疯狂的黑客攻击之一。
-
你可以看看DVI Detective。
-
您找到解决方案了吗?很高兴发现默认安装了 Xvfb,但它似乎没什么用。
-
如果您要运行的是 firefox,看起来 firefox-x11 可能是您问题的答案? (根据您在下面的评论)