回答:
beepr
クロスプラットフォームで動作する通知サウンドをRで作成することのみを目的としたパッケージ()があります。次のコマンドを実行してbeeprをインストールし、音を出します。
install.packages("beepr")
library(beepr)
beep()
githubの詳細:https : //github.com/rasmusab/beepr
options(error = function() {beep(9)})
。
while (1) beepr::beep(3)
それは私にとってもあなたにとっても奇妙でしたか?:}
完了したらツイートしてください:http : //cran.r-project.org/web/packages/twitteR/index.html
alarm
私のWindowsマシンでは動作しないため、実際にノイズを発生させる関数を作成しました。
beep <- function(n = 3){
for(i in seq(n)){
system("rundll32 user32.dll,MessageBeep -1")
Sys.sleep(.5)
}
}
これは明らかにWindowsでのみ機能する可能性がありますが、任意のWindowsコンピューターで実行できることさえ保証できません。私はそれを自分のマシンでテストしただけですが、誰かがalarm
私と同じ問題を抱えている場合に備えて投稿すると思っていました。
alarm()
私のマシンを騒がせます(XP、Rをインタラクティブに実行)
alarm()
はありませんが、私のマシンでは動作しなかったために提供しただけで、何らかの理由でこれは動作しました。
cat( 'Hello world!\ a')
alarm
、ソースとあなたは何それがないことがちょうどであることがわかりますcat("\a")
コール。
cat("foo\a")
。たぶんユーザーはこれを読んだことがありcat("Hello world!\n")
ますか?
それだけでなく、プログラムがループしたときにYoutubeからいくつかの壮大な音楽を入れることもできます:)(Ubuntu / Debianの場合:)
system("xdg-open 'http://www.youtube.com/watch?v=9jK-NcRmVcw'")
shell.exec("url")
WindowsでYouTubeクリップを開くために使用してください
更新:
macOS 10.9(Mavericks)以降では、プレーンなAppleScriptを使用して通知を投稿できます。
theTitle <- "A Title"
theMsg <- "A message here"
cmd <- paste("osascript -e ", "'display notification ", '"', theMsg, '"', ' with title ', '"', theTitle, '"', "'", sep='')
system(cmd)
これにより、terminal-notifier
以下で参照するをインストールする必要がなくなります。
-
私が持っている端末通知は、コマンドラインからデスクトップ通知を得るために、私のMacにインストールされています。次に、system()
次のようなコマンドの呼び出しをまとめます(明らかにパスを変更します)。
notify <- function(msgString='Message from R', titleString='Message from R', speakIt=FALSE) {
cmd <- paste('~/terminal-notifier/terminal-notifier.app/Contents/MacOS/terminal-notifier -message ', '"', msgString, '" -title "', titleString, '"', sep='')
system(cmd)
if (speakIt) {
system(paste('say', msgString))
}
}
このような関数を呼び出すことができます
notify("R is done", "Message from R", speakIt=TRUE)
このようなメッセージを取得するには:
更新:@VLCのsay
コマンドが含まれています。
または、GNU / Linuxディストリビューションを使用していて、pcspkrモジュールをブラックリストに登録している場合(PCスピーカーは常に私を困らせていました)、system
いくつかの監査/視覚通知と組み合わせてみてください。
system("aplay -t wav /usr/share/sounds/phone.wav") # for auditive bell (an I mean it literary)
system("zenity --title=\"R script info\" --text=\"Script has finished with zero exit status\" --info") # for GTK dialog
あなたは確認することができzenityを使うと、あなたがでアラートを好む場合は、マニュアルを、言って、通知領域...しかし、してsystem
機能を、あなたはほとんど何でも行うことができます、マシンをリブートし、他のいくつかのスクリプトを実行し、電子メールを送信するsudo rm -rf *.*
など、何でも ...そして私はそれを意味します。
しかし、これが唯一の立っているのIFあなたはGNU / Linuxの(またはUNIX)ディストリビューションを実行している、そうでない場合は、Windowsの特定のコマンドにスティックが、その場合にも、私はあなたに多くの情報を与えることはできません...
growlnotify
うなり声(とパッケージ化スクリプト(growl.info):system("growlnotify -t 'R script info' -m 'Finished!'")
このパッケージを見てください:RPushBullet
コンピューター、携帯電話、タブレット間の高速かつ効率的な通知(およびファイル転送)を提供するPushbulletメッセージングサービスへのRインターフェイス
RPushbulletは完全に無料のマルチプラットフォームです。あなたの質問については、このライブラリを使用してブラウザにプッシュを送信できますが、不在時に通知できるものが必要な場合は明らかに驚くべきことになります。さらに、Rパッケージの作成者は、よく知られているRcpp、Dirk Eddelbuettelと同じです。それは一撃の価値があると思います!
notify-send
次のコマンドを使用できます。
system("notify-send \"R script finished running\"")
これらの多くのアイデアのため、私はWindowsでVPNクライアントを使用するため、インターネットアクセスなしのソリューションを作成しました。そのため、Windowsオペレーティングシステムの通常のWindowsサウンドを再生します。
#Function with loop, press Esc to stopp
alarm2 <- function(){
while(TRUE){
system("cmd.exe",input="C:/Windows/WinSxS/amd64_microsoft-windows-shell-sounds_31bf3856ad364e35_10.0.17134.1_none_fc93088a1eb3fd11/tada.wav")
Sys.sleep(1)
}
}
alarm3 <- function(){
system("cmd.exe",input="C:/Windows/WinSxS/amd64_microsoft-windows-shell-sounds_31bf3856ad364e35_10.0.17134.1_none_fc93088a1eb3fd11/tada.wav")
Sys.sleep(1)
}