システムにPythonがインストールされていると仮定すると、に代わるものがありcron
ます。Midoriを5分ごとにリロードする簡単なPython 2.7.3スクリプトを作成しました。
#This program reloads midori every 5 minutes
#Redifine the variables below as you see fit
rest_time = 300 #Rest time is set to 300 seconds (5 minutes)
import subprocess as sub #Imports terminal commands (needed for reload)
from time import sleep #Import sleep (allows an infinite loop to become dormant)
while True: #This is an infinite loop. This means that our script won't stop.
sub.call(["midori", "-e", "Reload"]) #This forwards our command to the terminal
sleep(rest_time) #Wait rest_time second(s), then start the loop again.
休憩時間を変更する必要がある場合は、rest_time
変数を変更するだけです。
新しいスクリプト
このプログラムは「スマート」である必要があるとおっしゃっていましたが、そうするために編集しました。このプログラムを使用するときは、Midoriを手動で開かないでください。スクリプトから開きます。スピードダイヤラーが原因でクラッシュするという奇妙な癖があります。Python 2.7.3でも動作します。すべてのコピーと貼り付けを行わない場合は、コードのペーストビンにアクセスしてください。
"""
Midori Kiosk Reloader.
Created by xxmbabanexx
NOTE: This program opens Midori automatically. DO NOT OPEN IT MANUALLY, SIMPLY CLICK ON THIS PROGRAM.
KEYS
1 = Connection Complete. All is well.
0 = Connection Incomplete. Something is wrong.
"""
#Change these variables to your liking.
host = "www.google.com" #Put your desired host URL/IP between the quotes
port = 80 #Set to default port of 80. If your host uses something else, please change it.
recheck_time = 10 #The number of seconds the program will wait to ping the server. Change this at your leisure.
page_to_open_to = "www.google.com" #This is the webpage the kiosk will open to. Put the url between the quotes.
#Excersise caution when changing these vars.
last = -1 #undefined state
up = -1 #Undefined state
"""
#---------------- Main code. Do NOT touch unless you KNOW what you are doing. ------------
"""
#Import modules
import subprocess as sub
from time import sleep
import socket
import threading
sub.Popen(["midori", "-a", page_to_open_to]) #open midori
#Check if internet is up
addr = (host, port) #the connection addr
while True:
last = up #reset checking var
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create socket
try: #attempt to ping, change vars
s.connect(addr)
up = 1
print "\n"
except socket.error: #if error when pinging, change vars
up = 0
print "\n"
print "LAST CHECK:", last
print "CURRENT CHECK:", up
if last == 0 and up == 1:
print "Reloading Midori.\n"
sub.call(["midori", "-e", "Reload"])
s.close()
sleep(recheck_time)
qdbus
(パッケージからlibqt4-dbus
か、そこにみどりのためのいくつかの同様のツールと見て)。次に、おそらくページの更新をトリガーできます。