Celestia: guía de compilación en Ubuntu 10.04

En mis últimos ordenadores siempre ha estado un programa esencial para todo amante de la astronomía, la astronáutica y el espacio en general: Celestia. Un “simulador de Universo”, como suena, capaz de llevarte a velocidad absurda a cualquier lugar cartografiado en un radio de muchos miles de años luz a la redonda. Además, es ampliable y su entusiasta comunidad (dirigida por Chris Laurel, actualmente en la ) aporta mejoras y ampliaciones con regularidad.

Los únicos requisitos para ejecutar son disponer de un PC moderno con una tarjeta gráfica con soporte más o menos potente: si puedes jugar a algo en 3D con relativa fluidez, podrás disfrutar de Celestia. Para que conste, la mía es una GT 220 funcionando con el driver propietario. Lamentablemente, mientras que para Windows se ofrece un instalador simple, los linuxeros tenemos que vérnoslas con un archivo .tar.gz de fuentes, en plan some assembly required antes de jugar. Algunas distribuciones disponen de paquetes precompilados, pero normalmente no están muy bien mantenidos: son de versiones antiguas de la distribución o del propio Celestia, no soportan arquitecturas de 64 bits, o las tres cosas a la vez.

Compilar Celestia se ha convertido para mí en una especie de ritual, que se repite cada vez que adquiero un nuevo equipo o instalo desde cero un sistema operativo. Ahora le ha llegado el turno a mi workstation con (64 bits) y , y esta vez he documentado los pasos que seguí para poder contarlos aquí y que puedan servir a alguien más. Así que, sin más preámbulo… un disclaimer:

Atención: no soy responsable de nada que puedas hacerle a tu ordenador siguiendo estas instrucciones. De nada. Mi distribución no estaba “limpia” antes de comenzar este proceso: por tanto, es posible que aún instalando todo lo que aquí se dice, te falten algunas dependencias. Haz como yo: lee con cuidado los mensajes de error y mira los foros o el wikilibro. No soy ningún experto en esto, pero a mí me ha funcionado. Para evitar errores tontos, marcaré cada fin de línea con este dibujillo: “↵”. Sería recomendable tener un nivel intermedio de manejo de Linux para poder seguir esta guía: si no lo tienes, échale el lazo a tu geek local. Yo no tengo todo el tiempo que querría.

Venga, ahora sí que sí. Lo primero: suele ser más fácil compilar las fuentes conforme salen del repositorio de control de versiones de SourceForge. Más fácil que el paquete con la última versión (a día de hoy, la 1.6.0). No preguntéis por qué, e instalad el soporte de si no lo tenéis ya para poder bajarlas. Abrid una consola y teclead:

sudo apt-get install subversion↵

Siempre que os pida la contraseña de root, la ponéis. Es el momento de bajar las fuentes en sí. Desde vuestro directorio de usuario:

svn co https://celestia.svn.sourceforge.net/svnroot/celestia/trunk celestia↵

Cuando termine, tendréis un directorio celestia con todo el pastel. Ahora, a instalar dependencias, que son paquetes necesarios para que lo que acabamos de bajar compile y funcione. Nota: igual que a alguien le puede faltar alguna dependiendo de cómo haya instalado su Ubuntu, también es posible que algún paquete de los que doy aquí sea redundante. En fin.

sudo apt-get install build-essential automake gettext libgconf2-dev libtool zlib1g zlib1g-dev libgtkglext1 libgtkglext1-dev libgnomeui-dev lua5.1 liblua5.1 liblua5.1-dev↵

Hasta aquí no creo que haya problemas. Ahora empezamos a compilar:

cd celestia↵
autoreconf -iv↵

Eso crea el script de configuración de la compilación. Ahora, configuraremos la compilación, incluyendo soporte para GNOME y . El primero se pueda cambiar por KDE, pero entonces alguna de las dependencias anteriores estará mal. Incluir soporte de Lua (un lenguaje de scripting que Celestia puede llevar embebido) es interesante: muchas mejoras (add-ons) lo requieren:

./configure --with-gnome --with-lua↵

¡Llega el momento de compilar! Tecleamos

make↵

Estamos a un paso de poder disfrutar de las mejores vistas que se pueden tener en un monitor sin estar de verdad en el espacio (o sin un fondo de pantalla de Megan Fox en plan interesante). Instalamos el resultado de la compilación:

sudo make install↵

Por defecto, Celestia queda instalado en /usr/local/bin, y sus archivos de apoyo en /usr/local/share/celestia. Si el primer directorio está en nuestro $PATH de ejecución (y si no has hecho nada raro, debería estar), basta teclear

celestia↵

para empezar a navegar a lo grande. Aquí teneis una pequeña guía en español para dar los primeros pasos: Proyecto Celestia: Guía de Usuario (útil a partir del capítulo 5).

Desgraciadamente, todo esto no fue lo último que tuve que hacer para que Celestia funcionara correctamente en mi equipo. Me encontré con una ventana en la que no se mostraba nada en absoluto, aunque la navegación parecía funcionar. Quizá esto no te ocurra, o quizá sí… La solución: seleccionar la opción del menú Options/View options… y marcar para visualizar las cajas de selección de Planets y Stars como poco, poner el filtro de estrellas por distancia (Filter Stars) a su valor máximo, seleccionar el máximo detalle en textureas (Texture Detail) y pulsar Aceptar. Quizá se trate de un error menor en el programa, y quizá ya esté corregido (recordemos que estamos compilando a partir de la última versión disponible del código, así que incluso sería posible que existieran errores que no permitieran la compilación en absoluto —algo raro, pero…) Curiosamente, si ejecutaba Celestia como root (haciendo sudo celestia en una consola) todo funcionaba a la primera.

