Meshlabserver:无法连接到X服务器错误

时间:2014-11-09 17:40:51

标签: php ubuntu-14.04 xserver meshlab

我在运行Ubuntu 14.04操作系统的机器上安装了meshlab。我可以使用meshlabserver命令从命令行访问它。但是每当我尝试使用命令

从php脚本调用它时,就会出现问题
<?php
system('meshlabserver 2>&1');
?>

显示错误meshlabserver: cannot connect to X server。经过一些网站后,我做了以下事情:

我已将meshlabserver可执行文件从/usr/bin移至/usr/local/bin,并使用

为其提供了可执行权限
sudo chmod a+x meshlabserver

但是当我从我的php脚本(调用whoami)运行meshlabserver命令时,它显示www-data。所以我使用

为所有用户提供了meshlabserver的可执行权限
sudo chmod 777 /usr/local/bin/meshlabserver

但它仍显示相同的meshlabserver: cannot connect to X server错误。从命令行运行时,meshlabserver comamnd工作正常。

我真的需要从我的网站的PHP脚本中调用meshlab。因此,任何帮助将受到高度赞赏。提前致谢。

2 个答案:

答案 0 :(得分:0)

似乎php脚本无法访问您的显示变量。如果您通过ssh登录,请记住通过&#39; ssh -X ...&#39;来隧道您的X服务器。您的第二个选择是使用Xvfb创建虚拟帧缓冲区并将显示变量重定向到它:

export DISPLAY=:100.0 Xvfb :100 &

注意第二个命令的&符号,因为Xvfb需要在后台运行。

答案 1 :(得分:0)

先前答案的组合对我有用: ssh -X,以及 export DISPLAY=:0.0(远程)