我inkscape
在 *nix 类系统(OS X 10.6.8,不同风格的 Linux)上运行 Gearman PHP 进程,以将 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一点也不熟悉。