PC speaker (Español)

From ArchWiki
Esta traducción de PC speaker fue revisada el 2024-02-10. Si existen cambios puede actualizarla o avisar al equipo de traducción.

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.

Warning: Por lo general, no se recomienda quitar el altavoz del PC, ya que es una herramienta útil para diagnosticar problemas de arranque, tras lo cual puede producir un patrón de pitidos único relacionado con la causa de un fallo (consulte el manual de su placa madre). Una mejor solución es desactivar los pitidos POST en la BIOS y poner el altavoz en la lista negra como se indica a continuación. Sin embargo, si desea eliminarlo físicamente es muy recomendable mantenerlo guardado para este escenario.

Globalmente

El altavoz del PC se puede desactivar des-cargando los módulos de kernel pcspkr y snd_pcsp:

Note: Esto no desactivará todo tu sistema de sonido, sólo el Altavoz del PC.
# 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.

Tip: Si utiliza PulseAudio y el canal del altavoz del PC no aparece en la lista del dispositivo ALSA predeterminado, pruebe a seleccionar el dispositivo correspondiente a la tarjeta de sonido; es posible que los controles proxy de PulseAudio no muestren el altavoz del PC.

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.

Warning:
  • 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

Instale el paquete beep.

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