【发布时间】:2015-09-28 06:33:21
【问题描述】:
我在 rasperry pi 上使用 xdotool 来刷新 iceaeasel 浏览器。 现在,我想在局域网中的服务器启动后重新加载网页。
为此,我在 Raspberry (refresh.php) 上编写了一个 PHP 脚本:
<?php
exec("sh /var/www/refresh.sh");
?>
resfresh.sh
export DISPLAY=:"0.0"
XAUTHORITY=/home/pi/.Xauthority
xdotool getactivewindow
xdotool key F5
如果我从控制台启动 PHP 脚本,则刷新工作正常! 如果我从外部浏览器启动 PHP,刷新不起作用!
这是 Apache 错误日志:
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
我认为,xdotool 和用户 www-data 存在问题。
有人可以帮我吗?
【问题讨论】:
-
这是因为 www-data 没有权限执行 xdo 之类的系统工具,实际上您可以尝试任何其他系统工具通过此脚本运行,但很可能它不会运行。跨度>
-
有什么解决办法吗?如果我用 sudo 运行 shellscript 它也不起作用
标签: php shell raspberry-pi2 xdotool