Vamos a darle un poco de caña al blog, que lo tengo abandonao! Voy a explicar como tener un cliente de mensajería instantánea en “la nube”. Antes de nada, vamos a explicar el concepto.
Tradicionalmente, nuestro usuario Joe tiene:
– Un chat en Facebook
– Un chat en Gmail (Google Talk)
– Un chat en su PC (Microsoft Messenger)
Y algunos frikis tenemos además cuentas de ICQ, Jabber, IRC, y quién sabe qué más.
Tanta nube, tanta nube, pero necesitamos configurar un cliente de IM en cada ordenador (sobremesa, netbook, oficina…). Los clientes multiprotocolo (como Kopete o Pidgin) ayudan un poco. Pero cuidado como intentes conectarte desde varios ordenadores a la misma cuenta de MSN o de ICQ (porque es técnicamente imposible). Y si además quieres buscar algo en tu historial de conversaciones, te hará falta mucho café, algunas aspirinas, conectividad a todos los ordenadores y webs por las que hayas hablado, y una buena dosis de bash-fu para parsear todos los logs.
Lo suyo sería olvidarse de tanto protocolo, y usar Apache Wave, pero como a la gente no le gusta el cambio, voy a presentar no una, sino DOS soluciones a este problema. En ambos casos, nos hace falta una nube, es decir, un servidor que vaya a estar online permanentemente. Ya sea algún hierro viejo encendido en el trastero, o un servidor alquilado a terceros en la vasta red.
Si eres un frikón como dios manda, conocerás GNU screen. Esta utilidad permite tener sesiones de terminal abiertas “en background“, pudiendo verlas en pantalla u ocultarlas cuando se quiera.
SSH, obviamente, es una forma de conectarte de un ordenador a otro, ya sea con putty, openssh, o el cliente de turno.
Y finalmente, Finch es, para entendernos, un Pidgin portado a la terminal. Es un cliente IM multiprotocolo, que en vez de GTK o QT, usa letras en tu terminal. De hecho, tanto Finch como Pidgin se apoyan internamente en libpurple, una librería de IM multiprotocolo.
Como montamos el tinglado entonces?
Una vez hecho esto, basta conectarnos vía SSH al servidor, y acceder al screen donde está finch encendido. Por ejemplo:
$ ssh stenyak@servidor.com $ screen -x miFinch
Y en pantalla veremos nuestro cliente, con su lista de contactos, sus pestañas para cada conversación, etc.
Por ejemplo, he aquí una sesión de Finch conectado a GTalk, MSN y un canal IRC en Freenode:
(por si alguien se pregunta donde entra Facebook en todo esto, comentar que el chat de Facebook tira desde hace bastantes semanas del protocolo Jabber. No es 100% compliant, pero cualquier cliente de Jabber decente debería poder conectarse a él)
Como podéis comprobar, es una solución solo apta para muy frikis. Los logs están todos legibles en texto plano en ~/.purple/logs
.
Pero a estas alturas de la vida, muchos linuxeros prefieren poder hacer clics y cosas así; por ello existe otra segunda solución, que como es un poco tarde, explicaré en el siguiente post.
(continúa en la parte 2…)
February 4th, 2011 at 13:44
Pues me ha molado el cliente este. Aunque la gestión de ventanas se me hace un poco rara a primera vista, será cuestión de acostumbrarse.
Una de las cosas que en su día siempre quise montar era esto y configurar bien el mutt para así no tener que depender de ningún cliente. Al final el mutt era un infierno con las mil opciones que tenía y el cliente no le di importancia (vamos, que me hice vago :p)
A ver cual es la segunda solución!
February 5th, 2011 at 19:06
[…] (…continuación de la parte 1) […]