miércoles, octubre 10, 2012

Desinstalar PulseAudio en Debian

(imagen de monkeyislandquotes)

En mi anterior entrada doy instrucciones equivocadas para solucionar los problemas de sonido de PulseAudio. La forma que mejor encontré para que el sonido funcione es desactivar Pulseaudio y volver al viejo y querido ALSA.

Dado que PulseAudio es una dependencia obligada de Gnome (y soy un usuario de Gnome), no se puede desinstalar y solo nos queda desactivarlo.

1. (como root) La forma más directa de desactivar PulseAudio es quitarle al programa /usr/bin/pulseaudio los permisos de ejecución, con el comando: chmod a-x /usr/bin/pulseaudio

2. (como usuario) Si ya se tiene PulseAudio ejecutándose hay que matar el daemonio con el comando:
pulseaudio -k

Con estos dos pasos PulseAudio ya no se va a ejecutar en el sistema. Además, se puede hacer lo siguiente para quitar otras huellas de PulseAudio:

1. (como root) Verificar en el archivo /etc/default/pulseaudio que la variable PULSEAUDIO_SYSTEM_START esté en el valor 0, de forma que Pulse no se inicie como daemonio al iniciar el sistema. De otra forma, editar el archivo y asignarle el valor 0:
PULSEAUDIO_SYSTEM_START=0
Si la variable tenía el valor 1, es necesario detener el daemonio de pulse con el comando: 
/etc/init.d/pulseaudio stop
2. (como root) Verificar que el archivo /etc/asound.conf no tenga rastros de Pulse. Teniéndo el archivo como se menciona en mi anterior entrada, con borrar el archivo o cambiarle el nombre es suficiente.

3. (como usuario) Verificar que el archivo ~/.asoundrc tampoco tenga rastros de Pulse. Al igual que el punto anterior, si solo se menciona a Pulse, con borrar el archivo o cambiarle el nombre es suficiente.

4. (como usuario) Crear el archivo ~/.pulse/client.conf de forma que solamente diga: 
autospawn=no
En caso de existir, borrar todo su contenido y reemplazarlo por lo anterior. Teniendo el anterior archivo de configuración, genera que el daemonio de PulseAudio no inicie.

5. (como usuario) En "Herramientas -> Preferencias -> Configuración de Sistema -> Sonido" de Gnome, desactivar la opción que dice: "Sistema de Sonido PulseAudio".

6. (como usuario) Matar el daemonio de Pulse con el comando: pulseaudio -k

7. (como usuario) Configurar las aplicaciones de forma que utilicen ALSA. En general, las aplicaciones de Debian como VLC, Clementine, etc. vienen configuradas para que utilicen la "mejor opción". Dado que cuando hay un solo candidato hay una sola opción, se debería utilizar ALSA por defecto. De otra forma, configurar las aplicaciones para que utilicen ALSA como sistema de sonido.

7 comentarios:

Lisandro Damián Nicanor Pérez Meyer dijo...

Basta con:

aptitude purge pulseaudio

Las aplicaciones con soporte a pulse van a seguir linkeadas a libpulse, pero el demonio no está, por lo que no molesta.

alejolp dijo...

Estoy en Debian Wheezy. Cuando hago eso me dice:

# aptitude purge pulseaudio
Se ELIMINARÁN los siguientes paquetes:
pulseaudio{p}
0 paquetes actualizados, 0 nuevos instalados, 1 para eliminar y 0 sin actualizar.
Necesito descargar 0 B de ficheros. Después de desempaquetar se liberarán 4.835 kB.
No se satisfacen las dependencias de los siguientes paquetes:
libcanberra-pulse : Depende: pulseaudio pero no será instalado.
pulseaudio-module-x11 : Depende: pulseaudio pero no será instalado.
gnome-core : Depende: pulseaudio pero no será instalado.
Las acciones siguientes resolverán estas dependencias

Eliminar los paquetes siguientes:
1) gnome
2) gnome-core
3) libcanberra-pulse
4) pulseaudio-module-x11
5) task-gnome-desktop

Dejar las siguientes dependencias sin resolver:
6) gnome-media recomienda pulseaudio
7) gnome-settings-daemon recomienda pulseaudio
8) speech-dispatcher recomienda pulseaudio
9) task-desktop recomienda task-gnome-desktop | task-kde-desktop | task-lxd
10) task-gnome-desktop recomienda gnome

Lisandro Damián Nicanor Pérez Meyer dijo...

Bien, cuando te dá ésas opciones, probá con poner "r 1" y darle un enter. Eso te va a poner una R al lado del paquete GNOME, marcando que vas a pedir otra solución que no incluya eliminar a ése paquete.

Luego elegís la n para que haga otro intento de solución.

Lisandro Damián Nicanor Pérez Meyer dijo...

Según http://packages.debian.org/wheezy/gnome, gnome no depende de pulseaudio, así que la receta anterior debería andar.

alejolp dijo...

El paquete que depende de pulseaudio es http://packages.debian.org/wheezy/gnome-core

Esto es lo que veo cuando le digo a aptitude que mantenga gnome-core instalado:

http://pastebin.com/hR93iDGv

Lisandro Damián Nicanor Pérez Meyer dijo...

¿Dependen de pulseadudio en vez de libpulse y recomendar pulseaudio? Feo :S

Bueno, es lo mismo que hicieron con network-manager...

Estás al horno, tu receta parece el único workaround.

alejolp dijo...

Las opciones de sonido y de control de volumen que vienen con Gnome están integradas a PulseAudio, y cuando desactivo el servicio no puedo modificar nada de ésto. Tengo que usar alsamixer manualmente, porque el ícono de Control de Volumen desaparece.