我在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)
我究竟做错了什么?
看起来尝试在无头模式下运行 meshlabserver 的可能性不大......请参阅此处的评论:“有一些使用 [OpenGL] 渲染上下文和 GPU(例如环境光遮挡)的过滤器,需要将其作为可批处理操作。这就是为什么我们必须在 MeshLabServer 的初始化中包含渲染上下文。我们对此没有“官方”解决方法。”
(来源: https: //github.com/cnr-isti-vclab/meshlab/issues/78)
我认为你最好的机会是使用 X 运行它,而不是尝试使用 xvfb-run 使其在无头模式下工作...