分页: 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
这样?还是不行,快哭了

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,然而并没有刷新
