无法在无头虚拟环境中运行meshlabserver过滤器

Eva*_*que 8 meshlab

我在debian 9.4上安装了meshlab sudo apt-get install meshlab

首先尝试转储过滤器列表

sudo xvfb-run -a -s "-screen 0 800x600x24" meshlabserver -d filters
Run Code Online (Sandbox Code Playgroud)

它失败了这个日志

Loading Plugins:
Current Plugins Dir is: /usr/lib/meshlab/plugins 
Error in XMLFile: filter_measure.xml - line: -1, column: -1 - 
Error in XMLFile: filter_mutualinfo.xml - line: -1, column: -1 - 
Total 227 filtering actions
Total 13 io plugins
called here! 
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

并在尝试运行过滤器时

sudo xvfb-run -a -s "-screen 0 800x600x24" meshlabserver -i original.obj -s /usr/lib/meshlab/plugins/filter_measure.xml
Run Code Online (Sandbox Code Playgroud)

它失败并显示此日志

script /usr/lib/meshlab/plugins/filter_measure.xml
Loading Plugins:
Current Plugins Dir is: /usr/lib/meshlab/plugins 
Error in XMLFile: filter_measure.xml - line: -1, column: -1 - 
Error in XMLFile: filter_mutualinfo.xml - line: -1, column: -1 - 
Total 227 filtering actions
Total 13 io plugins
Opening a file with extention obj
Mesh original.obj loaded has 22296 vn 7432 fn
Apply FilterScript: '/usr/lib/meshlab/plugins/filter_measure.xml'
Failure in parsing script /usr/lib/meshlab/plugins/filter_measure.xml
No root node with name FilterScript
Current rootname is MESHLAB_FILTER_INTERFACE
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

run*_*wuf 1

看起来尝试在无头模式下运行 meshlabserver 的可能性不大......请参阅此处的评论:“有一些使用 [OpenGL] 渲染上下文和 GPU(例如环境光遮挡)的过滤器,需要将其作为可批处理操作。这就是为什么我们必须在 MeshLabServer 的初始化中包含渲染上下文。我们对此没有“官方”解决方法。”

(来源: https: //github.com/cnr-isti-vclab/meshlab/issues/78

我认为你最好的机会是使用 X 运行它,而不是尝试使用 xvfb-run 使其在无头模式下工作...