Рассмотрим следующий диалог с интерфейсом командной строки с ядром:
$ 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-сервера, и поэтому интерфейс не мог быть вызван.