Next Previous Contents

11. IRC

11.1 ¿Qué es el IRC?

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 algunas 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 aspecto de una conversacion en el IRC es similar al siguiente:

  -----------------------------------------------------------
  TALKING on #programacion:
  <Gans> y yo, y yo
  <blad> ese log es oro
  <Gans> yo quiero que volverá para despedirse
  <iXnay_> perar que lo pase a tos los que quieran XDD
  <Surf_> yo mismo ixnay
  <iCorreca_> bueno, me voy pa #linux :-)
  <iCorreca_> alli nos vemos... :-)
  <iXnay_> esperar un poco 

  >>> _
  -----------------------------------------------------------
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

Si entre nuestras necesidades de utilización de Internet está la de mantener conversaciones (escritas) con varios interlocutores organizándolas por canales aludiendo a diferentes temas, entonces el Internet Relay Chat (IRC) es nuestro servicio.

11.2 El cliente de IRC IRCII (o EPIC)

IrcII es uno de esos programas pequeños y sencillos que proporcionan gran efectividad para su tarea, tal y como lo es ftp para la transferencia de ficheros. IrcII es un cliente de IRC que de nuevo es casi parte del S.O. Linux, ya que lo encontraremos en cualquier distribución de GNU/Linux existente. Muchos de los que están leyendo esto probablemente habrán utilizado ya el IRC mediante el programa MIRC (o PIRCH) de Windows95... pues hay que decir ante todo que IRCii es la antítesis de MIRC; es decir: ircII es en modo texto, en principio no soporta colores, y todo funciona a base de comandos (aunque con la posibilidad de crear menúes y alias), pero es uno de esos programas que resultan esenciales, sobre todo en sistemas pequeños (como la gente que se lleva un diskette de arranque de Linux con soporte para redes y con el ircII para disfrutar del IRC en las Universidades, donde no todo el mundo dispone de una cuenta Unix, o donde no se suele permitir la instalación de clientes de IRC ni juegos de rol). Lo más probable es que ya se disponga de él en el sistema, aunque siempre puede buscarse en el ftp de programas Linux habitual

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]# irc
O mejor, especificando el nombre que tendremos dentro del IRC (nickname) y el servidor a utilizar:
  [root@localhost sromero]# irc SuperJuan irc.encomix.es
Al 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.ctv.es
Server 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).Esto prentende ser una sencilla introducción a 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 podamos tener instalados en el sistema.

11.3 Como entrar en canales del IRC

Una vez conectados al IRC ya es posible entrar en un canal de conversación. Es posible listar los canales del IRC con el comando /list, aunque no es recomendable debido a la gran cantidad de ellos. Por contra es mejor conocer los canales a los que queremos entrar (como #linux, #programacion, #programacion_d_juegos, #hacking, #emuladores, o, si tenemos problemas, #ayuda_irc). Para entrar en un canal se utiliza el comando /join seguido del canal al que se desea entrar:

  /join  #linux
Tras 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

11.4 Multiventana con IRCII

El IRC no está diseñado para hablar en un único canal. Mediante /join podemos entrar en más de un canal, aunque en principio los textos provenientes de uno u otro se mezclarán en la misma pantalla (con una indicación acerca de cuál es el canal de procedencia), además de que para hablar en uno u otro canal se necesitará utilizar el comando /msg (con lo cual dirigiremos los mensajes a un canal u otro):

  /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 IRCii 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).

11.5 Resumen de comandos del IRC

