Archive for May, 2008

solidaridad 2.0

Wednesday, May 28th, 2008

elarbollinuxero-es-thumb.png

Hace unos días Cesarius, de Cesarius Revolutions, publicó un gráfico que salió originalmente en linuxconfig.org en donde se mostraba (de un modo muy pedagógico, por lo demás), el Filesystem Hierarchy Standard de Linux (FHS, Estándar de jerarquización del sistema de archivos).

En su posteo, preguntaba si alguien estaría dispuesto a traducirlo para la posteridad. Y bien, los tubos contestaron.1

EDIT: Cuando escribí esto y traduje el gráfico no noté que ya había dos traducciones en el blog de Cesarius (eso pasa porque los comentarios salen tan abajo y en los resúmenes no salen los comentarios ya hechos…), así que, consciente de que no tengo la exclusividad, lo pongo igual, porque al pinguino no le sobran los posteos y el trabajo hecho hecho está. Además, revisé el mío a la luz de los otros dos, y aunque suene imparcial (y lo es), el mío es el que más me gusta. :P


  1. Y ya que andamos en la onda del código abierto, aquí pueden bajar el xcf original para GIMP, que es lo más cercano que puedo llegar a eso. [volver]

the homebrew channel

Monday, May 26th, 2008

hbc.png

Brevísimo posteo antes de irme a dormir. Hoy salió publicado en Slashdot la noticia del lanzamiento del Homebrew Channel, que debe ser, hasta el momento, el mejor y más bien acabado programa de terceros que he visto para la Wii. A modo de mega resumen, es una aplicación que se instala en la Wii como si fuera un canal oficial (la Wii funciona con canales, como si fueran canales de televisión, en donde cada uno es una aplicación, ya sea un browser de internet o un juego o el sistema de compras online de Nintendo, o…) y permite correr aplicaciones de terceros (de ahí su nombre, “homebrew“: algo así como “cosecha casera”). Estas van desde las más tontas (como un tetris) a las con más pretensiones de ser útiles (como un front end para MPlayer, o aplicaciones para ser usadas por los desarrolladores de software), pero en general no hay muchas cosas demasiado interesantes. Todavía.

Desde el día en que compré la Wii he estado esperando que salga algo como esto. Y se han tomado su tiempo.

Verán, la principal gracia de la Wii es que, como es una consola que usa elementos tan novedosos (como un puntero infrarrojo sensible al movimiento), se perfiló desde muy al comienzo como una plataforma que iba a fomentar el desarrollo de software igualmente novedoso, y, por lo mismo, la innovación en términos de diseño de juegos. Algo parecido a lo que se esperaba que sucediera con el Nintendo DS, y que hasta cierto punto ha pasado, tanto con el DS como con la Wii.

Sin embargo, los diseñadores de juegos comerciales se han mostrado bastante más tímidos de lo que deberían, y salvo algunas excepciones, no se ha hecho demasiado por explotar las facetas más interesantes e innovadoras del sistema1. Eso, sumado a que la mayoría de las aplicaciones que existen para la Wii son caras, digamos que ha dejado a algunos usuarios de la Wii con gusto a poco2.

Por eso mi entusiasmo. Al igual que con el DS, que desde que empezó a tener aplicaciones homebrew hace una punta de meses hasta ahora ha visto una verdadera explosión en torno a sus posibilidades, es de esperar que esto le de a la Wii el empujón que necesita para realmente convertirse en la plataforma de innovación que todo el mundo ha esperado que sea.

Yo diría que the wow starts HERE.


  1. O sí se ha hecho, pero a mucho menor escala de lo que uno podría haberse imaginado en un comienzo. [volver]
  2. Aunque claro, ese gusto a poco sigue siendo suficiente, yo jamás cambiaría la Wii que tengo por nada. [volver]

dibujo dominguero #1: pandemonium

Sunday, May 25th, 2008

pandemonium.png

Eso. Este es el primer dibujo de una serie con la que pretendo inyectarle al pingüino una dosis de actividad. Si todo sale bien, espero subir algo nuevo cada domingo. Por lo mismo, si alguien me quiere hacer un hombre muy feliz, puede regalarme un tablet, o algo en el que dibujar sea incluso mínimamente menos incómodo que hacerlo con un mouse.

Considérense advertidos, eso sí: no esperen nada mucho más ocurrente ni genial que lo que ven aquí. En general, no serán más que las tonteras que alcance a hacer. Y si necesitan saberlo, parte importante de la motivación surgió de que últimamente he estado leyendo muchos webcomics, y algo en mi dentror me dijo a mí mismo: “Mismo, tú también puedes dibujar cosas como esas…”.

Este es mi intento. Aprovechándome además, por supuesto, de que no tengo ningún tipo de pretensión al respecto.

Nos vemos, con algo de suerte, antes del próximo domingo.

cómo configurar un servidor de CUPS (y conectarse remotamente a él)

