Экспортировать дисплей - Не удается открыть дисплей

Я использую xubuntu 11.10. Из php я вызываю оболочку, которая экспортирует отображение, а затем вызывает wmctrl. Каждый раз, когда я вызываю wmctrl, я вижу ошибку «Не удается открыть дисплей».

Я вызываю свою оболочку с php:

$output = shell_exec('/var/www/wmctrl.sh');

Моим именем хоста является steven-Z-CLASS

Вот мой скрипт:

#!/bin/bash
export DISPLAY=steven-Z-CLASS:0.0
echo $DISPLAY
wmctrl -m

Когда я запустите это, я вижу отображаемое значение на моей странице php:

steven-Z-CLASS:0.0

Однако wmctl не запускается. Я вижу эту ошибку в журнале apache:

Cannot open display.

Есть идеи, почему wmctrl не может открыть дисплей?

1
задан 1 February 2014 в 01:01

2 ответа

В системе steven-Z-CLASS вам нужно запустить xhost +OTHERNAME, где «OTHERNAME» - это имя системы, в которой выполняется команда «wmctrl -m».

Команда xhost позволяет пользователю изменять защиту на локальном сервере X11, чтобы позволить «OTHERNAME» подключаться и отображать графику на нем.

0
ответ дан 1 February 2014 в 01:01

DISPLAY=steven-Z-CLASS:0.0 означает:

  • экран 0 (после точки)
  • на X-сервере 0 (между : и точкой)
  • на хосте steven-Z-CLASS

Попробуйте удалить steven-Z-CLASS, если машина, выполняющая команду PHP, совпадает с машиной X-сервера:

#!/bin/bash
export DISPLAY=:0.0
echo $DISPLAY
wmctrl -m
0
ответ дан 1 February 2014 в 01:01

Другие вопросы по тегам:

Похожие вопросы: