Estoy ejecutando de vez en cuando algunos scripts de Python que tardan bastante en ejecutarse.
Los ejecuto así:
$ time python MyScript.py
¿Cómo puedo reproducir un sonido tan pronto como finalice la ejecución del script?
Yo uso Ubuntu 10.10 (escritorio Gnome).
bash
ozsh
? En realidad, hay algunas formas de hacer que esto suceda automáticamente, pero están bastante involucrados y dependen del shell que esté utilizando.Respuestas:
Agregue cualquier comando que reproduzca un sonido; esto podría ser tan simple como
o tan complejo como
(Los comandos asumen que pulseaudio está instalado; sustituya su reproductor de sonido, que dependerá de su entorno de escritorio).
fuente
paplay
es probablemente el mejor comando para reproducir un sonido en un sistema Linux "moderno".time python MyScript.py -n 40 && paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg || paplay /usr/share/sounds/ubuntu/stereo/phone-outgoing-busy.ogg
printf '\7'
funciona para mí (paplay no; (git shell)) pero es solo un pequeño bip . ¿Hay más códigos que hacen otros sonidos? Lo intenté\6
,\8
pero son algunos personajes.\7
(BEL) suele ser el único carácter que posiblemente activa un sonido (consulte el artículo de Wikipedia Carácter de control ); tenga en cuenta que tampoco siempre puede emitir un sonido.for i in {1..30}; do for j in {1..3}; do printf '\7'; sleep 0.12; done; sleep 0.4; done
spd-say
Bucle infinito con
-w
si necesita motivación adicional:Preinstalado en 14.04 a través del paquete
speech-dispatcher
: http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest para personas ciegas, supongo.También agregue una ventana emergente
Este combo es un salvavidas (
b
significabeep
):y entonces:
Si estoy en algún lugar de la habitación, lo escucharé y sabré que el largo trabajo está hecho.
De lo contrario, veré la ventana emergente cuando regrese a mi computadora.
Relacionado: https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux
fuente
spd-say
herramienta asociadaspeech-dispatcher
, es posible que deba instalar un subpaquete comospeech-dispatcher-utils
(Fedora 24).Simplemente elija un sonido en su disco duro y ponga un comando para reproducirlo justo después del comando que está esperando; sucederán secuencialmente:
(Puedes usar cualquier jugador, naturalmente). Tengo un script llamado
alertdone
que reproduce un tono y muestra una alerta de libnotify cuando se ejecuta; Lo uso exactamente para esta ocasión:Es muy simple, por lo que si desea hacer su propia puede basar en esto (la mina requiere
notify-more
,mplayer
y~/tones/alert_1.wav
sin embargo):fuente
notify-more
o denotify-send
hecho podrían ser alternativas útiles para reproducir un sonido.play
es un reproductor de sonido muy básico (sin interfaz de usuario) del paquete sox Install sox http://bit.ly/software-small . Puede reemplazarlo por cualquier otro reproductor de sonido con línea de comandos.fuente
play
,aplay
, opaplay
. (Mi sistema Ubuntu tieneaplay
ypaplay
por defecto.)time python MyScript.py -n 40; paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg
trabajado, gracias.Personalmente, yo uso
my-script && notify-send "done"
. Esto envía una notificación de escritorio, que en Linux Mint (Cinnamon) se ve así:fuente
También puede hacer que esto suceda automáticamente.
Te mostraré cómo
zsh
, luego agregaré información sobrebash
.La esencia se ve así:
También puede hacerlo solo si el programa era Python, p. Ej.
En
bash
, la mejor manera es descargar preexec.bash.txt y obtenerlo (por ejemplo,. ~/preexec.bash.txt
en la parte superior de su~/.bashrc
, entonces lo anterior (o algo parecido) debería funcionar. (No estoy seguro sobre el$3
bit para verificar si el comando es Python .)Si está utilizando el Terminal GNOME, también le señalaría el Terminal GNOME Intermitente . Es un parche que escribí que hace que el terminal parpadee cuando se ejecuta un comando, por lo que puede Alt-Tab a otra cosa, luego le avisa cuando está hecho.
fuente
No necesita agregar un comando a todo, en realidad puede usar un script, que lo hace automáticamente por usted. Se llama undistract-me y está disponible en Github.
ejemplo
ahora comienza un nuevo bash y estás listo. El sonido y la alerta se pueden cambiar modificando el guión.
fuente
Cualquier jugador puede ser usado. Estoy agregando
cvlc
para completar.fuente