考虑以下带有内核命令行界面的对话框:
$ math
Mathematica 6.0 for Linux x86 (32-bit)
In[1]:= p = Plot[x^2, {x,-1,1}]
Out[1]= -Graphics-
In[2]:= Export["foo.png", p]
Out[2]= foo.png
这在具有以下错误的机器上运行良好,但在具有以下错误$Version = 6.0 for Linux x86 (32-bit) (June 2, 2008)
的机器上失败:$Version = 7.0 for Linux x86 (64-bit) (November 11, 2008)
Export::nofe: A front end is not available; export of PNG
requires a front end.
我能想到的任何其他图像格式都有类似的错误。
所以问题是,我怎样才能让没有前端的 Mathematica 内核导出图像?为什么它可以在 Mathematica 6.0 中顺利运行?如果上面的示例在版本 7 中适用于您,请告诉我!
PS:版本 7 引入了该功能UsingFrontEnd
,但失败了
Developer`UseFrontEnd::nofestart:
Unable to launch a front end. Proceeding without a front end.
大概是因为机器上没有安装X11。
附录
事实证明,在这方面,版本 6 和版本 7 没有区别。相反,在版本 6 的机器上,前端被静默调用。另一台机器的问题,正如这个问题的答案所表明的那样,是没有 X 服务器,因此无法调用前端。