Изпълнявам inkscape
от PHP процес на Gearman на *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 env var? Изобщо не съм запознат с X.