Monday, May 19th, 2008

printer6.png

Démosle un aplauso a nuestro tímido y bienamado pingüino mientras vemos como él, una vez más, hace un esforzado intento por despegarse del fango del olvido y salir, valeroso, a la conquista de los tubos.

Este es el primer posteo de una serie que tengo pensada (así es, con ambición este intento!) mostrando cosas entretenidas que se pueden hacer en Linux, o simplemente cosas entretenidas que he hecho yo con mi instalación y que me gustaría tener registradas para futuras referencias, ya sean mías o del resto.

Hoy le toca el turno a instalar una impresora en un servidor de CUPS al que se pueda acceder remotamente a través de una WAN desde computadores que corran prácticamente el sistema operativo que quieran. Califica como suficientemente interesante? Ya lo creo que sí. Aquí va.

Lo primero es instalar el servidor de la impresora. Y nos vamos a ahorrar toda la discusión de si es mejor usar la línea de comando o la interfaz gráfica. En esta guía se hará uso de ambas, porque lo que a mi me importa, más que una adhesión ideológica1 a un método por sobre el otro, es que las cosas sean fáciles, rápidas y eficientes. Dicho eso, vamos allá.

Para instalar el servidor de impresora deben correr

sudo apt-get install cupsys cupsys-client cupsys-driver-gutenprint openssh-server

openssh-server no es parte del servidor de la impresora, sino de ssh, que permite conectarse al computador de modo remoto. Es posible que esto sirva sin instalar el servidor de ssh, pero yo ya lo tenía instalado y la guía que yo seguí decía que había que hacerlo, así que váyanse a la segura. Además, ssh vale la pena tenerlo. Instálenlo. CUPS es el sistema de impresoras que funciona en Linux y significa Common Unix Printing System, y la verdad es que funciona a toda raja2.

Pero sigamos. Una vez que esté instalado debemos configurarlo para que reciba conexiones externas. Para eso debemos modificar /etc/cups/cupsd.conf (o /etc/cups/cups.d/browse.conf en versiones anteriores), del siguiente modo:

  1. Cambiar BrowseAllow @LOCAL por BrowseAllow all;
  2. En las secciones <Location />, <Location /admin> y <Location /admin/conf>3, cambiar Allow localhost por Allow all;
  3. Cambiar donde dice Listen localhost:631 por Listen 631; y
  4. Añadir la línea DefaultEncryption Never al final del documento para que podamos conectarnos a CUPS y configurarlo a través de su interfaz web.

Una vez modificado ese archivo, debemos reiniciar el servidor de CUPS para que los cambios surjan efecto:

sudo /etc/init.d/cupsys restart

Ahora sí podemos (o deberíamos poder, comenten si hay problemas) configurar CUPS desde la web accediendo a

http://1.2.3.4:631/

en donde 1.2.3.4 es la dirección IP del servidor al que nos estamos conectando (que probablemente será parecido a 192.168.1.XXX, en donde XXX es un valor entre 0 y 255). Una vez ahí, en el tab de Impresoras (o Printers, quizá en qué idioma sale, porque mientras lo probaba me conecté desde otro computador y estaba en castellano, mientras que en mi computador estaba en inglés), instalamos la impresora seleccionando el puerto en el que está conectada.

Aquí es donde sirve que hayamos instalado el paquete cupsys-driver-gutenprint, que es un paquete de drivers de impresora que incluye una buena cantidad de las impresoras más comunes y nos dejarán hacer un mucho mejor uso de nuestra impresora. Así que si no lo instalaron en su momento, instálenlo ahora. Con un poco de suerte, ahora si van al tab de Impresoras del servidor se va a poder elegir el driver de la impresora. Recuerden el nombre que le ponen a la impresora al instalarla, porque puede ser que lo necesitan más adelante4.

Ahora, si queremos ser capaces de meternos a esa página desde fuera de la LAN y, como en mi caso, estamos usando un router como firewall, entonces tenemos que configurar el router para que acepte las conexiones entrantes del puerto 631 y las redirija al computador en el que está CUPS corriendo. Eso es, por supuesto, casi de perogrullo, pero a mi se me olvidó en su momento y me pasé unos breves segundos de desesperación que espero que ustedes puedan ahorrarse.

Considérense advertidos, eso sí, de que una vez hecho eso, cualquier persona que tenga acceso a la red va a poder imprimir cuantas páginas de prueba quiera a través de la interfaz de esa página. No he revisado bien los modos disponibles para hacer que estos ea un poco más seguro, pero es probable que hayan opciones para seleccionar una lista de usuarios con permiso para conectarse y otros que no lo tengan. Pero eso dejémoslo para una edición posterior de este posteo, debidamente anunciada.

Ahora viene, entonces, la parte fácil: instalar la impresora en los computadores clientes.

Desde Linux, por supuesto, esto es pan comido.

