导出显示 - 无法打开显示

导出显示 - 无法打开显示

我正在运行 xubuntu 11.10。从 php,我调用一个 shell,该 shell 导出显示,然后调用 wmctrl。每次调用 wmctrl 时,我都会看到错误“无法打开显示”。

我从 php 调用我的 shell:

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

我的主机名是 steven-Z-CLASS

这是我的 shell 脚本:

#!/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

steven-Z-CLASS系统上,您需要运行xhost +OTHERNAME“OTHERNAME”是运行“wmctrl -m”命令的系统的名称。

xhost命令允许用户修改本地 X11 服务器上的安全性,以允许“OTHERNAME”连接并在其上显示图形。

答案2

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

相关内容