
Se ha escrito mucho sobre cómo obtener el pitido de las versiones de Ubuntu a lo largo de los años. Ejemplo:arreglando el pitido
Mis necesidades son ligeramente diferentes en el sentido de que no quiero asegurarme de que los pitidos de la tarjeta de sonido estén funcionando. En cambio, quiero pitidos en los altavoces de la PC, del tipo que produce el altavoz integrado original porque creo que producirán menos carga en la CPU. Confirmé que mi computadora tiene el altavoz de la PC desconectando los parlantes externos y apagando Ubuntu. En algún momento del proceso de apagado y reinicio se escucha un pitido aunque los parlantes externos no tengan energía.
He probado lo siguiente:
En /etc/modprobe.d/blacklist.conf
, convierta estas líneas en comentarios:
#blacklist snd_pcsp
#blacklist pcspkr
En.bashrc
/usr/bin/xset b on
/usr/bin/xset b 100
Habilitar en la terminal de gnome: Editar > Preferencias de perfil > General > Campana de terminal
Asegúrese de que no haya selecciones "silenciadas" en: Sistema > Preferencias > Sonido > varias pestañas (desmárquelas todas).
Seleccione "Habilitar sonidos de ventanas y botones" en: Sistema > Preferencias > Sonido > Efectos de sonido
En gconf-editor
escritorio > gnome > sonido, seleccione las tres casillas de verificación de sonido.
En gconf-editor
aplicaciones > metacity > general seleccione la audible bell
casilla de verificación.
Todavía no recibo ningún pitido en el altavoz de la PC cuando envío el código 7 a la consola a través de mi programa Java o uso
echo -e '\a'
o equivalente
echo -e "\a"
en la línea de comando de bash. (La opción -e significa habilitar la interpretación de la secuencia de escape). ¿Qué más debería intentar?
ActualizarDado que mi objetivo es minimizar la carga en la CPU, aquí hay una comparación de los tiempos transcurridos. Cada prueba tiene 100.000 iteraciones. Cada variante se realizó tres veces, por lo que se presentan tres resultados para cada una.
printwriter.format("%c", 7);
// 1.3 seconds, 1.5 seconds, 1.5 seconds
Toolkit.getDefaultToolkit().beep();
// 0.8 seconds, 0.3 seconds, 0.5 seconds
try { Runtime.getRuntime().exec("beep"); } catch (IOException e) { }
// 10.3 seconds, 16.3 seconds, 11.4 seconds
Estas ejecuciones se realizaron dentro de Eclipse, así que multiplíquelas por algún valor menor que 1 para la ejecución independiente. Desafortunadamente, el pitido de Toolkit no se escucha en mi computadora, al igual que el código 7. La utilidad de pitido funciona pero es la que cuesta más.
Respuesta1
En mi sistema Oneiric tuve que hacer lo siguiente para que XBell/XkbBell volviera a funcionar:
- Cargue el módulo
pcspkr
(como ya lo hizo a través de/etc/modprobe.d/blacklist.conf
) - Retire el paquete
pulseaudio-module-x11
(que parece absorber todos los eventos de XBell) - Colóquelo (solo
options snd-hda-intel beep_mode=2
necesita/etc/modprobe.d/enable-beep.conf
el caso de que tenga un sistema con un chip de sonido Intel como mi Latitude E6420). Después de eso, reactiva el sonido del altavoz en alsamixer.
Algunas terminales (como konsole, ver errorError 177861) ignora el carácter de campana. Una buena forma de probar el pitido del sistema es con el xkbbell
comando.
Después de hacer todo eso, la llamada de Java Toolkit.getDefaultToolkit().beep()
funciona bien.
Respuesta2
En 14.04.3 LTS, ahora parece suficiente editar /etc/modprobe.d/blacklist.conf
y habilitar pcspkr
comentando la línea de la lista negra.
#blacklist pcspkr
El #
convierte la línea en un comentario.
Asegúrese de que la Terminal ( gnome-terminal
) permita la campana de la consola en la pestaña de preferencias.
Esto se probó mediante retroceso en una línea terminal vacía. Esto también se probó mediante la beep
utilidad (suponiendo que la haya instalado). En su lugar, puede emitir un pitido mediante programación a través del objeto java.awt.Toolkit: java.awt.Toolkit.getDefaultToolkit().beep()
.
El objeto Toolkit es más eficiente que la beep
utilidad.
Por cierto,A algunas personas no les gusta el altavoz de la PC..
Respuesta3
Cerciorarsetu terminal y tu tema no se comen el evento.
Herramientas externastrabajo, dices. Podrías sumergirte en su código.Estepodría ayudar.
Respuesta4
Utilizar elbeep
programa. He compilado la v1.3 porque la 1.2.2 en los repositorios de Lucid no funciona.
- necesitas ejecutarlo con
sudo
- el módulo pcspkr debe estar cargado, como ya lo hicieron todos