分页: 1 / 2

求助Chromium自动刷新的问题

发表于 : 2017-01-05 15:05
kevintian
我的问题基本和下面链接一样,就是想定时刷新一个全屏模式下的Chromium网页,但他好像是树莓派OS,我是Ubuntu,xdotool已经装好了,代码该怎么写?
http://raspberrypi.stackexchange.com/qu ... ol-via-php

我试了另一种方法,好像也不成功:
#!/bin/bash
WID=`xdotool search --title "看板 - Chroumium" | head -1`
xdotool windowfocus $WID
xdotool key F5

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-05 17:09
lilydjwg
看上去唯一的问题是你不用写这么多次 xdotool。直接

代码: 全选

xdotool search --title "看板 - Chroumium" key F5
就可以了。

当然这只是一次。想多次,自己按需求写。

注意如果从 cron 之类的地方运行的话,你需要设置正确的 DISPLAY 环境变量。

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 10:51
kevintian
lilydjwg 写了:看上去唯一的问题是你不用写这么多次 xdotool。直接

代码: 全选

xdotool search --title "看板 - Chroumium" key F5
就可以了。

当然这只是一次。想多次,自己按需求写。

注意如果从 cron 之类的地方运行的话,你需要设置正确的 DISPLAY 环境变量。

你说的对的,我把这个写在Refresh.sh里,然后crontab写*/1 * * * * root DISPLAY=:0 cd /opt && sudo sh Refresh.sh > /dev/null 2>&1
结果无效,请帮忙再看看,感谢

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 11:06
kevintian
lilydjwg 写了:看上去唯一的问题是你不用写这么多次 xdotool。直接

代码: 全选

xdotool search --title "看板 - Chroumium" key F5
就可以了。

当然这只是一次。想多次,自己按需求写。

注意如果从 cron 之类的地方运行的话,你需要设置正确的 DISPLAY 环境变量。

是的,DISPLAY该怎么配置呢,我把你说的代码放在Refresh.sh里,在crontab里写*/1 * * * * DISPLAY=:0 cd /opt && sudo sh Refresh.sh > /dev/null 2>&1
结果无效

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 11:47
lilydjwg
为什么要用 sudo?

你先在桌面环境下 echo $DISPLAY 确定一下 DISPLAY 的值,然后

代码: 全选

DISPLAY=xxx xdotool...
这样写就行。注意要使用和你登录图形环境相同的用户(不要用 sudo)。

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 11:51
astolia
你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 12:37
lilydjwg
astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
因为他一上来就说要用 xdotool 啊,所以我只注意到了 Y 问题,没注意背后的 X 需求

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 13:27
kevintian
astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
能这样最好啦,不用装程序。
可我是小白,能请教这个具体怎么操作吗,写在哪?感谢

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 13:41
kevintian
astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);

把这估Code保存为user.js然后拖入Chrome中?
这里的60000单位是什么?我想12小时刷新一次

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 14:03
kevintian
astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
echo了后在crontab里现在是这样写的:*/1 * * * * DISPLAY=:0 xdotool search --name "看板 - Chromium" windowactivate --sync key --clearmodifier F5,后面这段在命令行测试可以成功刷新,之前写的不行。但这样放crontab里还是不行,哪里还是不对呢?

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 14:11
astolia
60000单位是毫秒,即千分之一秒
crontab的应该要加上LANG=zh_CN.UTF-8,xdotool写全路径保险点

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 14:23
kevintian
* * * * * DISPLAY=:0 LANG=zh_CN.UTF-8 cd /usr/bin/xdotool search --name "看板 - Chromium" windowactivate --sync key --clearmodifier F5

这样?还是不行,快哭了 :Sad

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 16:01
astolia
你放个cd在那里是啥意思?最简单的userscript不用,非要绕一大圈

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 16:36
kevintian
astolia 写了:你放个cd在那里是啥意思?最简单的userscript不用,非要绕一大圈
我是外行小白啊,xdotool研究了半天才懂这一点, userscript不会呢,怎么写入?另外如果用它,机器重启后还会自动定时刷新吗?我这个目标是无人值守。麻烦各位大侠了,感谢

Re: 求助Chromium自动刷新的问题

发表于 : 2017-01-06 16:54
kevintian
我把上面那位写的userscript保存添加到扩展程式里了,并且时间改为30000,然而并没有刷新 :Cry