Я запускаю inkscape
из процесса Gearman PHP в * nix-подобных системах (OS X 10.6.8, Linux разных версий) для преобразования изображений SVG в PNG или PDF. Я использую что-то вроде этого (разрывы строк добавлены здесь только для ясности):
/full/path/to/inkscape -z \
--export-png=/path/to/output.png \
--export-width=100 --export-height=100 \
/path/to/input.svg
Это работает, но, несмотря на флаг -z («Не использовать X-сервер»), я получаю это в выводе консоли (в OS X):
Setting Language: .UTF-8
(process:44699): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Xlib: extension "RANDR" missing on display "/tmp/launch-WvcqRh/org.x:0".
Это говорит мне о том, что inkscape загружает больше библиотек, чем нужно, и что он мог бы работать быстрее, если бы не пытался подключиться к X-серверу. Однако, кроме использования флага -z/--without-gui
, я не уверен, что попробовать. Производительность на моей машине разработки по-прежнему меньше секунды (по крайней мере, для тривиальных файлов SVG), но я хотел бы исправить это, если смогу. Даже если лучшим ответом будет просто «подавить вывод ошибок»!
Может быть, если я выключу или сброслю переменную окружения bash DISPLAY? Я совсем не знаком с Х.