sábado, 30 de agosto de 2014

¿Cómo elimino de memoria el servicio de JACK para recuperar el sonido?

Durante su exilio Madrileño, Juan Perón recibió en la célebre Quinta 17 de Octubre a numerosas personalidades argentinas y del mundo, con las cuales compartió el quehacer político de la época. En dichas visitas, el Conductor no dudaba enseñar, como en este caso en que nos aproxima a liberar el servidor de sonido ALSA en Ubuntu luego de emplear JACK.

¡Vean señores!

Siempre he dicho que hay pocas cosas gratificantes como recibir visitas, pues ellas me permiten enterarme de los sucesos en la Argentina. Todos tienen inquietudes que plantear, y ello me permite controlar una estrategia de conjunto que no tiene otro fin que el de permitir mi retorno a la Patria, pues si ustedes permiten, yo he de volver aunque no sea para morir en ella.

Aún así, no todo es del color de las rosas que planto en mi jardín. Existen situaciones molestas, y y lo peor son las visitas que no se quieren ir.
 Estos inconvenientes con desubicados, como en la vida, también existen en el sistema operativo GNU. Ocasionalmente en mi máquina Ubuntu 14-04LTS, el sonido deja de funcionar, específicamente, luego de haber utilizado el servidor  de sonido JACK.

Esto se debe a que al apagar el mismo, el servicio de acceso al audio "no se va", por lo cual el sistema no puede volver a reproducir sonido, y congela las operaciones que tengan que ver con ello (reproducir un video, reproducir música, acceder a una web que disponga de audio, etc).

Si reiniciamos el sistema, todo vuelve a la normalidad, pero no deja de ser una solución molesta, sobre todo cuando no tenemos tiempo, o estamos haciendo una tarea compleja que nos impide reiniciar el equipo.

Por tal motivo - y a falta de algo mejor - pondremos manos a la obra para solucionar el problema de manera justicialista, eliminando manualmente de la memoria del sistema al proceso intruso que ocupa el audio.

Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

lsof | grep pcm

Esto nos devolverá una lista técnica de los archivos abiertos en memoria, y de ellos filtrará aquellos que emplean sonido por modulación de pulsos (PCM), en otras palabras, audio. La misma, por ejemplo, seguirá la siguiente tipología:


mocp      5203        peron  mem   REG     8,1  27256  8913319 /usr/l...pcm_pulse.so
threaded- 5203 5205   peron  mem   REG     8,1  27256  8913319 /usr/l...
pcm_pulse.so
mocp      5203 5207   peron  mem   REG     8,1  27256  8913319 /usr/l...
pcm_pulse.so
mocp      5203 5208   peron  mem   REG     8,1  27256  8913319 /usr/l...
pcm_pulse.so
mocp      5203 8705   peron  mem   REG     8,1  27256  8913319 /usr/l...pcm_pulse.so
threaded- 5203 8707   peron  mem   REG     8,1  27256  8913319 /usr/l...pcm_pulse.so
jackd     6489        peron  mem   CHR   116,8           12570 /dev/snd/pcmC0D0p
jackd     6489        peron  mem   CHR   116,9           12571 /dev/snd/pcmC0D0c
jackd     6489        peron    8u  CHR   116,8    0t0    12570 /dev/snd/pcmC0D0p
jackd     6489        peron    9u  CHR   116,9    0t0    12571 /dev/snd/pcmC0D0c
jackd     6489 6493   peron  mem   CHR   116,8           12570 /dev/snd/pcmC0D0p
jackd     6489 6493   peron  mem   CHR   116,9           12571 /dev/snd/pcmC0D0c
jackd     6489 6493   peron    8u  CHR   116,8    0t0    12570 /dev/snd/pcmC0D0p
jackd     6489 6493   peron    9u  CHR   116,9    0t0    12571 /dev/snd/pcmC0D0c
jackd     6489 6494   peron  mem   CHR   116,8           12570 /dev/snd/pcmC0D0p


En particular, habremos de prestar atención a la primera columna que es el nombre del proceso, y la segunda, que indica el PID, o Número de Identificación de Proceso.

En este listado en particular, podremos distinguir que existen múltiples instancias de dos procesos, que están pidiendo emplear el sonido por el momento: mocp, que en este caso usa el PID número 5203 (se trata de un programa reproductor de música), y jackd con PID número 6489 (este es el servidor de sonido JACK, el cual habremos de quitar de memoria). 
Habrán de prestar atención pues el PID varía entre sesiones de Linux, y por lo tanto muy probablemente vosotros tendréis un número identificador totalmente distinto.

En este caso, haremos de eliminar de la memoria el proceso jackd (procso rector de JACK). Para ello debemos ingresar en la terminal el comando;

kill -9 6489

... siendo 6489 el número de PID que se nos ha listado de manera particular en nuestro sistema para jackd. Vosotros usarán el que os corresponda.

De esta manera eliminaremos de memoria el proceso jackd, y con ello ya podríamos volver a utilizar aplicaciones que reproduzcan sonido sin necesidad de reiniciar el equipo.

Por último, también en este caso, podremos eliminar de memoria el reproductor mocp con el comando kill -9 5203, para estar seguros.

1 comentario:

  1. Muchas gracias, efectivamente funcionó tal cual lo indicaste. Adelante con los consejos para la comunidad que desde aquí en Costa Rica los estamos aprovechando. Warner

    ResponderEliminar