Meshlabserver: не удается подключиться к X-серверу ошибка

У меня на компьютере установлена ​​сетевая метка с операционной системой Ubuntu 14.04. Я могу получить к нему доступ из командной строки, используя meshlabserver команда. Но проблема возникает всякий раз, когда я пытаюсь вызвать его из сценария php с помощью команды

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

Показывает ошибку meshlabserver: cannot connect to X server, Пройдя через несколько сайтов, я сделал следующие вещи:

Я переместил meshlabserver исполняемый от /usr/bin в /usr/local/bin и дал ему исполняемые разрешения, используя

sudo chmod a+x meshlabserver

Но когда я побежал whoami команда из моего PHP-скрипта (вызывая meshlabserver) это показало www-data, Поэтому я дал исполняемые права доступа для всех пользователей meshlabserver с помощью

sudo chmod 777 /usr/local/bin/meshlabserver

Но все же это показывает то же самое meshlabserver: cannot connect to X server ошибка. meshlabserver comamnd работает нормально, когда запускается из командной строки.

Мне действительно нужно позвонить meshlab из сценария php для моего сайта. Таким образом, любая помощь будет высоко ценится. Заранее спасибо.

0

Решение

Кажется, скрипт php не может получить доступ к вашей переменной дисплея. Если вы вошли в систему через ssh, не забудьте туннелировать свой X-сервер через ‘ssh -X …’. Второй вариант — создать виртуальный буфер кадров с помощью Xvfb и перенаправить переменную дисплея на него:

export DISPLAY=:100.0
Xvfb :100 &

Обратите внимание на амперсанд для второй команды, поскольку Xvfb должен работать в фоновом режиме.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]