求助Chromium自动刷新的问题

sh/bash/dash/ksh/zsh等Shell脚本
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

求助Chromium自动刷新的问题

#1

帖子 kevintian » 2017-01-05 15:05

我的问题基本和下面链接一样,就是想定时刷新一个全屏模式下的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
头像
lilydjwg
论坛版主
帖子: 4176
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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

#2

帖子 lilydjwg » 2017-01-05 17:09

看上去唯一的问题是你不用写这么多次 xdotool。直接

代码: 全选

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

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

注意如果从 cron 之类的地方运行的话,你需要设置正确的 DISPLAY 环境变量。
这些用户感谢了作者 lilydjwg 于这个帖子:
科学之子 (2017-01-05 17:31)
评价: 3.7%
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#3

帖子 kevintian » 2017-01-06 10:51

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
结果无效,请帮忙再看看,感谢
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#4

帖子 kevintian » 2017-01-06 11:06

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
结果无效
头像
lilydjwg
论坛版主
帖子: 4176
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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

#5

帖子 lilydjwg » 2017-01-06 11:47

为什么要用 sudo?

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

代码: 全选

DISPLAY=xxx xdotool...
这样写就行。注意要使用和你登录图形环境相同的用户(不要用 sudo)。
头像
astolia
论坛版主
帖子: 4601
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 771 次

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

#6

帖子 astolia » 2017-01-06 11:51

你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
头像
lilydjwg
论坛版主
帖子: 4176
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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

#7

帖子 lilydjwg » 2017-01-06 12:37

astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
因为他一上来就说要用 xdotool 啊,所以我只注意到了 Y 问题,没注意背后的 X 需求
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#8

帖子 kevintian » 2017-01-06 13:27

astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

// ==UserScript==
// @match http://*/*
// ==/UserScript==
setTimeout(function(){location.reload()}, 60000);
能这样最好啦,不用装程序。
可我是小白,能请教这个具体怎么操作吗,写在哪?感谢
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#9

帖子 kevintian » 2017-01-06 13:41

astolia 写了:你们怎么都不知道用userscript呢?这才是操作网页的正常途径。chromium内建支持,连扩展都不用装

代码: 全选

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

把这估Code保存为user.js然后拖入Chrome中?
这里的60000单位是什么?我想12小时刷新一次
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#10

帖子 kevintian » 2017-01-06 14:03

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里还是不行,哪里还是不对呢?
头像
astolia
论坛版主
帖子: 4601
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 771 次

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

#11

帖子 astolia » 2017-01-06 14:11

60000单位是毫秒,即千分之一秒
crontab的应该要加上LANG=zh_CN.UTF-8,xdotool写全路径保险点
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#12

帖子 kevintian » 2017-01-06 14:23

* * * * * DISPLAY=:0 LANG=zh_CN.UTF-8 cd /usr/bin/xdotool search --name "看板 - Chromium" windowactivate --sync key --clearmodifier F5

这样?还是不行,快哭了 :Sad
头像
astolia
论坛版主
帖子: 4601
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 771 次

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

#13

帖子 astolia » 2017-01-06 16:01

你放个cd在那里是啥意思?最简单的userscript不用,非要绕一大圈
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#14

帖子 kevintian » 2017-01-06 16:36

astolia 写了:你放个cd在那里是啥意思?最简单的userscript不用,非要绕一大圈
我是外行小白啊,xdotool研究了半天才懂这一点, userscript不会呢,怎么写入?另外如果用它,机器重启后还会自动定时刷新吗?我这个目标是无人值守。麻烦各位大侠了,感谢
kevintian
帖子: 13
注册时间: 2016-01-05 15:59
系统: windows7
送出感谢: 0
接收感谢: 0

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

#15

帖子 kevintian » 2017-01-06 16:54

我把上面那位写的userscript保存添加到扩展程式里了,并且时间改为30000,然而并没有刷新 :Cry
回复

回到 “Shell脚本”