Corrigiendo el error de empathy con MSN en Ubuntu 10.04

Hace como tres semanas se me ocurrió la loca idea de migrar de Debian Lenny a Ubuntu, con eso de que había ya salido la versión 10.04 (Lucid Lynx) y que esta es una versión LTS (Long Term Support, o bien de Soporte de Largo Plazo… tres años en particular). Me dije: Porqué no ahora?

Todo marcha de maravilla, con la notable de excepción de su cliente por defecto para mensajerías, llamado Empathy. Empathy es un proyecto de GNOME que está bastante apoyado – es decir, tiene apoyo de muchos frentes – y se ha convertido en el cliente por defecto del tal Ubuntu. Nada mal, excepto por el hecho de que su soporte para características del protocolo de MSN apesta. Y apesta feo.

La bronca con el tal Empathy es que, de vez en vez, se pasma la conexión. Ya no actualiza los contactos, ya no recibo (ni puedo enviar) mensajes, y lo peor… no me puedo desconectar. Bueno, al menos no con la interfaz que me proporciona Empathy. Según él, se desconecta (y luego vuelve a conectarse), pero son notablemente patrañas.

Un par de veces me desesperé y acabé reiniciando (sin comentarios), y todo volvía a la normalidad. Pero evidentemente esta no es forma de vivir… así que me puse a investigar. Primero, instalé el aMSN en un acto de desesperación, bajo el razonamiento de “si la conexión está trabada, el conectarse/desconectarse con otro cliente lo va a hacer funcionar”. Y no resultó como esperaba; efectivamente, aMSN pudo exitosamente conectarse y desconectarse, y sacó al Empathy de su estupor. Pero ahora se quejaba de que no podía conectarse por un (bien explicativo): “Network Error”. Hmmm….

Resulta que Empathy trabaja con un framework llamado “Telepathy” para el manejo de sus conexiones. Se ve bonito, platicado te lo pintan muy completo, pero esa cosa es la que acaba trabándose. La razón por la cual lo digo es que en este viejo bug report de GNOME hablan de un post que describe una posible solución; específicamente:

ok try this remove telepathy-butterfly an you should just have telepathy-haze installed try connecting with that

Lo cual me hizo investigar los fulanos módulos telepathy-*. Esto fue lo que dijo Debian:

||/ Name Version Description
+++-=================================-=================================-==================================================================================
ii telepathy-butterfly 0.5.9-0ubuntu1 MSN connection manager for Telepathy
un telepathy-connection-manager (no description available)
ii telepathy-gabble 0.8.12-0ubuntu1 Jabber/XMPP connection manager
ii telepathy-haze 0.3.4-1 A telepathy connection manager that use libpurple
ii telepathy-idle 0.1.6-1 IRC connection manager for Telepathy
un telepathy-mission-control (no description available)
ii telepathy-mission-control-5 5.3.2-3 management daemon for Telepathy real-time communication framework
un telepathy-python (no description available)
ii telepathy-salut 0.3.11-1 Link-local XMPP connection manager for the Telepathy framework
un telepathy-sofiasip (no description available)

Hmmm… entonces me fuí a ver el proceso y…

sbecerril@dolphins:~$ ps -e | grep telepathy
5320 ? 00:00:04 telepathy-butterfly

Ok… so… este debería ser el proceso trabado. Un simple kill (cortés, sin llamar a -2 ni a -9 por supuesto)…

y voilà! Empathy revivió.

Ahora… a escribir un script que haga eso recursivamente… 😛