1

ubuntuで通知用の簡単なアプリを作りたい...例:18:00、21:00、24:00にubuntuからメッセージを受け取りたい

メッセージの簡単な方法は次のとおりです。

def alarm
  %x{notify-send -i rhythmbox Test "Hello world" }
end

alarm

そして、このファイルをsartするとき(例: ruby​​ somefilename.rb )

通知メッセージを受け取りました。

Question: how to cause this file run in 18:00, 21:00, 24:00

PS私は多くの同様のプログラムがあることを知っています(その方法を知りたいという経験のために)

UD crontab の使用:

* * * * * %x{notify-send -i rhythmbox Test "Hello world" }

毎分このスクリプトを開始する必要がありますが、何も起こりませんでした

いくつかの例では、スクリプトの代わりにそれらへのパスを配置することがわかりました: 次のようなもの:

* * * * * ruby /home/Home/myDisk/somefile.rb

このファイルを ruby​​ で開く方法、または ruby​​ を使用せずに端末で通知送信スクリプトを起動する方法を教えてください。

4

1 に答える 1

1

良いツールはcronanacronです。

Ruby でこれを行うには、1 つの方法として Rubysleepメソッドを使用します。

seconds = 18 * 60  # 18 minutes * 60 seconds/minute
sleep(seconds)
alarm

ループで「起床」時間を使用するには:

start = Time.now
for wake in [18, 21, 24]
  seconds = wake * 60 + start - Time.now
  sleep(seconds)
  alarm
end

Thread並行してアラームを実行するRuby も参照してください。

for wake in [18, 21, 24]
  threads << Thread.new(wake) {|wake|
    sleep(wake * 60)
    alarm    
  }
end
threads.each {|t| t.join }
于 2013-02-04T07:06:31.740 に答える