Usando IRC con Quassel y Xchat

Actualizado con Pidgin
En la internet actual se  hace un gran uso de la mensajería instantánea con programas como Skype, WhatsApp, Google Hangouts, Telegram, etcétera. Antes de que llegasen todos estos programas se usaban otros protocolos como el IRC (Internet Relay Chat). El IRC es un sistema de chat con sólo texto y actualmente se usa bastante para ponerse en contacto en chats de soporte de diversos programas software libre.
VLC, CyanogenMod... disponen de canales IRC mediante los cuales puedes comunicarte con gente que sepa de qué va el asunto.
Si no te gusta usar los servicios web siempre puedes emplear un cliente de escritorio y hablar mediante IRC desde ahí. En éste artículo voy a describir cómo hablar mediante IRC desde tu escritorio GNU Linux con Quassel, un cliente que viene por defecto con Kubuntu.
El uso de cualquier cliente IRC es muy sencillo y basta con configurar la red con las direcciones de los servidores y el puertos a usar por cada uno de ellos. Muchas de esas redes ya vienen preconfiguradas como por ejemplo la tan usada freenode.net.
Al abrir Quassel nos encontraremos con una interfaz como la siguiente:

En el recuadro de la izquierda aparece una lista con los servidores actualmente configurados. El recuadro central es el recuadro de conversación, es decir, donde se muestran los mensajes. En la línea que hay debajo se escriben los mensajes que queramos mandar. A la derecha aparecerá el listado de gente conectada. Una sesión de Quassel en un chat cualquiera se vería como sigue:

Para poder configurar una sala de chat IRC hay que discernir dos cosas: la red a la que nos queremos conectar y el canal de la sala de chat a la que queramos entrar en esa red.
Para poder conectarse a una red antes habrá que configurar Quassel para permitir conectarnos a ella. Para ello podemos dirigirnos al menú Archivo->Redes->Configurar Redes. Nos aparecerá el siguiente cuadro de diálogo:
Seguidamente pulsamos sobre el botón «Añadir...» de arriba a la derecha y tenemos dos opciones, o bien escoger del desplegable alguna de las redes ya preconfiguradas (Freenode entre ellas) o bien configurar nuestra propia red con un servidor (después se pueden añadir más o el mismo servidor con distintos puertos como en la imagen de arriba).
Si deseamos usar una red preconfigurada (preprogramada) sólo hay que escogerla de la lista. Si la red a la que queremos conectarnos no aparece, habrá que configurarla manualmente. Normalmente dichas redes ofrecen la información necesaria para poder configurar una sesión. Los campos a rellenar son:
  • El «nombre de red». Aquí introducimos el nombre que le queramos dar al perfil de red que vamos a crear. En el caso de VideoLan, puede ser VLC mismamente.
  • «Dirección del servidor». Introducimos la dirección del servidor que vamos a añadir al perfil de red IRC, por ejemplo en el caso de VideoLAN es irc.freenode.net, y también tienen irc.videolan.org que redirige al anterior mencionado (irc.freenode.net).
  • «Puerto». Normalmente es el 6667. En caso contrario lo mencionarían.
  • «Contraseña del servidor». Si el servidor necesitara contraseña para poderse conectar a él, habría que introducirla aquí.
  • «Usar conexión segura». Si el servidor admitiera SSL (HTTPS) habría que activar esta opción. La mayoría de servidores públicos no emplean SSL así que recuerda no compartir ningún tipo de dato confidencial (números de teléfono, contraseñas, tarjetas de crédito, etcétera).
Pulsamos aceptar y ya tenemos configurada una red con un servidor IRC al que conectarnos. A una misma red se pueden añadir múltiples servidores, claro que nos tenemos que cerciorar de que realmente pertenezcan a la misma red ya que para todos los servidores que tengamos en un perfil de red el programa usará la misma configuración de identidad (apodos), comandos, etcétera ya que si están dentro de la misma red se entiende que comparten datos y si hay más de un servidor es por redundancia. Ahora nos falta configurar un nombre de usuario. Para ello podemos pulsar sobre el botón a la derecha del desplegable «Identidad» que está debajo del listado de redes.


Una vez ahí podemos añadir varios apodos para una misma identidad o crear nuevas identidades. Añadimos un apodo a la identidad por defecto y le damos a aceptar. Nótese que en la pestaña Avanzado se pueden añadir claves SSL y certificados SSL con los que autenticarse de forma segura si el servidor lo soportara. También hay que fijarse en el hecho de que se puede cambiar el orden de los apodos añadidos. Esto es importante ya que el programa se conectará a la red IRC con el primer apodo de la lista.

En la ventana principal ya podemos pulsar sobre la flechita del botón «Conectar» y así establecer una sesión contra el servidor seleccionado con el apodo que tengamos en la identidad que le hayamos puesto al servidor. Una vez dentro del servidor podemos pulsar sobre el botón «Unirse» para entrar en una sala de chat. Nótese que los nombres de los canales distinguen entre mayúsculas y minúsculas (no es lo mismo #cyanogenmod que #Cyanogenmod, así que en la ventana de debajo está mal escrito y me uniría a una sala vacía, solitaria).
Ventana para conectarse a un canal que sale al pulsar el botón «Unirse»
Algunos servidores como Freenode requieren registrar primero un nick. Para ello antes de unirse a un canal hay que registrar un nick. Para ello hay que enviar unos mensajes al servidor como si tuvieras un chat con él.

En la imagen de arriba se puede apreciar que en la lista de servidores tengo seleccionado a Freenode, del que cuelga la sala de chat (canal) #cyanogenmod. Si pulsase sobre #cyanogenmod saldría la sala de chat #cyanogenmod, si deseo hablar con el servidor para realizar gestiones mediante mensajes (comandos) tengo que seleccionar el servidor, Freenode. En mi caso ya tenía registrado un nick así que sólo necesitaba identificarme enviándole el comando que el propio servidor me indica: /msg NickServ identify
Para registrar un nick hay que enviarle al servidor el siguiente mensaje: /msg NickServ register "password" "email-address" (sin comillas y poniendo tu contraseña y dirección de correo en vez de password y email-address). Nótese que estos comandos no necesariamente se tienen que enviar seleccionando la sala de chat del servidor, se pueden enviar desde cualquier sala de chat. El servidor de Freenode nos enviará un correo electrónico con las instrucciones para validar el registro (enviar otro mensaje con un código de confirmación). El nick que se registrará será con el que nos hayamos conectado al servidor IRC. Podemos cambiar de nick o apodo (si tuviéramos más de uno) con el desplegable que está a la izquierda del cuadro de texto de enviar mensajes. Es decir, la primera vez que os conectéis a Freenode tendréis que registrar el apodo con el que os conectéis y luego ya podréis entrar en las salas de chat que os plazca.

Estos comandos se pueden introducir en la pestaña «Comandos» de la configuración de red para que al conectarnos a la red IRC (en este caso Freenode) ejecute automáticamente la identificación del apodo (recomendable entonces tener puesto el apodo deseado en el primer puesto de la lista de apodos de la red).

El resumen de la configuración es el siguiente:
  1. Configurar una red con un servidor (luego se pueden añadir más).
  2. Configurar una Identidad con uno o más apodos.
  3. Conectarse al servidor.
  4. Registrar el apodo/nick si es necesario.
  5. Unirse al canal/sala de chat que deseemos.
Bienvenidos a la tecnología punta de comunicaciones a través de Internet. Un servidor centralizado donde no hay ningún tipo de almacenamiento ni envío de fotos, sonido, emoticonos, etcétera. Sólo un mínimo de formato al texto del mensaje (negrita, cursiva, subrayado y varios colores).
Funcionalidades avanzadas de Quassel incluyen la posibilidad de mantener un demonio Quassel en funcionamiento al cual conectarte desde cualquier dispositivo para así tener una sesión IRC siempre abierta.

Ubuntu tiene un largo listado de canales IRC de soporte y desarrollo además de los foros ubuntuforums. Entre esos canales los hay por idiomas (Ubuntu-es y Ubuntu-es-es por ejemplo). Quassel también es instalable en Ubuntu aunque arrastrará unas cuantas dependencias de KDE. Programas recomendables si no quieres instalar cosas de KDE son: Xchat-gnome, Smuxi y Empathy, este último viene instalado de serie con Ubuntu.

He tratado de usar Smuxi y en la versión de Ubuntu 13.10 añade al final del apodo escogido un guión bajo "_", lo que añadido a que está escrito en C# ya resta demasiados puntos. Alguna opción de menú también empieza con un guión bajo por lo que tiene pinta de ser un fallo de programación en la interfaz gráfica (los guiones bajos suelen ser carácteres que se interpretan para resaltar la letra que sigue al guión o cosas por el estilo). Además por defecto viene configurado con la conexión a freenode y comandos para unirse al canal de #ubuntu.

En cuanto a Empathy, tienes que instalar (apt-get install) primero el paquete «account-plugin-irc» y luego crear una cuenta para cada servidor (no red, servidor) IRC al que quieras conectarte. Además en caso de canales que requieren tener un apodo registrado con su contraseña correspondiente como es el caso de #Cyanogenmod, debes introducir dicha contraseña y resulta que eso deja inaccesible la cuenta IRC configurada en Ubuntu para el resto de programas que hagan uso de la API de acceso a cuentas en línea configuradas en Ubuntu. Más info en la página de Internet Relay Chat de Empathy (y el uso de nicks registrados es la sección «Use a nickname password on IRC»).

El único cliente GTK que queda entonces es Xchat-gnome (derivado de Xchat). La terminología empleada sigue siendo la misma ya que para algo es un cliente IRC. También se conecta automáticamente a freenode y abre la sala de chat #ubuntu. Este funciona sin problemas como Quassel aunque su interfaz pueda ser algo menos amigable.

Pidgin

Pidgin antes venía instalado de serie con Ubuntu y fue sustituido por Empathy. Este cliente es un cliente multiprotocolo y dispone de una gran cantidad de plugins para Skype, uso de OTR y OpenPGP, integración con Gmchess, Sipe, Twitter (basta hacer una búsqueda de paquetes por el nombre «pidgin») ... es un cliente veterano y muy maduro. He podido comprobar que funciona bien con IRC, identificándose también ante NickServ por lo que se pueden usar salas de chat que requieran tener nicks registrados. También se integra con el indicador de mensajes de Ubuntu. Más sencillo de usar que Quassel y de configuración muy directa, basta con añadir una cuenta especificando nuestro nombre de usuario (apodo), contraseña (si ya tenemos registrado dicho apodo), meter el dominio de la red a la que queramos conectarnos y listos. El puerto por defecto es el 6667 y se puede cambiar en la pestaña Avanzadas.
La lista de amigos en el caso de IRC es una lista de canales o salas de chat vinculadas a la cuenta IRC correspondiente. En Pidgin hay que configurar una cuenta IRC por cada red a la que queramos conectarnos. La red de Freenode queda representada por el dominio irc.freenode.net el cual redirige al servidor adecuado. Cuando conectas con tu cuenta (apodo@dominio.red.irc) aparece la ventana de NickServ informándote de que te identifiques (si así lo deseas). No necesariamente debes identificarte con la conversación con NickServ, puedes hacerlo desde cualquier ventana de chat ya que el comando /msg NickServ indica precisamente enviar un mensaje al usuario NickServ y se enviará desde cualquier sala de chat que introduzcas dicho comando, ya sea #ubuntu o #pericodelospalotes.
Lo bueno de Pidgin es que al ser multiprotocolo puedes tener en un mismo programa múltiples cuentas activas, ya sean distintas cuentas de redes IRC o cuentas MSN, Skype, ICQ, AIM ...

A continuación dejo algunas impresiones de pantalla y dejo al lector la oportunidad de explorar los distintos menús y plugins de los que dispone el programa:

Escoge protocolo, tu apodo y opcionalmente la contraseña para autenticarte automáticamente con NickServ
La contraseña sólo es necesaria si la sala de chat está protegida con contraseña

Añadir un chat a la lista de amigos para tenerlo como acceso rápido

Integrado con las notificaciones de Ubuntu. La flechita indica que el cliente está abierto

Ventana de chat con NickServ que se abre automáticamente al conectar con Freenode

Una ventana con varias conversaciones (NickServ, la sala #Cyanogenmod y ChanServ). También podrían haber pestañas de Skype, MSN, Jabber (XMPP) o lo que sea

Los protocolos que vienen de serie con Pidgin más la ventana de gestión de cuentas y la ventana de conversaciones



Comentarios