Я использую xdotool на rasperry pi, чтобы обновить браузер для браузера. Теперь я хочу перезагрузить веб-страницу после загрузки сервера в локальной сети.Запустить Xdotool на Rasperry PI как пользователь «www-data»
Для этого я пишу PHP скрипт на малина (refresh.php):
<?php
exec("sh /var/www/refresh.sh");
?>
resfresh.sh
export DISPLAY=:"0.0"
XAUTHORITY=/home/pi/.Xauthority
xdotool getactivewindow
xdotool key F5
Если я запускаю скрипт из консоли, то обновление работает! Если я запускаю PHP из внешнего браузера, обновление не работает!
Это Apache ошибок журнала:
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
Я думаю, что есть проблема с xdotool и WWW-данных пользователя.
Может ли кто-нибудь мне помочь?
его, поскольку www-data не имеет прав на выполнение системного инструмента, такого как xdo, infact, вы можете попробовать любой другой системный инструмент для запуска этим скриптом и, скорее всего, он не будет работать. –
и есть ли какое-нибудь решение? также, если я запустил shellscript с sudo, он не работает –