¿La secuencia de comandos Beep in shell no funciona?

74

Me gustaría utilizar un sonido de pitido en un guión de shell. Desafortunadamente ninguno de los métodos que encontré a través de Google me funciona.

Lo intenté

echo -e '\a'

echo -ne '%pre%7'

y el comando beep después de que lo instalé a través de apt.

¿Cuál podría ser el motivo?

    
pregunta NES 03.01.2011 - 20:37

9 respuestas

80

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

La razón por la que esto no ocurre es porque, por defecto, Ubuntu ya no carga el controlador de hardware que produce los bips.

Si esto funciona para ti, entonces para habilitar la carga de pcspkr edita permanentemente el archivo /etc/modprobe.d/blacklist.conf (usando gksudo gedit tal vez) y comenta la línea que dice blacklist pcspkr para que se vea así:

# ugly and loud noise, getting on everyone's nerves; this should be done by a
# nice pulseaudio bing (Ubuntu: #77010)
# blacklist pcspkr
    
respondido por el 8128 03.01.2011 - 20:44
81

Como no soy fan del pip del pcspkr, utilizo un sonido de uno de los sonidos del sistema con el comando paplay del servidor pulseaudio instalado.

Primero encuentre el sonido que desee (puede explorar / usr / share / sounds para algunos disponibles, por ejemplo) y cree una referencia al mismo

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

Luego, tenerlo disponible como un comando

alias beep='paplay $BEEP'

Ahora solo ejecuta beep cada vez que lo necesites. Por ejemplo, para avisarle cuando un comando finaliza:

find . | grep treasure ; beep
    
respondido por el yuvilio 27.07.2012 - 00:28
21

Para solucionar este problema persistentemente:

  • Ejecute gconf-editor y si la configuración desktop | gnome | peripherals | keyboard | bell_mode está presente, cámbiela de off a on
  • Ejecute dconf-editor y si la configuración org | gnome | settings-daemon | peripherals | keyboard | bell-mode está presente, cámbiela de off a on
  • Agregue pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg al archivo ~/.xprofile (necesita gnome-control-center-data para glass.ogg )
  • Agregue [ "$DISPLAY" ] && xset b 100 al archivo ~/.bashrc

La forma más sencilla de activar esta solución es reiniciar.

Además, para implementar esta solución de inmediato para una ventana de terminal que ya está abierta, ejecute el comando pactl y ejecute el comando xset en la ventana de terminal en cuestión.

    
respondido por el jdthood 12.12.2012 - 12:33
17

Dado que esta es una pregunta muy valorada en google, agregaré los pasos que hice para volver a habilitar el sonido tanto en la consola como en X11:

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

Por qué no funciona de manera predeterminada

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

Habilitar temporalmente hasta el reinicio:

sudo modprobe pcspkr

Activar automáticamente al arrancar:

sudo nano /etc/modprobe.d/blacklist.conf

(eliminar o comentar pcspkr línea prefiándolo con # )

Para terminales X11 (como el gnome-terminal predeterminado)

Por qué no funciona de manera predeterminada

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

Para habilitar temporalmente 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 otras muestras adecuadas que puedes probar en /usr/share/sounds , por ejemplo, comprueba las que están en /usr/share/sounds/gnome/default/alerts/

Tenga en cuenta que el programa beep no es realmente necesario. Pero si está instalado, usa el Altavoz para PC. Era la única forma que podía encontrar para habilitar el zumbador bajo X:

sudo apt-get install beep

Para habilitar automáticamente al arrancar, solo agrega las líneas anteriores en tu ~/.profile , o en todo el sistema en /etc/profile

Para probarlo:

printf '\a'

¡Pitido!

beep

Buzz!

    
respondido por el MestreLion 19.02.2015 - 11:36
11

He encontrado este problema antes. Por lo que recuerdo, el problema es que la campana de la terminal intenta sonar un altavoz interno de la computadora (como en un escritorio de la vieja escuela), pero a las computadoras portátiles y algunas computadoras más nuevas les falta algo así.

La única solución que encontré en ese momento fue sudo apt-get install sox y

play -n synth <duration in seconds> sine <freq in Hz> vol <volume (0-1)>

por ejemplo,

 play -n synth 0.1 sine 880 vol 0.5
    
respondido por el YodaDaCoda 11.12.2012 - 23:04
2

Si tiene altavoces reales conectados a la computadora y no está recibiendo un pitido, es probable que esté utilizando compiz. Compiz confía en que pulseaudio capture los pitidos y los toque mientras que metacity pasa por alto la configuración habitual y usa libcanberra para reproducir un pitido. Si funciona con metacity y no compiz, ese es su problema, de lo contrario, la respuesta dada por htorque es corrent.

    
respondido por el Travis Watkins 03.01.2011 - 20:56
2
respondido por el htorque 03.01.2011 - 20:43
2

Finalmente encontré una solución, que no requiere alsamixer para tener una opción de PC Beep. Creo que recuerdo todos mis cambios:

descomenta lo siguiente en /etc/pulse/default.pa :

load-sample-lazy x11-bell /usr/share/sounds/ubuntu/stereo/bell.ogg
load-module module-x11-bell sample=bell-windowing-system

por este error , ejecute pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg

    
respondido por el JoBu1324 11.12.2012 - 23:09
1

" El pitido solo funciona si su PC tiene un" altavoz ". Muchas computadoras portátiles / pequeños dispositivos modernos no tienen uno".

Intenta reproducir un sonido como este: play xxxxx.wav Encontré un agradable wav archivo que parece corto y dulce, pero también puede elegir el suyo. Funciona para mí cuando todo lo demás falló.

Gracias a: tredegar & amp; hk_centos

    
respondido por el Eliptical view 05.03.2018 - 23:00

Lea otras preguntas en las etiquetas