Me gustaría usar un pitido en un script de shell. Lamentablemente, ninguno de los métodos que encontré a través de Google me funciona.
Lo intenté
echo -e '\a'
echo -ne '\007'
y el comando beep
después de instalarlo a través de apt.
¿Cuál podría ser la razón?
Respuestas:
Primero corre
sudo modprobe pcspkr
y luegobeep
debería funcionar.La razón por la que esto no ocurre es que, por defecto, Ubuntu ya no carga el controlador de hardware que produce pitidos.
Si esto funciona para usted, entonces para habilitar la carga de pcspkr edite permanentemente el
/etc/modprobe.d/blacklist.conf
archivo (usandogksudo gedit
quizás) y comente la línea que diceblacklist pcspkr
que se ve así:fuente
blacklist pcspkr
, tengo que hacermodprobe -r pcspkr && modprobe pcspkr
para que funcione. Además, hacer que suene el pitido no es lo mismo que hacer que suene la campana audible y, por lo tanto, askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell aún debe estar abierto.Como no soy fanático del pitido pcspkr, utilizo un pitido de uno de los sonidos del sistema con el comando de reproducción del servidor pulseaudio instalado.
Primero encuentre un sonido que le guste (puede buscar / usr / compartir / sonidos para algunos disponibles, por ejemplo) y crear una referencia a él
Luego tenlo disponible como un comando
Ahora solo corre
beep
cuando lo necesites. Por ejemplo, para alertarlo cuando finalice un comando:fuente
echo -e '\a'
run-my-long-test-suite.sh; beep
y leer stackoverflow hasta que el sistema esté listo.export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
yalias beep='paplay $BEEP --volume=32768'
ahora, eso funciona bien para mí. (Tenga en cuenta que puede anular el volumen con elbeep
alias, por ejemplo, sebeep --volume=15000
reproduce en un volumen de -12dB.)Para solucionar este problema persistentemente:
gconf-editor
y si ladesktop | gnome | peripherals | keyboard | bell_mode
configuración está presente, cámbiela deoff
aon
dconf-editor
y si laorg | gnome | settings-daemon | peripherals | keyboard | bell-mode
configuración está presente, cámbiela deoff
aon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
al archivo~/.xprofile
(que necesitagnome-control-center-data
paraglass.ogg
)[ "$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 inmediatamente para una ventana de terminal que ya está abierta, ejecute el
pactl
comando y ejecute elxset
comando en la ventana de terminal en cuestión.fuente
pactl upload-sample
comando en un script de shell, pero su método es más organizado. ¡Gracias!pactl
comando~/.xprofile
, se ejecuta al comienzo de la sesión de la GUI.dconf-editor
versión de labell-mode
configuración parece serorg.gnome.settings-daemon.peripherals.keyboard
.glass.ogg
instalado el paquete que contieneComo esta es una pregunta de alta calificación en Google, agregaré los pasos que hice para volver a habilitar el pitido tanto en la consola como en X11:
Para la consola de Linux ( CTRL+ ALT+ F1... F6):
Por qué no funciona por defecto
Como ya se respondió , el
pcspkr
controlador del kernel para el PC Speaker está en la lista negra de Ubuntu.Habilitar temporalmente hasta reiniciar:
Habilitar automáticamente en el arranque:
(eliminar o comentar la
pcspkr
línea al agregarla#
)Para terminales X11 (como el predeterminado
gnome-terminal
)Por qué no funciona por defecto
En X, como cuando se usa Unity, KDE, Gnome Shell, PulseAudio captura los eventos de pitido gracias a
module-x11-bell
que se carga de forma predeterminada en/usr/bin/start-pulseaudio-x11
. Y la muestra de sonido PulseAudio se reproduce en pitidobell.ogg
, está en blanco de forma predeterminada. Además, el volumen de la campana puede estar silenciado.Para habilitar temporalmente la sesión actual,
Hay otras muestras adecuadas que puede probar
/usr/share/sounds
, por ejemplo, consulte las/usr/share/sounds/gnome/default/alerts/
Tenga en cuenta que el
beep
programa no es realmente necesario. Pero si está instalado, usa el altavoz de la PC. Era la única forma que pude encontrar para habilitar el timbre bajo X:Para habilitar automáticamente el arranque, simplemente agregue las líneas anteriores en su
~/.profile
, o en todo el sistema en/etc/profile
Para probarlo:
¡Bip!
¡Zumbido!
fuente
pcspkr
ybell.ogg
son enfoques independientes.beep
intenta emitir un pitido usando varios enfoques, por ejemplo,ioctl(console_fd, KIOCSOUND, period)
usarpcspkr
(el sonido proviene del altavoz de la PC en la placa base) mientras que elprintf '\a'
método basado en la base puede funcionar sin usarlo solobell.ogg
(el sonido proviene de los altavoces normales). El segundo método podría no funcionar hasta que se inicie y / oxset b on
se ejecute el serviciopactl upload-sample ...
era dorado para mí. ¿Cuál es la forma de configurar permanentemente la carga de la muestra nuevamente?~/.profile
, o de todo el sistema en/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
en/etc/pulseaudio/default.pa
.He encontrado este problema antes. Por lo que recuerdo, el problema es que el timbre de la terminal intenta sonar un altavoz interno de la computadora (como en un escritorio de la vieja escuela) pero las computadoras portátiles y algunas computadoras más nuevas no tienen tal cosa.
La única solución que encontré en ese momento fue
sudo apt-get install sox
yp.ej
fuente
play -q -n synth 2 pluck C5
. C5 es la nota.Finalmente encontré una solución, que no requiere
alsamixer
tener una opción de pitido de PC. Creo que recuerdo todos mis cambios:descomenta lo siguiente en
/etc/pulse/default.pa
:por este error , ejecuta
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
fuente
Connection failure: Connection refused pa_context_connect() failed: Connection refused
.Failed to open module "module-esound-protocol-unix": file not found
. Probablemente no valga la pena hablar aquí ya que estoy ejecutando 13.04, aunque me encantaría poder verificar su solución.Si tiene altavoces reales conectados a la computadora y no está escuchando un pitido, es probable que esté usando compiz. Compiz confía en que pulseaudio capte los pitidos y los reproduzca mientras metacity omite 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 que dio htorque es actual.
fuente
Por lo que puedo decir, este es un error: el pitido del sistema se rompió en Karmic a pesar de los heroicos esfuerzos para solucionarlo .
fuente
modprobe pcsprk
(en la consola) opactl upload-sample ...
en X11 y el molesto pitido está de vuelta :)" Beep solo funciona si su PC tiene un 'altavoz'. Muchas computadoras portátiles modernas / dispositivos pequeños no tienen uno".
Intenta reproducir un sonido como este:
play xxxxx.wav
encontré un buen archivo wav que parece ser corto y dulce, pero también puedes elegir el tuyo. Funciona para mí cuando todo lo demás falla.Gracias a: tredegar & hk_centos
fuente
Un enfoque alternativo: configure su xterm / consola en "Visual Bell" para que cuando suene un pitido, la ventana simplemente invierta sus colores por un corto tiempo.
Tengo una función bash llamada bip para llamar mi atención una vez que se termina un comando.
Y se usa de esta manera
fuente
Podría ser demasiado tarde, PERO, para el tipo en el futuro que busca esto:
fuente