Deshacerse de aRts

Si has usado alguna vez KDE te habrás dado cuenta que su demonio de mezcla de sonido por software (aRts) apesta. No solo consume recursos, sino que funciona mal. Si tienes una tarjeta de sonido que soporte mezcla por hardware, no es necesario usar aRts ni cualquier otro demonio de sonido. Esta es una de las múltiples formas de librarse de aRts.

Lo primero es desactivar el soporte de aRts para todo el sistema. Para ello, añadir a /etc/make.conf el valor USE USE="-arts ..."

El problema es que sin soporte aRts en kde-base/kdelibs, nos quedamos sin notificaciones del sistema (avisos sonoros) en KDE. Para solucionarlo, activamos el soporte solo para este paquete:

# echo "kde-base/kdelibs arts" >> /etc/portage/package.use

Para que tengan efecto los cambios

# emerge -upvD --newuse world

Solo falta configurar KDE para que use un reproductor externo.

Centro de control de KDE->
	Sonidos y multimedia->
		Notificaciones del sistema ->
			Preferencias de reproducón ->
                              Utilizar reproductor externo-> /usr/local/bin/play
		Sistema de sonido->
			Desactivar sistema de sonido

En mi caso uso como reproductor un pequeño script (/usr/local/bin/play) que lanza el reproductor adecuado en función del tipo de archivo a reproducir. Seguramente exista un reproductor de consola que soporte todos los tipos (¿sox?), pero prefiero recurrir a los clásicos.

El contenido de /usr/local/bin/play

#!/bin/bash
case `echo "$1" | sed -re "s/.*\.(.*)$/\1/"` in
  ogg)
    ogg123 "$1" &
    ;;
  mp3|mpg|mpeg)
    mpg321 "$1" &
    ;;
  wav|au)
    aplay "$1" &
    ;;
esac

Recuerda darle permisos de ejecución...

# chown :audio /usr/local/bin/play
# chmod 754 /usr/local/bin/play

...y emerger los programas necesarios

# emerge -n media-sound/alsa-utils media-sound/vorbis-tools media-sound/mpg321