运行 Rasperry PI 上的 Xdotool 用户 "www-data"
Run Xdotool on Rasperry PI as user "www-data"
我在 rasperry pi 上使用 xdotool 来刷新 iceaweasel 浏览器。
现在,我想在局域网中的服务器启动后重新加载网页。
为此,我在 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权限执行系统工具
DISPLAY=:0 xhost + local:www-data
在你的剧本上
/refresh.sh
#!/bin/bash
export DISPLAY=:0 && xdotool key F5
在你的 php 文件上
<?php
shell_exec("/refresh.sh " . $phone);
?>
然后为您的 php 文件添加可执行权限
sudo chmod +x refresh.php
通过 URL 执行 php 文件,一切顺利。
我在 rasperry pi 上使用 xdotool 来刷新 iceaweasel 浏览器。 现在,我想在局域网中的服务器启动后重新加载网页。
为此,我在 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权限执行系统工具
DISPLAY=:0 xhost + local:www-data
在你的剧本上 /refresh.sh
#!/bin/bash
export DISPLAY=:0 && xdotool key F5
在你的 php 文件上
<?php
shell_exec("/refresh.sh " . $phone);
?>
然后为您的 php 文件添加可执行权限
sudo chmod +x refresh.php
通过 URL 执行 php 文件,一切顺利。