Si están usando Hardy Heron, o alguna versión posterior de Ubuntu, entonces el wizard de creación de nueva impresora debería darles la opción de instalar una impresora remota en CUPS ya sea usando IPP o HTTP.

printer1.png

De ahí, la cosa es realmente fácil y basta con seguir los pasos que vaya indicando el wizard teniendo en mente lo siguiente:

  1. El hostname es el nombre del dominio asociado al servidor (de la forma algo.dominio.algomas) o la direcció IP del mismo (192.168.1.XXX, ver más arriba).
  2. El puerto es 631, que es el que CUPS usa por defecto. Me imagino que debe haber modos de cambiarlo para aumentar la seguridad del asunto, pero no sé cómo todavía. Cuando lo sepa, lo pondré aquí.

printer2.png

printer4.png

Si están usando una versión anterior a Hardy es posible que el wizard no les dé las opciones que salen en la foto. Si esto es así seleccionen instalar una impresora de tipo Otro, y consideren que el URI de la impresora será

http://[dominio]:631/printers/[nombre_de_la_impresora]

o

http://[dirección_IP]:631/printers/[nombre_de_la_impresora]

en donde [dominio] es el nombre de dominio asociado al servidor y [dirección_IP] es la dirección IP del mismo, mientras que [nombre_de_la_impresora] es el nombre con el que la instalaron más arriba.

Eso sería.5

Desde Windows XP la cosa es, también, pan comido: basta que elijan instalar una impresora en red conectada a otro computador y, una vez que les pidan el URL/URI, escriben la misma dirección que usarían si estuvieran usando Gutsy, esa que acabamos de ver.

printer8.png

printer9.png

Y listo! Con una configuración así, pueden instalar su impresora desde donde sea que estén y usarla desde cualquier computador que tenga acceso a internet. Pueden también compartir impresoras entre sistemas operativos diferentes y en lugares diferentes del mundo, y hasta controlar los trabajos de sus impresoras desde un navegador cualquiera. ¿Qué más se podría desear?

Espero que les haya funcionado y que hayan disfrutado esta guía. No duden en comentar si es que encuentran problemas o si lo prueban en otros contextos y funciona (cosa que debería pasar, por lo demás). Este sistema lo probé exitosamente en un servidor corriendo Ubuntu 7.10 y pude instalar y usar esa impresora en una instalación remota de Kubuntu 8.04 Hardy Heron, Kubuntu 7.10 Gutsy Gibbon, Windows XP, e incluso en una instalación de Windows XP corriendo sobre Qemu (de ahí salieron los screens). Más adelante vendrá algo sobre lo que fue hacer correr qemu satisfactoriamente.

Hasta entonces!6

Fuente: http://ubuntuforums.org/showthread.php?p=1831119


  1. No digamos que me faltan de estas en lo relativo a la computación en general y Linux en particular, pero por lo menos aquí no nos topamos con ninguna. [volver]
  2. EDIT: Desde que escribí esto me han apuntado en dirección a un rant escrito por Eric Raymond (ESR) acerca de los problemas que tenía CUPS. De hecho, en su posteo (él lo llama ensayo, pero creo que eso es como musho) el pone a CUPS como un ejemplo de mal diseño de interfaces gráficas (refiriéndose a las pantallas que yo muestro y que en este posteo ya se han convertido en casi un ejemplo de facilidad). La verdad es que ahora que lo recuerdo ese posteo yo ya lo había leído, y era el responsable de que yo nunca hubiera querido meterme con las impresoras en Linux. Afortunadamente el tiempo me hizo perder los recuerdos de ese texto, y con ellos los miedos, y logré atreverme a hacerlo yo. En el camino descubrí no sólo que ahora hacerlo es mucho más fácil que entonces, sino también que los gritos de Eric Raymond, con todo lo despreciable que es ese sujeto, no cayeron en saco roto (eso por supuesto sin contar todo lo que aprendí acerca de protocolos de impresión, que es precisamente lo que ESR no quería tener que hacer). [volver]
  3. Estos deberían estar rodeados de < y >, pero el pedazo de software del tercer reich este, que además no sabe HTML, hace lo que quiere con el formato que le doy a mis posteos… [volver]
  4. Aunque claro, va a estar en esta página de todos modos, así que no es necesario que lo anoten ni nada por el estilo. [volver]
  5. En caso de que tengan que borrar una impresora en Linux, cosa que puede probar ser más difícil de lo que uno pensaría razonable, basta con ejecutar sudo lpadmin -x nombredelaimpresora, y san se acabó. [volver]
  6. WordPress es una mierda. EDIT: Desde entonces, además, he logrado desactivar el maldito editor WYSIWYG de Wordpress que era la fuente de todo mal. Este mismo posteo, por ejemplo, ahora está tal y como yo lo quería, sin nada fuera de lugar ni soluciones parches de nada. Por eso, me corrijo: Wordpress no es una mierda. Era una mierda. [volver]