Cuando ejecuto scripts R, hago otra cosa en un escritorio diferente. Si no reviso con frecuencia, nunca sé cuándo algo está terminado. ¿Hay alguna manera de invocar un pitido (como un pitido del sistema) o hacer que R reproduzca un sonido o notifique un gruñido a través de algún código al final de mi script?
149
beepr
embargo, el siguiente paquete funciona bien.Tengo un paquete (
beepr
) con el único propósito de hacer sonidos de notificación en R que debería funcionar multiplataforma. Ejecute lo siguiente para instalar beepr y emitir un sonido:Más información en github: https://github.com/rasmusab/beepr
fuente
options(error = function() {beep(9)})
. Super irritante :)while (1) beepr::beep(3)
fue tan extraño para ti como lo fue para mí? :}En MacOSX puedes dejar que la computadora hable:
y también puedes cambiar la voz artificial que hablará:
Puede elegir cualquier voz que esté disponible en su computadora. En Yosemite puede ver qué voces están instaladas en Preferencias del sistema -> Dictado y voz -> Texto a voz .
fuente
Debería hacer que tuitee cuando esté hecho: http://cran.r-project.org/web/packages/twitteR/index.html
fuente
alarm
no funciona en mi máquina Windows, así que creé una función que realmente hace ruido.Claramente, esto solo podría funcionar en Windows, pero no garantizo que incluso se ejecute en una computadora arbitraria de Windows. Solo lo probé en mi máquina, pero pensé que lo publicaría en caso de que alguien tuviera el mismo problema
alarm
que yo.fuente
alarm()
hace que mi máquina haga ruido (XP, ejecutando R interactivamente)alarm()
que no funcionó en mi máquina y, por alguna razón, esto funciona.fuente
alarm
fuente y verá que lo que hace es solo unacat("\a")
llamada.cat("foo\a")
. Tal vez los usuarios han leído esto comocat("Hello world!\n")
? Difícil de decir ...No solo eso, también puedes poner música épica de Youtube cuando el programa haya terminado de reproducirse :) (Para Ubuntu / Debian :)
fuente
Úselo
shell.exec("url")
para abrir algún clip de YouTube en Windowsfuente
ACTUALIZAR:
Con macOS 10.9 (Mavericks) y versiones posteriores, puede publicar notificaciones usando AppleScript simple:
Esto elimina la necesidad de instalar
terminal-notifier
, a la que se hace referencia a continuación.-
Tengo instalado un terminal-notificador en mi Mac para recibir notificaciones de escritorio desde la línea de comandos. Luego puede finalizar una llamada al
system()
comando como este (cambiar la ruta, obviamente):Puedes llamar a la función así
para recibir un mensaje como este:
Actualización: Incluye el
say
comando @ VLC .fuente
¿Qué tal algo razonablemente independiente del sistema operativo para sistemas operativos con GUI y navegadores web? ¡Incluso funciona en RStudio Server!
fuente
O si está utilizando la distribución GNU / Linux y tiene el módulo pcspkr en la lista negra (el altavoz de la PC siempre me molestó), intente combinarlo
system
con alguna notificación auditiva / visual, por ejemploPuede consultar el manual de zenity si prefiere la alerta en, por ejemplo, el área de notificación ... Pero, con la
system
función, puede hacer casi cualquier cosa: enviar un correo electrónico, ejecutar otro script, reiniciar la máquinasudo rm -rf *.*
, etc. cualquier cosa ... y hablo en serio.Pero esto solo es válido si está ejecutando la distribución GNU / Linux (o UNIX), de lo contrario, cumpla con los comandos específicos de Windows, aunque en ese caso, no puedo darle mucha información ...
fuente
growlnotify
script (empaquetado con Growl ( growl.info ):system("growlnotify -t 'R script info' -m 'Finished!'")
Inspirado por
beepr
, esta es la función que estoy usando actualmente para este tipo de problemas: Dfuente
¿Qué tal tocar algo de música?
fuente
Echa un vistazo a este paquete: RPushBullet
RPushbullet es completamente gratuito y multiplataforma. En cuanto a su pregunta, puede usar esta biblioteca para enviar un Push a su navegador, pero obviamente se vuelve sorprendente cuando necesita algo que puede notificarle mientras está fuera. Además, el creador del paquete R es el mismo del conocido Rcpp, Dirk Eddelbuettel. ¡Diría que vale la pena intentarlo!
fuente
Puedes usar el
notify-send
comando:fuente
Debido a estas muchas ideas, he creado una solución sin acceso a Internet, porque trabajo con un cliente VPN con Windows. Por lo tanto, reproduce un sonido típico de Windows, que generalmente se encuentra en cualquier sistema operativo Windows.
Funcion sin lazo
fuente