Una última advertencia: Celestia engancha. Hay quien ha cambiado de tarjeta gráfica, quien ha gastado auténticos caudales en sus equipos para poder ver las míticas texturas “32k” de la Tierra o Marte con todos los efectos de iluminación, quien ha perdido el apetito o abandonado a su mascota a su suerte para estar días seguidos pegado a la pantalla. Ni que decir tiene que tampoco me hago responsable. Disfruta.

La incidencia 4499

¿Te gustan las sensaciones fuertes? ¿Quieres comprobar qué se siente cuando un bug ya conocido en 2002 en la primera versión de un programa te ataca dentro de ese mismo programa en pleno año 2010? Bienvenido a la incidencia 4499. Intenta exportar una imagen de mapa de bits desde cualquier programa de la suite con capacidad para el dibujo (Draw vale, claro). Observarás que el resultado tiene una resolución fija muy baja. Tanto como para que un diagrama que ocupa un buen cuarto de página aparece completamente pixelado e ilegible. No, la resolución de exportación no se puede ajustar en ningún sitio. Pero tranquilos, no se trata de un error. La incidencia 4499 está registrada como una simple mejora, lo que quizá explique que su resolución prevista esté fijada para cuando se publique la versión 3.3 de la suite. Ánimo, que sólo lleva ocho años abierta.

Es típico del código abierto airear los trapos sucios, adornados con frases pasivo-agresivas de algún orgulloso desarrollador como “el comportamiento actual del programa es absolutamente correcto” (totalmente real, extraída del comentario del 12/08/2002 de la citada incidencia). Lo mejor del open source no tienen por qué ser sus desarrolladores. Ay, si no fuera por la comunidad en general el código abierto no sería mejor que la alternativa cerrada, y este caso no es una excepción. Un voluntario con el económico sobrenombre de “cl” ha publicado una extensión (como si dijéramos: un paquetito con funcionalidad adicional) que resuelve en parte la cuestión. Aquí está: Enhanced export options for bitmap files. Problema resuelto parcheado.

Bueno, no tanto. Resulta que la extensión no funciona con las últimas versiones de OpenOffice.org (3.1.1 y 3.2), sobre Ubuntu. Mi caso, exactamente (qué casualidad). En fin: recordemos el lema del más famoso lenguaje de programación de sólo escritura —Perl:

There’s more than one way to do it

Sí, hay más soluciones, y para lo que van a costar (si tu tiempo es gratis, claro), puedes escoger la que más te guste. Te propongo que exportes el dibujo como Postscript encapsulado y que lo conviertas a mapa de bits —PNG, por ejemplo— con el paquete Imagemagick. Más o menos así, para un resultado aceptable en una impresora de 300 ppp:

convert -density 300 mi_dibujo.eps mi_dibujo.png

(Casi) Pasándome a Chrome: el desenlace

Bueno, no ha sido el próximo artículo, pero es que la vida da muchas vueltas y cuando se le pone a uno a tiro un, digámoslo así, entuerto, pues hay que desfacello. Estábamos en que / es un navegador interesante, una buena apuesta de Google para introducirse ¿más? en nuestras vidas y terminar controlando todos los puntos del canal de comunicación. También habíamos dejado dicho que, pese a todo, no iba a saltar del barco de como rata marinera —por lo menos todavía. Pero los seres humanos somos así, no queremos renunciar a nada: cuando nos dicen que comer torreznos pone el colesterol por las nubes, ¿qué hacemos? Lo lógico, lanzar un programa de investigación del tamaño del Proyecto Manhattan para desarrollar unos torreznos light.

Por eso, y por obra y gracia de la característica que nos hizo a todos enamorarnos de Firefox cuando lo conocimos, ahora tengo un Firefox “chromificado”. ¡Extensiones, venid a mí!

Download Statusbar
¿Te cae gorda la ventana de descargas? A mí no tanto, pero aprecio las interfaces minimalistas. Instala esta extensión y configúrale el modo mini.
autoHideStatusbar
Hala, la barra de estado al cajón. No me acostumbro a esto, pero en estas pantallas panorámicas modernas el espacio vertical es realmente escaso.
Omnibar
Realmente, tener dos cajas de diálogo en la cabecera de Firefox es redundante. ¡Combinémoslas! Teclea tus direcciones y tus búsquedas desde el mismo sitio.
Locationbar²
Con esto instalado podremos disfrutar de ese sutil coloreado de URLs que permite ver el nombre de dominio tan cómodamente en Chrome, así como algún ajuste más.
FaviconizeTab
¿Habías probado a “marcar” una pestaña de Chrome? Con este añadido, Firefox también puede abreviar los contenidos de las pestañas a sus iconos. Ideal si hay algunas pestañas fijas en tu Firefox.
New Tab Jumpstart
Cada vez que abras una pestaña, en vez de ver una página vacía podrás tener un resumen de tu actividad más habitual. Guay.
Chromifox Basic
Si no tienes suficiente con hacer que tu Firefox se comporte casi igual que Chrome, puedes hacer que sea casi igual en apariencia. Me gustó el minimalismo de Chrome y el ahorro de espacio vertical de su interfaz, pero al final pudo conmigo que mis escritorios me gustan uniformes y que los temas se apliquen a todas las ventanas por igual. Nota: la versión más avanzada de esta extensión sólo funciona con Firefox 3.6, que todavía no está en su versión definitiva en la fecha de este artículo. Enlazo a la versión que funciona con Firefox 3.5.x.
Stealther
La privacidad es necesaria a veces, sobre todo si compartes tu ordenador y/o tu sesión y, bueno, ya me entiendes. Instálate esto y no hagas más preguntas.

Podéis ver más formas de chromificar vuestro Firefox si accedéis a la página de complementos y buscáis por “recopilatorios”. O, simplemente, pinchad aquí.