Wenn ich R-Skripte ausführe, mache ich etwas anderes auf einem anderen Desktop. Wenn ich nicht häufig nachschaue, weiß ich nie, wann etwas fertig ist. Gibt es eine Möglichkeit, einen Piepton auszulösen (wie einen System-Piepton) oder R dazu zu bringen, einen Sound abzuspielen oder das Knurren über einen Code am Ende meines Skripts zu benachrichtigen?
149
beepr
Paket funktioniert jedoch einwandfrei.Ich habe ein Paket (
beepr
) mit dem alleinigen Zweck, Benachrichtigungssounds in R zu erzeugen, das plattformübergreifend funktionieren sollte. Führen Sie die folgenden Schritte aus, um beepr zu installieren und einen Sound zu erzeugen:Weitere Informationen unter github: https://github.com/rasmusab/beepr
quelle
options(error = function() {beep(9)})
. Super irritierend :)while (1) beepr::beep(3)
war das für dich genauso komisch wie für mich? :}Unter MacOSX können Sie den Computer sprechen lassen:
und Sie können auch die künstliche Stimme ändern, die spricht:
Sie können jede Stimme auswählen, die auf Ihrem Computer verfügbar ist. Auf Yosemite können Sie sehen, welche Stimmen in den Systemeinstellungen -> Diktat & Sprache -> Text zu Sprache installiert sind .
quelle
Sie sollten es twittern lassen, wenn es fertig ist: http://cran.r-project.org/web/packages/twitteR/index.html
quelle
alarm
funktioniert auf meinem Windows-Computer nicht, daher habe ich eine Funktion erstellt, die tatsächlich Geräusche macht.Dies könnte natürlich nur unter Windows funktionieren, aber ich kann nicht garantieren, dass es sogar auf einem beliebigen Windows-Computer ausgeführt wird. Ich habe es nur auf meinem Computer getestet, aber ich dachte, ich würde es veröffentlichen, falls jemand das gleiche Problem damit hat
alarm
wie ich.quelle
alarm()
macht meine Maschine ein Geräusch (XP, R interaktivalarm()
auf meinem Computer nicht funktioniert, und aus irgendeinem Grund funktioniert dies auch nicht.quelle
alarm
Quelle an und Sie werden sehen, dass es sich nur um einencat("\a")
Anruf handelt.cat("foo\a")
. Vielleicht haben die Benutzer dies als gelesencat("Hello world!\n")
? Schwer zu sagen ...Nicht nur das, du kannst auch epische Musik von Youtube einfügen, wenn das Programm fertig ist :) (Für Ubuntu / Debian :)
quelle
Bitte verwenden Sie
shell.exec("url")
, um einen YouTube-Clip unter Windows zu öffnenquelle
AKTUALISIEREN:
Mit macOS 10.9 (Mavericks) und höher können Sie Benachrichtigungen mit einfachem AppleScript veröffentlichen:
Dadurch entfällt die Notwendigkeit der Installation
terminal-notifier
(siehe unten).- -
Ich habe Terminal-Notifier auf meinem Mac installiert Desktop - Benachrichtigungen von der Kommandozeile zu erhalten. Sie können dann einen Aufruf des
system()
Befehls wie folgt abschließen (ändern Sie natürlich den Pfad):Sie können die Funktion so aufrufen
um eine Nachricht wie diese zu erhalten:
Update: Enthält den
say
Befehl von @ VLC .quelle
Wie wäre es mit etwas, das für Betriebssysteme mit GUIs und Webbrowsern einigermaßen betriebssystemunabhängig ist? Es funktioniert sogar auf RStudio Server!
quelle
Oder wenn Sie die GNU / Linux-Distribution verwenden und das PCspkr- Modul auf die schwarze Liste gesetzt haben (der PC-Lautsprecher hat mich immer gestört ), versuchen Sie es
system
mit einer akustischen / visuellen Benachrichtigung, zSie können das Zenity- Handbuch überprüfen, wenn Sie beispielsweise im Benachrichtigungsbereich eine Warnung bevorzugen. Mit der
system
Funktion können Sie jedoch so ziemlich alles tun: eine E-Mail senden, ein anderes Skript ausführen, den Computer neu startensudo rm -rf *.*
usw. Alles ... und ich meine es.Aber das steht nur IF Sie GNU / Linux (oder UNIX) Verteilung laufen lassen , andernfalls Stick Windows - spezifische Befehle, obwohl in diesem Fall kann ich Ihnen nicht viele Informationen geben ...
quelle
growlnotify
Skript (im Paket mit Growl ( growl.info ):system("growlnotify -t 'R script info' -m 'Finished!'")
Inspiriert von
beepr
, ist dies die Funktion, die ich derzeit für diese Art von Problemen verwende: D.quelle
Wie wäre es mit Musik?
quelle
Schauen Sie sich dieses Paket an: RPushBullet
RPushbullet ist völlig kostenlos und plattformübergreifend. Was Ihre Frage betrifft, können Sie diese Bibliothek verwenden, um einen Push an Ihren Browser zu senden. Offensichtlich wird es jedoch erstaunlich, wenn Sie etwas benötigen, das Sie während Ihrer Abwesenheit benachrichtigen kann. Darüber hinaus ist der Schöpfer des R-Pakets derselbe wie der bekannte Rcpp Dirk Eddelbuettel. Ich würde sagen, es ist einen Versuch wert!
quelle
Sie können den folgenden
notify-send
Befehl verwenden:quelle
Aufgrund dieser vielen Ideen habe ich eine Lösung ohne Internetzugang erstellt, da ich mit einem VPN-Client unter Windows arbeite. Es wird also ein typischer Windows-Sound abgespielt, der normalerweise auf jedem Windows-Betriebssystem ausgeführt wird.
Funktion ohne Schleife
quelle