siempre online en el IRC con screen + irssi


Les ha pasado que han tenido que abandonar un canal de IRC porque debían irse y apagar el equipo donde estaban ? o simplemente se han vuelto tan adictos al IRC que no pueden perderse nada de lo que haya sucedido en un determinado canal ?

Para estar logueado permenentemente en el IRC, como primera medida necesitaremos disponer de un equipo que no se apague nunca. Esto podemos solucionarlo si tenemos algun servidor shell propio disponible o utilizando uno como por ejemplo de ninthfloor o st0rage.

Teniendo disponible este servicio, con irsii y screen instalado, solo tenemos que ver como nos manejamos con ellos en modo consola.

Irssi es un cliente IRC muy versátil e intuitivo, tal es así que me quedé con él después de probar varios, inclusive el xChat.

Si no lo tenemos instalado, podemos instalarlo con:

$ su -c "yum install irssi"

Una vez instalado bastará ejecutar:

$ irssi

Lo manejamos con los siguientes comandos:

Para conectamos al irc.freenode.net:
/connect irc.freenode.net 

Para unirnos a un canal:
/join #test

A medida que nos unimos a determinados canales, vamos a ver que la barra de estado va abriendo ventanas indicando por ejemplo “2:freenode.net/#test“. Esto significa que estamos viendo la ventana 2, del servidor freenode.net en el canal test.

Para cambiar entre las distintas ventanas que determinan los distintos canales que tenemos abiertos usamos la combinación de teclas Alt+#. Donde # es un número del 0 al 10.

También tenemos disponibles desde la Alt+q hasta Alt+o. O bien usar las teclas Alt y las flechas del teclado para movernos secuencialmente entre las ventanas.

Para abrir un mensaje privado:
/q nickusuario
Para cerrar el mensaje privado:
/
Para cerrar una ventana:
/wc

Ahora bien, como hacemos para que al cerrar sesión con nuestro usuario Linux, no perdamos la sesión de chat IRC ? Aquí entra en escena screen. Screen es un programa que crea una “sesión” en la cuál pueden existir diferentes “ventanas”. Cada “ventana” contiene un prompt shell donde podemos ejecutar programas. Con Screen, el usuario puede crear una ventana, ejecutar diferentes programas, desconectarse de la sesión screen, desloguearse, ir a dar una vuelta, loguearse nuevamente, reconectar la ventana y encontrar sus programas en la misma condición en que los dejó.  No es fantástico ?

Ahora bien, antes de ejecutar el irssi, o saliendo de el si ya lo habíamos ejecutado (/quit), ejecutamos el comando:

$ screen

Esto nos devolverá un nuevo shell. Estamos dentro de una “ventana”. Podemos verificarlo haciendo:

$ screen -list
There are screens on:
        29021.pts-2.athlon      (Attached)
1 Socket in /var/run/screen/S-hvivani.

Ahora si ejecutamos:

$ irssi

y nos conectamos a la red que queramos.

Como nos desconectamos de la venta? Presionamos las teclas CTRL+a, soltamos las teclas y presionamos la tecla d. La pantalla nos mostrará un mensaje como [detached]. Nuestros programas seguirán en ejecución en dicha ventana. Podemos desloguearnos tranquilamente de nuestra cuenta Linux que los programas ejecutados en esa “ventana” seguiran corriendo normalmente.

Como reconectamos una ventana?

$ screen -raAd

Y veremos que tenemos los programas en ejecución tal cual los dejamos. De esta manera vemos que podemos dejar corriendo el irssi, desloguearnos, irnos a dormir, y al día siguiente loguearnos nuevamente y todo seguirá ejecutándose.

Vale aclarar que si queremos crear una nueva “ventana” debemos ejecutar el comando screen sin argumentos. Para pasar de una ventana a otra utilizamos la combinación CTRL+A, soltamos las teclas y colocamos un dígito del 0 al 9.

 

 

1 thought on “siempre online en el IRC con screen + irssi

  1. Pingback: msn messenger por consola / pidgin por consola | hvivani's website

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s