簡體   English   中英

以“ www-data”用戶身份在Rasperry PI上運行Xdotool

[英]Run Xdotool on Rasperry PI as user “www-data”

我在樹莓派上使用xdotool刷新iceaweasel瀏覽器。 現在,我要在啟動局域網中的服務器后重新加載網頁。

為此,我在Raspberry(refresh.php)上編寫了一個PHP腳本:

<?php
 exec("sh /var/www/refresh.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數據權限以執行系統工具

DISPLAY =:0 xhost +本地: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文件,一切順利。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM