99 votos

Beep en shell script no funciona?

Me gustaría utilizar un sonido de " bip " en un script de shell. Por desgracia, ninguno de los métodos que he encontrado a través de Google funciona para mí.

He intentado

echo -e '\a'

echo -ne '\007'

y el comando beep después he instalado a través de apt.

¿Cuál podría ser la razón?

108voto

No ser un fan de la pcspkr tono, yo uso un sonido de uno de los sonidos del sistema, con el instalado pulseaudio del servidor paplay comando.

En primer lugar, encontrar un sonido que te gusta (usted puede navegar a /usr/share/sounds para algunos disponibles por ejemplo) y crear una referencia a él

export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg

Luego tenemos disponible como un comando

alias beep='paplay $BEEP'

Ahora sólo tiene que ejecutar beep siempre que lo necesite. Por ejemplo, para que le avise cuando un comando está terminado:

find . | grep treasure ; beep

103voto

Ray Vega Puntos 220

Primera ejecución sudo modprobe pcspkr y, a continuación, beep debería funcionar.

La razón de esto no es porque por defecto de Ubuntu ya no carga el controlador de hardware que producen los pitidos.

Si esto funciona para usted, a continuación, habilitar la carga de pcspkr permanentemente edición de la /etc/modprobe.d/blacklist.conf archivo (usando gksudo gedit tal vez), y comentar la línea que dice blacklist pcspkr por lo que se ve como esto:

# feo y fuerte ruido, obteniendo en todos los nervios; esto debe ser realizado por un
# nice pulseaudio bing (Ubuntu: #77010)
# lista negra pcspkr

21voto

miguel Puntos 1537

Dado que esta es una muy alta calificación pregunta en google, voy a añadir los pasos que hice para volver a habilitar el pitido de la consola y de X11:


- Para la Consola de Linux (CTRL+ALT+F1...F6):

Por qué no funciona por defecto:

Como ya se respondió, pcspkr controlador de núcleo para el parlante de la PC está en la lista negra en Ubuntu.

Habilitar temporalmente hasta que reinicio:

sudo modprobe pcspkr

Habilitar de forma automática en el arranque:

sudo nano /etc/modprobe.d/blacklist.conf -> uncomment #pcspkr line

- Para X11 terminales (como el predeterminado gnome-terminal):

Por qué no funciona por defecto:

En X, como cuando usa Unity, KDE, Gnome Shell, el pitido de los eventos capturados por PulseAudio gracias a module-x11-bell, que se carga por defecto en /usr/bin/start-pulseaudio-x11. Y la muestra de sonido PulseAudio juega en beep, bell.ogg, está en blanco de forma predeterminada. Además, la campana de volumen puede ser silenciado.

Habilitar temporalmente para la sesión actual:

xset b 100  # perhaps not needed, on my system it was 40 by default
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg

Hay otro tipo de muestras que usted puede probar en /usr/share/sounds, por ejemplo, comprobar los en /usr/share/sounds/gnome/default/alerts/

Tenga en cuenta que el beep programa no es realmente necesario. Pero si se instala, utiliza los Altavoces del PC. Era la única forma en que podía encontrar para activar el timbre en X:

sudo apt-get install beep

Habilitar de forma automática en el arranque:

Sólo añadir las líneas en tu ~/.profile, o de todo el sistema en /etc/profile


- A prueba de ti:

printf '\a'

Beep!

beep

Buzz!

2voto

Maciek Gryka Puntos 1807

Por lo que puedo decir, esto es un error: el sonido del Sistema roto en Kármica a pesar de los heroicos esfuerzos para solucionarlo.

2voto

Ahmet Alp Balkan Puntos 163

Si usted tiene real de los altavoces conectados a la computadora y usted no está recibiendo una señal sonora es probable que esté usando compiz. Compiz es confiar en pulseaudio la captura de los sonidos y jugar con ellos mientras metacity omite la instalación habitual y utiliza libcanberra para reproducir un sonido de pitido. Si funciona con metacity y no compiz ese es su problema, de lo contrario la respuesta htorque dio es corrent.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: