El IRC, acrónimo de Internet Relay Chat, es un sistema de conversación en línea para usuarios de Internet. Si disponemos de una conexión a Internet que ofrezca este servicio (cosa muy común en todos los distribuidores de Internet), será posible disfrutar de charlas en tiempo real sobre cualquier tema (de entre los cientos e incluso miles de canales que tendremos disponibles) con una gran cantidad de usuarios. Para ello tan sólo necesitaremos un cliente de IRC, como ircII (incluido con Linux en casi todas las distribuciones) o, como veremos, con variantes más visuales como BitchX, Zircon, cIRCus o Kirc. Mediante la simple ejecución de nuestro cliente IRC entraremos en nuestro servidor de IRC (previa configuración del programa cliente para que busque en la dirección correcta) y se nos dará la posibilidad de entrar en cualquiera de los canales (channels, agrupaciones temáticas), descritos por sus títulos (topics o títulos "del dia") donde encontraremos otros usuarios y algunos operadores (ops). También existe la posibilidad de hablar en privado con otro usuario, de enviar y recibir ficheros (vía DCC) así como unos usuarios especiales (que llevan una arroba (@) delante de su nombre) llamados operadores del canal (que han sido nombrados operadores por estar registrados en el canal o por otros operadores), que suelen estar ahi para controlar que la conversación gire en torno al tema establecido en el canal, aunque por desgracia en muchas ocasiones (en determinados canales) se dediquen a tirar gente del canal (acciones conocidas como ban o kick).
Los programas clientes de IRC suelen constar de una celdilla de texto en la parte inferior de la pantalla donde el usuario (nosotros) introduce el texto que tras pulsar ENTER es enviado al canal, apareciendo en la ventana de la conversación (prácticamente el resto de la pantalla), donde se pueden leer las frases escritas por todos los contertulios del canal en el orden en que éstas llegaron al servidor. Esto permite tener conversaciones, disputas y cooperaciones entre los diferentes miembros del canal (a veces apareciendo en una ventana en la parte derecha de la pantalla). Mediante lo que el usuario escribe (que leen los demás) y mediante lo escrito por los demas (leído por nosotros), se forma una discusión que va desde las conversaciones sobre linux en el canal #linux hasta las discusiones sobre DirectX u OpenGL en el canal #programacion. El IRC constituye pues un medio más rápido de comunicación (y por tanto muy útil) que las news o el email, donde necesitaremos algunas horas (tal vez 1 ó 2 días) para recibir respuesta a nuestra pregunta.
Lo primero que debemos averiguar es el nombre de nuestro servidor de IRC, tal como lo es irc.arrakis.es, el servidor irc de arrakis (consultar con nuestro proveedor de Internet). La mayoría de IRCs de España están interconectados dando lugar a lo que se conoce como el IRC Hispano, que será nuestro punto de encuentro con otros usuarios del IRC Español.
Lo más probable es que ya se disponga de él en el sistema, aunque siempre puede buscarse en el ftp de RedHat (en el mismo directorio de donde hemos venido bajando todos los programas comentados en esta serie de artículos). La instalación en formato rpm o deb no necesita comentarios, mientras que para los ficheros .tar.gz suele haber (una vez descomprimidos con tar xvzf nombre_fichero) un script de instalación (easyinst) que realizará el proceso de copia de los ficheros a sus directorios correspondientes.
Una vez instalado, y si estamos conectados a Internet, basta con llamar al cliente de IRC ircII para tratar de conectar con un servidor de IRC, mediante la invocación del ejecutable irc:
[root@localhost sromero]# ircO mejor, especificando el nombre que tendremos dentro del IRC (nickname) y el servidor a utilizar:
[root@localhost sromero]# irc SuperJuan irc.arrakis.esAl ejecutarlo tratará de conectarnos (si no le hemos especificado servidor en la línea de comandos) a cualquiera de los servidores de IRC que tiene establecidos por defecto (y que podremos cambiar editando el fichero /usr/lib/irc/ircII.servers), aunque también es posible especificarlo manualmente (tras ejecutar irc) mediante la siguiente orden:
/server irc.arrakis.esServer es uno de los múltiples comandos de ircII (también disponibles en el resto de clientes de IRC, por supuesto), mediante el cual le indicamos al programa que conecte con un servidor determinado. El hecho de llevar una barra (/) antes del comando le indica al IRC que estamos tratando de ejecutar el comando server en vez de tratar de escribir la cadena "server irc.arrakis.es" en pantalla). El artículo de este mes trata principalmente de eso, de la introducción al lector de los distintos comandos del IRC, de manera que se puedan utilizar estos en cualquiera de los clientes de IRC visuales (con ventanitas y menúes) que veremos en el próximo artículo.
/join #linuxTras ejecutar esto, nos encontraremos dentro de un canal muy poblado hablando sobre el mejor Sistema Operativo existente hasta el momento. Cualquier frase que tecleemos en este momento (es decir, cualquier cosa que no sea un comando, precedido por '/'), será enviado al canal y leido por el resto de usuarios del canal. Si es nuestra primera sesión de IRC, mejor algo de nettiquete y una sencilla presentación y saludo al canal, seguido de cualquier duda o ayuda que se quiera dar al resto de usuarios. Para saber quien está conectado en un determinado canal, entramos en él y ejecutamos el comando /who * (aunque también puede hacerse mediante el comando /names #canal, en este caso, /names #linux).
Si en cualquier momento deseamos salir del canal, basta con ejecutar el comando /part (o /leave) para abandonar el canal actual, (o part #canal) ya que, como veremos a continuación, no se está limitado a hablar en un sólo canal temático.
/join #linux /join #emuladores /msg #linux Hola a los usuarios de Linux! /msg #emuladores Hola! Ha salido algun emulador hoy? /msg pepe Hola Juan!Con este programa no estamos obligados a leer todo el texto en la misma ventana, sino que es posible crear diferentes ventanas virtuales (escondidas, de manera que sólo vemos una en pantalla, o partidas en la misma pantalla), mediante el comando /window new, y cerrar la ventana actual mediante /window kill. Podemos cambiar entre ventanas mediante las teclas Ctrl+x p (ventana anterior o previous, mediante ctrl+'x' simultáneamente, soltar, y luego pulsar 'p') y Ctrl+x n (siguiente o next). Veamos como cambia la cosa:
/join #linux /window new /join #emuladores (ctrl+x p -> estamos en #linux) Hola a los usuarios de Linux! (ctrl+x n -> estamos en #emuladores) Hola! Ha salido algun emulador hoy? /window new /query Juan Hola Juan!Tras esto dispondremos de 3 ventanas entre las que podremos cambiar en cualquier momento, una en la que se habla en #linux, la de #emuladores, y una tercera donde se mantiene una conversación privada con Juan (mediante el comando /query). Mediante /window hide es posible hacer una ventana oculta (en vez de partir la ventana actual). Es muy recomendable tener instalado el paquete screen para el soporte multiventana, o trabajar en xterms, donde este soporte también se da. De otro modo, el soporte multiventana se dará en pantalla partida (tantas secciones como ventanas dispongamos).
/help [comando] Proporciona ayuda en línea sobre el comando especificado. /join #canal Entra en el canal especificado (ej: /join #linux). /list [#cadena] Lista los canales disponibles en el servidor, con la posibilidad de especificar una cadena de búsqueda. (#cadena). /whois [usuario] Proporciona datos acerca del usuario que se le especifique, como su nombre (si configuró correctamente su cliente de IRC), dirección email o dirección IP. /me [frase] Indica al resto del canal lo que piensas, resaltándolo. Es el responsable de leer frases como "_Juan_ piensa que esta conversación es muy tonta.". (ej: /me Que aburrido!). /part [#canal] Abandona un canal (o el canal actual si no se especifica otro). /msg [usuario] [mensaje] Envía el mensaje especificado al usuario que se le indique (ej: /msg juan Hasta luego!). /dmsg [usuario] [mensaje] Similar a msg, pero para un chat dcc. /query [usuario] [mensaje] Permite iniciar una conversación privada (un query) con otro usuario. /query Cierra la conversación privada actual. /nick [nombre] Permite cambiar nuestro nickname al especificado. /dcc send [usuario] [fichero] Permite el envío de un fichero al usuario especificado (ej: /dcc send Juan /etc/dosemu.conf). /dcc get [usuario] [fichero] Permite recibir un fichero de un usuario. /dcc chat [usuario] Permite iniciar un chat (conversación directa) con un usuario. /dcc close chat [usuario] Cerrar el chat previamente abierto. /quit [razon] Sale del programa y, opcionalmente, muestra un mensaje con la razón del abandono (ej: /quit Me tengo que ir!). /away [razon] Avisa al resto de usuarios de que nos vamos a ausentar momentáneamente del IRC (ej: /away El telefono!). /invite [usuario] [#canal] Invita al usuario especificado al canal que se le indica. /who * Muestra los nombres de los usuarios del canal actual. /clear Limpia la ventana de texto actual. /date o /time Muestran la fecha u hora actual. /exec -out [comando] Ejecuta el comando especificado (por ejemplo, ls), y saca los resultados por la pantalla del canal. /flush Hace parar la salida obtenida desde el servidor. Muy util para teclearlo, por ejemplo, ante un /list. /ignore [usuario] [tipo_de_mensaje]: Ignora los mensajes enviados por determinados usuarios (es decir, no aparecen sus frases en pantalla). En él usuario pueden especificarse comodines (*), mientras que el tipo de mensaje puede ser ALL (todos), NOTICES (notificaciones), PUBLIC (conversación normal del canal), INVITES (invitaciones) o NONE (ninguno). Ejemplo: /ignore Pepe ALL -PUBLIC (ignorar todos los mensajes de Pepe excepto (-) los que vayan al canal (publicos)). /leave [#canal] Deja el canal especificado o el actual si no se especifica ninguno. /mode Permite a los operadores cambiar modos (ver /help mode). /names [#canal] Muestra los nombres de los usuarios del canal especificado (o de todos si no se especifica). /notice [#canal] [mensaje] Envía un mensaje privado a todos los usuarios de un canal. /notify [usuario] Permite especificar una lista de usuarios para que al entrar al IRC se nos avise de si estos están presentes, o de si entran o salen del IRC (para encontrar siempre al amiguete de turno). Ej: /notify pepito. /ping [usuario] Envía un ping (una señal con la hora actual) a un usuario para que este la devuelta y podamos saber (por el tiempo transcurrido) la velocidad de respuesta de la red (si está lenta, rápida...). /save [opciones] [fichero] Salva las opciones actuales del IRC en un fichero (ver /help save). /say y /send +texto Imprime el texto especificado en el canal, permitiendo alias, binds, etc. /set log on Permite guardar en un fichero de texto lo hablado en las sesiones. /set logfile [fichero] Permite especificar el fichero a usar (ej: /set logfile /home/somero/milog.txt). /window log on Permite guardar en un fichero de texto lo hablado en la ventana actual. /window logfile [fichero] Permite especificar el fichero a usar (ej: /set logfile /home/somero/milog.txt). /alias [comandos] Crea un alias para [comandos]. También permite parámetros.Aparte de los comandos especificados, otro comando muy útil es /alias, que nos permitirá crear atajos a órdenes habituales:
/ALIAS Hola MSG #linux Hola a todos los usuarios del canal! /ALIAS Hola MSG $0 Hola, $0! $1Para este último alias, tras ejecutarlo, si tecleamos "/Hola Juan Que tal?", será expandido a "/msg Juan Hola, Juan! Que tal?", con lo que dicho saludo aparecerá en la pantalla de Juan como mensaje privado dirigido a él. Otros comandos interesantes (ver lista) son los comandos de DCC, que nos permitirán enviar y recibir ficheros a/de otros usuarios del IRC.
El resto de comandos del IRC (y una ayuda y descripción de todos ellos), puede encontrarse en el propio programa (/help comando), o en el subdirectorio /usr/lib/irc/help, de donde cuelga toda una estructura de directorios con ficheros de ayuda en texto puro (editables con cualquier procesador de textos o listables con cat o less) con el nombre de los distintos comandos. Todas estas opciones se suelen incluir en scripts (similares a ficheros de comandos) que son cargados durante el arranque y añaden nuevas opciones y funcionalidades al programa. Otra referencia es /usr/doc/irc*, donde hay ejemplos de menúes, la página man de ircII y los cambios que han ido habiendo en el programa desde su versión inicial.
Ctrl+x p : ir a la ventana virtual anterior (o /window previous). Ctrl+x s : ir a la ventana virtual siguiente (o /window next). Ctrl+x [nº] : abrir N ventanas (o /window add N>. Ctrl+x c : crea una nueva ventana (o /window add). Ctrl+x a : va a la última ventana. Ctrl+x k : cierra la ventana actual. Alt+p : subir por la pantalla actual. Alt+n : bajar por la pantalla actual. Ctrl+b : escribir en negrita. Ctrl+_ : escribir en subrayado.Además disponemos de Ctrl+c para interrumpir el programa.
Figura 1: "Aspecto del programa ircII."
Santiago Romero