2014-11-09 8 views
0

Ubuntu 14.04 OS를 실행하는 컴퓨터에 meshlab이 설치되어 있습니다. meshlabserver 명령을 사용하여 명령 줄에서 액세스 할 수 있습니다. 내가 명령Meshlabserver : X 서버 오류에 연결할 수 없습니다.

<?php 
system('meshlabserver 2>&1'); 
?> 

그것은 오류 meshlabserver: cannot connect to X server 표시를 사용하여 PHP 스크립트에서 호출하려고 할 때마다 그러나 문제가 발생합니다. 몇 웹 사이트를 통해 가기 후에 나는 다음과 같은 일을했다 : 내 PHP 스크립트에서 whoami 명령을 실행했을 때

내가 /usr/local/bin/usr/bin에서 meshlabserver 실행 파일을 이동

sudo chmod a+x meshlabserver 

를 사용하여 실행 권한을 준 그러나 (meshlabserver으로 전화) www-data을 보여주었습니다. 그래서

sudo chmod 777 /usr/local/bin/meshlabserver 

를 사용하여 meshlabserver에 모든 사용자에 대해 실행 권한을 준하지만 여전히 동일한 meshlabserver: cannot connect to X server 오류를 보이고있다. meshlabserver comamnd는 명령 줄에서 실행될 때 잘 작동합니다.

내 웹 사이트의 PHP 스크립트에서 meshlab (으)로 전화해야합니다. 따라서 모든 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

PHP 스크립트가 귀하의 디스플레이 변수에 액세스 할 수없는 것 같습니다. 당신은을 통해 터널에 X 서버를 기억 ssh를 통해 로그인 한 경우 '는 ssh -X ...'당신의 두 번째 옵션은 여기에 디스플레이 변수를 Xvfb가를 사용하여 가상 프레임 버퍼를 생성하고 리디렉션하는 것입니다

export DISPLAY=:100.0 Xvfb :100 &

Xvfb가 백그라운드에서 실행 중이어야하므로 두 번째 명령에 대한 앰퍼샌드에 유의하십시오.

+0

작동하지 않았습니다. 그러나 작업을 수행하기 위해 대체 명령을 발견했으며 더 이상 Meshlabserver를 호출 할 필요가 없습니다. 답장을 보내 주셔서 감사합니다. – Koustav

+0

불행히도,'meshlab'는'Xvfb'가 분명히 제공 할 수없는 OpenGL 컨텍스트를 필요로합니다. 따라서 두 번째 옵션은 작동하지 않습니다. –