Entre los comandos más habituales del IRC están aquellos que podemos ver en el cuadro siguiente (donde lo denotado entre corchetes [ y ] especifica que dicho parámetro es opcional).

  /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.
                              Ej: /whois NoPito

  /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.».
                              (Ejemplo: /me esta 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.
                              Ej: /query NoPete

  /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! $1
Para 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

11.6 Resumen de teclas de IRCII

Las teclas más utilizadas en ircII son las siguientes:

  Ctrl+x p      :   ir a la ventana virtual anterior
                    (o comando /window previous).
  Ctrl+x s      :   ir a la ventana virtual siguiente
                    (o comando /window next).
  Ctrl+x [nº]   :   abrir N ventanas
                    (o comando /window add N>.
  Ctrl+x c      :   crea una nueva ventana
                    (o comando /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.

11.7 Clientes graficos de IRC

Como veremos en la próxima entrega, existen otros clientes de IRC para X Window con un sistema de manejo más sencillo: soportando multiventana, autoraise (es decir, que cuando cambia el contenido de una ventana esta cambia a primer plano), colores, menúes para los comandos más habituales, etc. Los veremos en versiones X Window, de txto (aunque más avanzados que ircII, como BitchX) e incluso específicos para KDE (kirc, kvirc), y nos harán la comunicación en el IRC mucho más sencilla, sin olvidar los comandos que hemos aprendido hoy, que complementarán todo lo que les falte a estos clientes (al disponer de unas opciones determinadas se nos limita el control a lo dispuesto por el programa, mientras que mediante los comandos IRC, comentados hoy, podremos suplir cualquier necesidad que no esté disponible en los menúes).

TkIRC no es un cliente de IRC en sí mismo, sino que utiliza como programa de IRC el famoso ircII, proporcionando un front-end gráfico (una especie de menúes encargados de interactuar con el propio ircII), facilitando enormemente las tareas más habituales en el IRC. El programa puede obtenerse desde la página Web de sus creadores, www.north.de/ atte/tkirc, y ocupa apenas unos 100Kb. Para su utilización es necesario tener instalado el propio programa ircII, y el intérprete de Tcl/Tk, que es el lenguaje con el que está programado este front-end para XWindow. Además es posible añadirle scripts (ficheros con nuevos comandos y opciones) en tcl, lo cual le quita muchas limitaciones al programa (siempre puede ser ampliado por el usuario).

Kirc y Ksirc son 2 clientes de IRC para el Window Manager KDE. Son bastante visuales y disponen de interesantes opciones. Pueden obtenerse versiones estables de los mismos en www.kde.org, en la página de aplicaciones de KDE.

KvIRC es uno de los clientes de IRC más visuales y sencillos de manejar de todos: soporta colores, nick-completion (relleno de los nombres de las personas a las que hablamos cuando sólo escribimos las letras iniciales de los mismos), imágenes de fondo, configuración por medio de menúes, acceso sencillo a los comandos básicos del IRC por medio de una barra de iconos, integración con KDE, capacidad de lanzar netscape (o cualquier otro navegador) pinchando sobre cualquier dirección que aparezca en la conversación, sencilla instalación, mantenimieno y configuración, y un aspecto muy amigable (bastante similar al programa Mirc de Windows en cuanto a funcionamiento). Puede obtenerse en www.kvirc.org.

cIRCus es uno de los más sencillos clientes de IRC de Linux. Puede obtenerse en diferentes formatos (tar.gz y rpm) en la página Web de sus creadores, http://www.nijenrode.nl/ ivo/circus_data/download.html. En tiene características multiventana (al estilo de mIRC para Windows), la utilización de colores distintos para nuestros comentarios y los del resto de participantes en el IRC, así como la posibilidad de activar autoraise en las ventanas que deseemos. Autoraise es una propiedad que hace que cuando el contenido de una ventana cambia, ésta pase al primer plano, y sepamos que quien está hablando con nosotros ha dicho una nueva frase. Además soporta correctamente todos los acentos y carácteres españoles, y permite copiar/pegar con el mouse, sin olvidar que puede usarse arriba y abajo en los cursores para ir adelante y atrás en el historial de órdenes, pudiendo repetir así cualquier frase dicha en el pasado. Por otra parte, cIRCus tiene un sencillo menú en la parte superior con botones que sustituyen a las opciones de conexión, desconexión, entrada en canales (join), dar op, quitar op, dejar un canal, o salir del programa, pudiendo ejecutar además los comandos de IRC aprendidos el mes pasado, con lo que se puede decir que este programa aporta sencillez y funcionalidad a la potencia de los comandos del IRC. Su configuración se realiza editando un fichero de texto llano en nuestro directorio HOME (/home/nombre/.circusrc), desde donde podemos cambiar cualquier aspecto del programa: fuentes, menúes o identidades (al final del fichero, secciones Nick, IRCNAME, notify y Server List, las cuales nos permitirán especificar nuestro nick, nombre del cliente, lista de notificaciones y lista de servidores de IRC por defecto).

Zircon (http://catless.ncl.ac.uk/Programs/Zircon/) es otro cliente de IRC basado en Tcl/Tk (aunque este no necesita ircII para funcionar sino que utiliza las propias facilidades de red de este lenguaje). Necesitaremos al menos la versión 8.0.3 de este intérprete para su instalación, que se realiza desde un script de Tcl/Tk llamado installZircon quien se encargará de la correcta ubicación del programa en nuestro disco duro, además de permitirnos la lectura de documentos de ayuda y FAQs sobre Zircon.

Existen multitud de clientes de IRC gráficos y de texto para Linux. Una manera de ir directamente a un listado de clientes para poder seleccionar el que más nos interese es mediante www.freshmeat.net, tecleando irc en la celdilla de texto de búsqueda y pulsando Intro. Freshmeat nos mostrará toda la lista de programas relacionados con el IRC (muchos de ellos clientes) que haya en su base de datos, así como las direcciones de download y páginas de los mismos. Otro repositorio de clientes IRC para Linux está disponible en www.linuxberg.com, en la sección Software.

11.8 El cliente de IRC, BitchX

Uno de los clientes de IRC más potentes de los comentados aquí es BitchX, que trabaja en consolas de texto pero con facilidades propias de los clientes gráficos. Incluye gran cantidad de comandos y scripts, de tal modo que los más usados scripts de ircII han sido incluidos en este cliente como comandos del mismo. Es posible obtenerlo de ftp://ftp.bitchx.org (aunque también hay disponibles versiones rpm en el ftp de redhat). Asimismo, podemos obtener scripts y opciones adicionales para BitchX en http://www.phantasy.com/ markm/bitchx y http://scripts.bitchx.com. Está disponible tanto en rpm como en deb, tgz y código fuente, siendo éste último el más recomendable si deseamos habilitar el soporte para la fuente con caracteres en castellano o LATIN1.

Aunque por su nombre y la X final del mismo pudiera parecer que es un programa para XWindow, en realidad BitchX funciona en consolas de tipo texto o xterm, con lo que no necesitaremos el entorno de ventanas X para hacerlo funcionar (lo cual lo hace ideal para muchos usuarios). BitchX incluye una serie de características que lo hacen generalmente apreciado como cliente de IRC, gracias a opciones como NickCompletion, inclusión de los scripts más utilizados como comandos estándar del mismo, soporte multiventana (tanto partida como en ventanas virtuales), soporte de colores para distinguir los textos dirigidos a nosotros del resto de frases, modo historia de todo lo escrito (es decir, que se puede recorrer todo lo escrito mediante las teclas del cursor arriba y abajo, pudiendo reentrar cualquier frase al canal), tratamiento de la ventana como un buffer (con lo cual se puede subir y bajar por la misma con AvPág y RePág), etc.

Otra de sus principales características es que cuando alguien trata de floodearnos (es decir, enviarnos mucho texto muy rápidamente, tal vez tratando de molestarnos o estropear nuestra conexión), BitchX lo tira automáticamente de la conversación, además de incluir opciones de autoentrada en canales si alguien nos tira del mismo.

Asi pues, debe quedar claro que BitchX es uno de los clientes de IRC más completos y funcionales, con muchos seguidores (aunque también hay gente que no le gusta). Para iniciar BitchX se hace, pues, desde la línea de comandos, indicándole en esta el nickname que deseemos usar en el IRC, el servidor de IRC y el puerto (esto último opcional), todo ello en formato BitchX Nick Server:Puerto. Ejemplo:

  [sromero@compiler BitchX]$ BitchX  Juan  irc.arrakis.es
Si no queremos especificar esto desde la línea de comandos es posible utilizar variables de entorno que definan el Nick, Servidor, y nombre del usuario para poder invocar al cliente de IRC simplemente mediante BitchX. Para ello BitchX proporciona al usuario la posibilidad de incluir estos datos en las variables de entorno IRCNAME, IRCNICK e IRCSERVER, tanto en ficheros de inicialización (.bashrc, .profile) como en la línea de comandos, tal y como puede verse en el siguiente ejemplo:
  [sromero@compiler BitchX]$  export IRCNAME="Juan Sanchis"
  [sromero@compiler BitchX]$  export IRCNICK="JuanChis"
  [sromero@compiler BitchX]$  export IRCSERVER="irc.arrakis.es"
Además hay otros parámetros que podemos consultar en la página man de BitchX, como la autoentrada en canales:
  BitchX -c \#linux

11.9 Como obtener el teclado en castellano en BitchX

Si el BitchX que estamos usando no dispone de soporte para caracteres latinos (acentos, eñes, etc.), podemos forzar a BitchX a que los visualice correctamente editando el fichero config.h de los fuentes del programa, habilitando (como pone en el README del programa) la opción para LATIN1, y recompilando el programa.

11.10 Comandos de BitchX

Con BitchX es perfectamente posible utilizar los comandos básicos del IRC vistos el mes pasado mediante ircII, es decir, /server, /quit, /join, /part, /query, etc.

Aparte de estos, ahora sí que es posible la utilización del comando /list para listar los canales del servidor de IRC. Recordemos que este comando también estaba disponible en ircII, pero la salida por pantalla era tan rápida que era imposible ver los canales disponibles. En BitchX la salida es igual de rápida, pero disponemos de las teclas AvPág y RePág para subir y bajar en el buffer de la ventana, y por tanto ver los canales una vez listados (o leer textos anteriormente escritos en un canal, consultar algo que dijimos, etc.).

Una vez se entra a un canal (con /join #canal), es posible ver la lista de operadores del canal mediante la tecla F2, y la lista de usuarios mediante F3 (aunque sigue pudiendo usarse el comando /names #canal).

Por último, y en cuanto a texto se refiere, cabe nombrar el soporte de colores y estilos de BitchX. Por ejemplo, para escribir un texto en negrita, basta con pulsar Ctrl+b (de bold, resaltado), y despues escribir el texto en cuestión, que aparecerá en negrita (ojo con esto pues los usuarios de ircII no lo verán así), y para escribir frases en colores, en cualquier punto de la frase puede utilizarse Ctrl+C y a continuación introducir en la frase el número de color (soltando Ctrl+C), con lo que aparecerá en el color correspondiente. Ejemplo:

  > Hola a <CTRl+C>2todos!
Hará que aparezca "todos" en azul. Otros comandos que pueden. utilizarse en BitchX son /shell (para ejecutar copias de nuestra shell de comandos) /telnet (para hacer telnet a cualquier servidor desde dentro de BitchX), y /ftp (para hacer ftp desde el IRC), comandos no habituales en los restantes clientes de IRC

En BitchX también es posible la transferencia de ficheros vía DCC, para ello se disponen del típico comando /dcc send "nick fichero", del que ya disponíamos en ircII. La novedad de BitchX es que incluye por defecto la opción de aceptar todos los ficheros que te sean enviados, opción que se puede cambiar mediante /dcc auto off, de tal modo que cuando se nos envie un fichero, en lugar de ser aceptado automáticamente se nos informará de esto y mediante la tecla F5 se podrá obtener la lista de ficheros que nos son enviados, para aceptar cualquiera de ellos si nos interesa.

Otro comando importante es /set, que nos permitirá cambiar parámetros de configuración de BitchX, como por ejemplo desactivar el pitido que suena cuando nos hacen un Query en otra ventana (/set beep off). Más información mediante /help set o en la documentación del programa.

11.11 Nick Completion en BitchX

Una de las cosas más molestas en el IRC al haber diferentes personas en un canal y querer referirnos a una de ellas suele ser escribir el nombre del mismo, pues la mayoría de nombres en el IRC contienen carácteres extraños, son combinaciones de mayúsculas y minúsculas, o simplemente, puede apetecernos no escribir dicho nombre pero que esa persona sepa que le hablamos a ella. Para ello BitchX incorpora una funcionalidad conocida como Nick Completion, o completado de nicks, que consiste en que al pulsa la combinación de teclas CTRL+R, BitchX tratará de completar el nick que hayamos comenzado a escribir en la línea de comandos, esta tecla puede usarse en cualquier momento de la frase, y sus efectos se pueden observar en el siguiente ejemplo. Supongamos que existe un usuario en el IRC llamado AvIaToR, al cual queremos contestar o comentarle algo:

  > Av<CTRL+R>: Como estas?
  > Ya te lo he dicho antes, Av<CTRL+R>...
Estas 2 frases se expanderán automáticamente a:
  > AvIaToR: Como estas?
  > Ya te lo he dicho antes, AvIaToR...
Otra posibilidad es utilizar la combinación de teclas Control más la tecla de '+' (Ctrl+'+'), que al principio de una frase completa el nick que hayamos comenzado a escribir y lo completa con 2 puntos (:), para dirigir frases directamente a cualquier usuario:
  > Av<CTRL+'+'> lo estoy buscando...
Se expande a:
  > AvIaToR: lo estoy buscando...
Una última posibilidad es la utilización de la tecla TAB al principio de una frase, que se expanderá a un /msg Nick, donde Nick será uno de los usuarios del canal y cambiará dependiendo del número de veces que sea pulsada (una vez, aparece el primer usuario, otra vez, el segundo, etc.). Esto nos permitirá enviar mensajes con relativa facilidad a cualquier usuario del canal.

11.12 BitchX: Soporte multiventana

Una de las características principales de BitchX es el soporte multiventana nativo. Al igual que en ircII, es posible entrar en varios canales o conversaciones simultáneamente, y que aparezcan todos ellos en la ventana principal de BitchX, con una indicación al principio de cada uno de ellos que nos indique de qué canal viene cada frase. Esto es muy molesto y bastante inviable, y además solo hay un canal activo (al que va el texto que escribimos) que podemos cambiar mediante la tecla CTRL+X (con lo que irá cambiando entre los diferentes canales a cada pulsación de la misma).

Para evitar esto BitchX incluye soporte multiventana tanto en pantalla partida como en ventanas virtuales, es decir, es posible partir la pantalla en diferentes secciones y disponer de un canal o un query en cada una de ellas, así como crear diferentes pantallas virtuales (de la que sólo vemos una, la visible) y cambiar entre ellas, con lo que dispondríamos de una ventana aislada para cada canal, y el texto no se mezclaría.

Para partir la pantalla es posible utilizar el comando /window new, y para crear una pantalla virtual (mucho más recomendable) se utiliza el comando /window new hide. Este comando puede ser utilizado tantas veces como pantallas virtuales se deseen, de tal modo que irán siendo numeradas desde el 2 (la 1 es la pantalla que aparece por defecto) hasta n (donde n es el número de pantallas creadas). Una vez se han creado las diferentes ventanas es posible cambiar entre ellas mediante ALT+nº (ALT+1, ALT+2, etc.) en la consola de texto o mediante ESC-nº si estamos en XWindow (en este último caso, no consiste en pulsar ambas teclas simultáneamente sino en pulsar ESC, liberar la tecla y pulsar un número de la fila superior de números, no del teclado numérico).

De esta forma, si deseamos disponer de 3 ventanas virtuales, con el canal #linux en la primera, #programacion en la segunda, y una conversación privada en la tercera, es posible hacer lo siguiente:

  > /window new hide
  > /window new hide
  > /join #linux
  > ALT+2 o ESC-2
  > /join #programacion
  > ALT+3 o ESC-3
  > /query JuanChis
Una vez hecho esto dispondremos de las 3 ventanas creadas y ya podremos ir a cualquiera de ellas a decir las frases relativas a cada canal, sin que las salidas se mezclen en pantalla ya que BitchX nos separará la salida de las mismas a cada canal. Se puede decir, pues, que cada comando /join, /part o /query se aplica a la pantalla virtual que tengamos activa en ese momento. A continuación se ofrece un extracto de la ayuda en línea proporcionada por BitchX para el uso de combinaciones de teclas y la diferentes opciones relativas a ventanas (tanto secciones de pantallas partidas como ventanas virtuales):
  > Control+W+'-' = Hace la sección actual una línea más estrecha.
  > Control+W+'+' = Hace la sección actual una línea más ancha.
  > Control+W+l     = Lista las ventanas disponibles.
  > Control+W+k    = Elimina la ventana/sección actual.
  > Control+W+h    = Oculta la ventana/sección actual.
  > Control+W+b    = Iguala el tamaño de las secciones.
  > Control+W+n    = Cambia a la ventana siguiente.
  > Control+W+p    = Cambia a la ventana anterior.
Aparte de estas teclas, están disponibles AvPág y RePág para moverse por el buffer de cualquier ventana y los cursores arriba y abajo para recuperar frases anteriormente escritas.

11.13 Como utilizar scripts en BitchX

Para utilizar scripts en BitchX (funciones y comandos nuevos para un cliente de IRC), tan sólo hay que copiarlos en el directorio .BitchX y cargarlos luego en el programa mediante /load script, teniendo el comando disponible a partir de ese momento. Lo importante de BitchX es que los scripts pueden proporcionar un aspecto diferente al entorno del programa, al ser este totalmente programable, con lo que las posibilidades de BitchX son realmente ilimitadas.

Los scripts se pueden obtener a partir de la página Web del propio programa, http://www.bitchx.com o en http://scripts.bitchx.com.

11.14 Instalar un servidor de IRC

Mediante Linux no sólo podemos conectarnos a los IRC existentes (como el IRC Hispano, por ejemplo) utilizando clientes de irc, sino que también es posible obtener *servidores* de IRC para convertir nuestra máquina en punto de encuentro de amiguetes o usuarios varios. Para ello simplemente hay que obtener, instalar y configurar un servidor de IRC en nuestra máquina, como ircd. La versión que utiliza el autor es la 10.02, (fichero ircu2.10.02-LinuxELF.tar.gz, ver http://www.argo.es/ jcea/irc/ircd.html, una estupenda página sobre redes e IRC), que consiste en un fichero tar.gz descomprimible con «tar -xvzf ircu2.10.02-LinuxELF.tar.gz», con los siguientes ficheros:

  [sromero@compiler ircd]$ ls
  Authors       LICENCE       config.h      ircd*
  ircd.motd     ircd.rehash*  INDEX         README
  example.conf  ircd.conf     ircd.off*     remote.motd
(pueden cambiar según versiones, y también está disponible en formato deb y rpm en los sites correspondientes).

Una vez descomprimido (aunque también están disponibles las fuentes para compilar el programa adaptándolo a nuestras necesidades), y como se comenta en el README del programa, basta con editar el fichero de configuración ircd.conf y adaptarlo a las funcionalidades necesarias, para luego ejecutar el daemon ircd. Esto se hace mediante la ejecución del programa con el comando./ircd, y como un usuario que no sea root, preferentemente llamado irc) para realizar la inicialización del daemon, y así permitir hasta 252 conexiones a nuestro sistema. Lo más recomendable es instalar la versión rpm (o deb, conviertiendola mediante alien) creando previamente un usuario llamado irc (con adduser) y cambiando su password a nada (a una cadena vacía, editando /etc/passwd o mediante el comando passwd), haciendo lo siguiente:

  [sromero@compiler ircd]$  adduser irc
  [sromero@compiler ircd]$  rpm -i  ircd.rpm
Para finalizar el uso del daemon de irc basta con ejecutar el script ircd.off. Este rpm (creado por Pablo Saratxaga, habitual de es.comp.os.linux) puede obtenerse de la Web de S.u.S.E (www.suse.com), entrando en su FTP, o desde cualquiera de sus mirrors: ftp://ftp.tu-chemnitz.de/pub/linux/suse/5.3/i386.de/suse/n1/ (fichero ircd.rpm), así como en los FTPs de las otras distribuciones Linux (Redhat, Debian, etc.). La versión empaquetada por Pablo Saratxaga dispone además del fichero ircd.conf correctamente configurado para el servidor de IRC, y tan sólo habremos de modicarlo si queremos que ircd corra en una red de servidores. Otro fichero interesante es ircd.motd, que nos permitirá variar el mensaje a la entrada de nuestro IRC. Una vez instalado el daemon/servidor de irc, es posible testear nuestro servidor accediendo a nuestra propia máquina:
  [sromero@compiler ircd]$  irc  Juan  localhost:6667
Si todo está correctamente instalado será posible entrar en diferentes consolas virtuales y repetir el proceso para tener varios usuarios en nuestro IRC. Ya sólo nos falta, pues, editar el fichero ircd.conf para dotar a nuestro irc de los canales, comandos y datos que tengamos pensados para él, y dar nuestra dirección IP a las personas que queramos que se conecten al mismo.


Next Previous Contents