Export Display - Não é possível abrir o display

1

Estou executando o xubuntu 11.10. De php, eu estou chamando um shell que exporta o display e, em seguida, chama wmctrl. Toda vez que eu chamo wmctrl, vejo um erro "Não é possível abrir a tela".

Eu chamo meu shell do php:

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

Meu nome de host é steven-Z-CLASS

Aqui está o meu script de shell:

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

Quando eu executo isso, vejo o valor de exibição ecoado na minha página do php:

steven-Z-CLASS:0.0

No entanto, o wmctl não é executado. Eu vejo esse erro no log do apache:

Cannot open display.

Alguma idéia do porque o wmctrl não pode abrir a tela?

    
por Sparky1 08.11.2011 / 23:12

2 respostas

3

No sistema steven-Z-CLASS , você precisará executar xhost +OTHERNAME , em que "OTHERNAME" é o nome do sistema que está executando o comando "wmctrl -m".

O comando xhost permite ao usuário modificar a segurança no servidor X11 local para permitir que "OTHERNAME" se conecte e exiba gráficos nele.

    
por dan_linder 08.11.2011 / 23:35
2

DISPLAY=steven-Z-CLASS:0.0 significa:

  • tela 0 (depois do ponto)
  • no servidor X 0 (entre : e ponto)
  • no host steven-Z-CLASS

Tente remover steven-Z-CLASS se a máquina que estiver executando o comando PHP for a mesma que a do servidor X:

#!/bin/bash
export DISPLAY=:0.0
echo $DISPLAY
wmctrl -m
    
por Lekensteyn 08.11.2011 / 23:32