PC speaker (Español)
Desde el primer IBM PC, la mayoría de los PC llevan incorporado un altavoz de PC (o beeper) que puede producir pitidos. Este altavoz no tiene capacidad de reproducción de alta calidad y sólo sirve como medio sencillo de retroalimentación auditiva en forma de pitidos. Algunos programas, como navegadores web, editores y terminales, pueden emitir pitidos que el usuario puede o no desear. De ahí que este artículo sirva de guía sobre cómo configurar o incluso desactivar esos pitidos.
Para situaciones en las que no se dispone de tarjeta de sonido o altavoces y se desea una simple notificación de audio, vea #Beep.
Mecanismo
El altavoz del PC suele ser una unidad física conectada al bloque de conexiones frontal de la placa base. Algunos fabricantes de placas base no las suministran con altavoz, mientras que otros pueden tenerlo soldado directamente en la placa. Los portátiles no suelen tener altavoz de PC físico, sino que el avisador acústico se envía a los altavoces internos del portátil. En algunos casos, el pitido se escucha en la salida normal (es decir, altavoces, auriculares) de la tarjeta de sonido, que tiende a ser inesperadamente alta.
Al arrancar, la BIOS generará un pitido durante POST. Los modelos de placa base más recientes omiten el pitido POST en favor de arrancar rápidamente el sistema operativo. La BIOS normalmente permite alternar los pitidos POST pero no puede configurar el altavoz del PC para que se apague completamente.
Una vez que el sistema ha arrancado en Linux y el modulo de kernel pcspkr
está cargado, el altavoz del PC puede ser utilizado por el entorno, ser invocado manualmente por el usuario, y ser configurado hasta cierto punto. Debido a que el altavoz de PC es controlado directamente por la CPU, junto con el hecho de que están construidos sólo para pitar, los altavoces de PC no pueden ser utilizados para reproducir archivos de audio. Si realmente desea esto, desactivar el modulo de kernel pcspkr
e instalar snd-pcsp-dkmsAUR proporcionara una salida de audio rudimentaria.
Desactivar el altavoz del PC
Apagar un caso particular de un sonido, dejando los demás operativos, es posible si y sólo si se puede identificar qué parte del entorno genera el sonido en particular. Esto permite personalizar la selección de sonidos. No dudes en añadir a esta página wiki cualquier configuración que pueda ser útil para otros usuarios.
Físicamente
Al quitar el altavoz del PC el sistema no podrá producir pitidos. Esto puede conseguirse retirando físicamente la unidad de la placa madre (si es posible). Algunos fabricantes pueden proporcionar un "jumper" para desconectarlo.
Globalmente
El altavoz del PC se puede desactivar des-cargando los módulos de kernel pcspkr
y snd_pcsp
:
# rmmod pcspkr # rmmod snd_pcsp
Poner los módulos pcspkr
y snd_pcsp
dentro de la lista negra evitará que udev los cargue al iniciar. Cree el archivo:
/etc/modprobe.d/nobeep.conf
blacklist pcspkr blacklist snd_pcsp
La lista negra en la línea de ordenes del kernel es otra forma. Simplemente añada module_blacklist=pcspkr,snd_pcsp
a la línea del kernel de su gestor de arranque.
Consola
Puede añadir este comando en /etc/profile
o en un archivo dedicado como /etc/profile.d/disable-beep.sh
:
setterm -blength 0
Otra forma es descomentar o añadir esta línea en /etc/inputrc
o ~/.inputrc
:
set bell-style none
Pager less
Para desactivar el altavoz del PC en el pager less, puede ejecutarlo con less -q
para silenciar el altavoz del PC para eventos de fin de línea o less -Q
para silenciarlo por completo. Para páginas man, ejecuta man -P "less -Q"
o establece las variables de entorno $MANPAGER
o $PAGER
.
Alternativamente, puede añadir estas líneas a su archivo ~/.bashrc
:
alias less='less -Q' alias man='man -P "less -Q"'
Xorg
$ xset -b
Puede añadir este comando a un archivo de inicio como /etc/xprofile
para hacerlo permanente. Consulte xprofile (Español) para obtener más información.
ALSA
En la mayoría de las tarjetas de sonido, el altavoz del PC aparece como un canal ALSA, denominado Altavoz del PC, Bip del PC o Bip. Para silenciar el altavoz, utilice alsamixer
o amixer
. por ejemplo:
$ amixer set 'PC Speaker' 0% mute
Para des-silenciar el canal, vea ALSA#Unmuting the channels.
GNOME
Usando GSettings:
$ gsettings set org.gnome.desktop.wm.preferences audible-bell false
KDE Plasma
Los ajustes de notificación de timbre pueden modificarse en Preferencias del sistema > Accesibilidad > Timbre.
Cinnamon
Cinnamon parece reproducir un sonido de "gota de agua". Para desactivarlo, configúrelo en gsettings(1):
$ gsettings set org.cinnamon.desktop.wm.preferences audible-bell false
GTK
Añada esta línea a ~/.gtkrc-2.0
:
gtk-error-bell = 0
Añade la misma línea a la sección [Settings] de $XDG_CONFIG_HOME/gtk-3.0/settings.ini
:
[Settings] gtk-error-bell = 0
Esto está documentado en el "Gnome Developer Handbook".
PulseAudio
Reproducir un sonido en lugar del pitido del altavoz del PC usando PulseAudio.
Live ISO de Arch Linux
Puede parchear la imagen ISO en vivo de Arch Linux (y otras imágenes en vivo que reproducen una sonido al iniciar a través de GRUB) con el siguiente comando.
- Los nombres de los archivos de entrada y salida tienen que ser diferentes o se borrará la imagen.
- Aunque esto ha sido probado en
archlinux-2023.12.01-x86_64.iso
y no tiene ningún efecto secundario sobre ella, ejecutar este comando podría corromper su imagen. Sólo ejecútelo si puede permitirse descargar una imagen nueva en ese caso.
cat archlinux.iso | perl -pe 's/^play (([0-9]+ ?)+)/#lay \1/g' > archlinux-nobeep.iso
Beep
Un usuario puede crear un breve tono audible cuando inicia sesión en una consola virtual. Vea Wikipedia:Bell character#Usage (en Ingles) para más detalles.
Beep es un programa avanzado de pitido de altavoces para PC. Es útil para situaciones en las que no se dispone de tarjeta de sonido y/o altavoces, y se desea una simple notificación de audio.
Instalación
Puede que también necesite des-silenciar el altavoz del PC en ALSA (Español).
Ejecutar como usuario no root
beep
utiliza /dev/input/by-path/platform-pcspkr-event-spkr
para controlar el altavoz del PC. Para acceder a él como usuario no root, hay que establecer los permisos adecuados. Cree /etc/udev/rules.d/70-pcspkr-beep.rules
y añada la siguiente regla:
ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", TAG+="uaccess"
Eso permitirá a cualquier usuario, que haya iniciado sesión en la consola virtual activa en ese momento, utilizar el altavoz del PC.
Como alternativa, se puede crear un nuevo grupo de usuarios (por ejemplo, beep
) con la regla correspondiente para establecer los permisos adecuados en el archivo del dispositivo:
ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", GROUP="beep", MODE="0620"
Con esa solución cualquier usuario del grupo beep
podrá controlar el altavoz.
Para forzar la recarga de las reglas y el archivo de dispositivo para aplicar el nuevo permiso de usuario sin reiniciar, ejecute:
# udevadm control --reload && rmmod pcspkr && modprobe pcspkr
Trucos y consejos
Aunque mucha gente está contenta con el sonido de pitido tradicional, a algunos les puede gustar cambiar un poco sus propiedades. El siguiente ejemplo reproduce un sonido ligeramente más agudo y corto y lo repite dos veces.
# beep -f 5000 -l 50 -r 2
Véase también
- xset(1), setterm(1), bash(1)
- https://github.com/NaWer/beep y https://github.com/ShaneMcC/beeps - repositorios que recopilan scripts bash que reproducen música variada usando beep.