You are on page 1of 84

w

w
w a modo de introducción...
Quién no los tiene

Amigos testarudos

H
ola a todos este mes. Me alegra mucho el se-
guir aquí con vosotros en nuestra lucha por,
y a veces con el software libre. Pero quién ha
dicho que la vida va a ser fácil. Yo creo que el
hecho de que en Linux no todo es fácil es una
de sus ventajas. Claro que a veces me pone
negra que algo NO FUNCIONA y no sé ¿por qué? o cuándo me es-
cribís contando vuestros problemas técnicos y pedís la ayuda y yo no
conozco la respuesta. Pero desde que trabajo con Linux he aprendido
muchísimo y ahora mi relación con mi ordenador es mucho más satis-
factoria. Antes lo trataba como un medio para conseguir algo y no me
entretenía mucho usándolo. Tengo que decir que nunca me han fas-
cinado los juegos de ordenador ni otras diversiones relacionadas con
él. Tengo que admitir incluso, pero que esto se quede entre nosotros,
que el ordenador solía aburrirme bastante.
Pero ahora eso ha cambiado. El hecho de que existan tantas distri-
buciones hace que tenga ganas de probarlas todas, sobre todo si están
desarrolladas por la gente como nosotros o sea que no es una empresa
grande sino un grupo de personas para las que es un trabajo creativo.

A lo mejor debería organizar un concurso titulado


“La mejor manera de hacer que tu amigo más
testarudo del mundo se pase a Linux”...

La gran ventaja de mi trabajo es conocer este tipo de gente y la posibi-


lidad de escribir sobre sus proyectos en nuestra revista. Este mes por
ejemplo os invito a leer el artículo sobre la distribución Tuquito de
Argentina que según mi opinión es una distribución muy amigable
para el usuario.
Espero que vosotros sintáis lo mismo y no os desaniméis cuando
surjan los problemas porque la vida sin problemas sería aburrida. Ade-
más los problemas sirven para resolverlos y para esto estamos nosotros.
Ahora otra cuestión que últimamente no me deja dormir. ¿Tenéis
amigos que ni piensan probar Linux? ¿Que dicen que Windows es me-
jor, que en Linux no se puede jugar a sus juegos preferidos, que es difícil
y otras tonterías? Que son testarudos como unos burros (aquí no quiero
ofender a nadie sólo estoy pensando sobre mi propia experiencia). Si
conocéis una manera de explicarles que esto no es verdad y que Linux
es lo mejor del mundo (bueno, a lo mejor estoy exagerando pero estoy
de buen humor hoy), ahora yo necesito vuestra ayuda. A lo mejor de-
bería organizar un concurso titulado “La mejor manera de hacer que tu
amigo más testarudo del mundo se pase a Linux” y luego probar todos
los consejos recibidos. El que funcione mejor ganaría. ¿Qué os parece
la idea? ¿Tonta? Ya lo pensaba... Pero necesito saberlo, es una cuestión
de vida o muerte (casi). Así que si a alguien le viene a la cabeza una
idea estupenda que me escriba por favor. Si funciona pensaría sobre un
premio especial (¿la suscripción de por vida de Linux+? Hmm... ¿y qué
pasa si alguién llega a odiarme por tanto Linux+?). Bueno ya pensaría
sobre algo... Así que espero vuestros consejos. Voy a probarlas en mis
amigos. En el número próximo os cuento los resultados.
¡Que os divirtáis con este número de Linux+ y hasta la próxima!

Paulina Pyrowicz
Redactora Jefe de Linux+

www.lpmagazine.org 3
w
En este número
Mensual Linux+ está publicado
por Software-Wydawnictwo Sp. z o. o.

Producción:
descripción de DVD's
Marta Kurpiewska, marta@software.com.pl
Redactora jefe:
Paulina Pyrowicz, paulina.pyrowicz@software.com.pl
6 Descripción de DVD’s
Paulina Pyrowicz
Redactor adjunto: Este mes os presentamos los DVD's con las distribuciones Linux
Monika Wójcik, monika.wojcik@software.com.pl
Mint 2.2, Tuquito 2, LinEx PYME y los programas comerciales: Panda
Preparación de DVDs:
Rafał Kwaśny DesktopSecure For Linux, Deskzilla y Junxy the Submission form spam
Diseño portada: blocker.
Agnieszka Marchocka
Gráfico: novedades
Łukasz Pabian – "insane"
Publicidad:
adv@software.com.pl
Suscripción:
14 Noticias
Alex Sandoval
suscripcion@software.com.pl
Maquetación y composición:
Marcin Ziółkowski, marcin@software.com.pl 16 Ubuntu
Francisco Javier Carazo Gil
Correctores:
Pablo Cardozo, Agripino Petit Miguel, Minton Arley,
Hector Colina
17 Debian
Samuel Pizarro Silva
Distribución:
Coedis, S. L.
Avd. Barcelona, 225 18 Suse
Esteban Negri
08750 Molins de Rei (Barcelona),
España

Dirección: 19 Fedora
Diego Rivero Montes
Software–Wydawnictwo Sp. z o.o.,
ul. Bokserska 1, 02-682 Varsovia, Polonia

La Redacción se ha esforzado para que el


20 Mandriva
Juan Gamez
material publicado en la revista y en los DVDs que la
acompañan funcionen correctamente. Sin embargo,
no se responsabiliza de los posibles problemas
gráfica
que puedan surgir.

Todas las marcas comerciales mencionadas en la


22 Entornos gráficos de bajo consumo
David Alverez García
revista son propiedad de las empresas correspondientes Los entornos gráficos minimalistas son aquellos que consumen
y han sido usadas únicamente con fines
muy pocos recursos del sistema, tanto CPU como memoria RAM,
informativos.
permitiendo el uso de Linux con máquinas antiguas para escritorio
La Redacción usa el sistema de composición o incluso trabajar. Este tipo de entornos son con mucha asiduidad
automática usados por desarrolladores, gente experta o con cierto curtimiento
en el mundo Linux debido a que ofrecen una gran velocidad de pro-
Los DVDs incluidos en la revista han sido comprobados
cesamiento, poco consumo de memoria RAM y son simples, lo cual
con el programa AntiVirenKit, producto de la empresa
G Data Software Sp. z o.o. implica menos bugs, son fáciles de usar por norma y la mayoría son
muy configurables para cualquier tipo de tarea.
¡Advertencia!
Queda prohibida la reproducción total o parcial de
esta publicación periódica, por cualquier medio
o procedimiento, sin para ello contar con la autorización
previa, expresa y por escrito del editor.

Linux ® es una marca comercial


registrada de Linus Torvalds.

4 Linux+ 5/2007
w Índice

Tema del número Entornos gráficos de trabajo

test para programadores

28 Impresoras Multifunción
Paulina Pyrowicz
56 Desarrollo de Juegos en Linux con OGRE3D
Daniel Barrientos Carrera, Enrique Puertas Sanz,
Este mes nuestros lectores nos hablan acerca de las impresoras José Carlos Cortizo Pérez
multifunción más conocidas. Podréis leer sobre el precio, carac- La industria de los videojuegos es una industria cada día más cre-
terísticas y ventajas de este tipo de hardware así como sobre el ciente, capaz de sobrevivir (y con mucho éxito) a cuestiones tan
soporte del productor y sus puntos débiles. duras como la piratería. Pese a que el mercado fundamental de la
mayoría de los videojuegos sean las consolas o bien la plataforma
software Windows, GNU/Linux se muestra como una alternativa cada día
más atractiva, tanto por el número de usuarios, el apoyo de la

32 ACE: Desarrollo Multiplataforma


de Aplicaciones en Red
comunidad, así como por el desarrollo de nuevas herramientas
que facilitan el desarrollo de juegos que no tienen nada que envi-
José Luis Marina diar a algunos videojuegos comerciales.
Como vimos en el artículo anterior ACE se corresponde con las sig-
las de ADAPTIVE Communication Environment, y es un marco de
trabajo – framework – orientado a objetos, de código abierto y dis-
62 Gestión de Configuración Software
con Perforce
ponible libre y gratuitamente, que implementa muchos de los pa- José B. Alós Alquézar
trones centrales para el desarrollo de software de comunicación. Si como se vio en el Nº 29 de Linux+, la utilización de sistemas de
control de versiones como CVS y Subversion permite una gestión

40 Juegos
F. Javier Carazo Gil
colaborativa de un proyecto de software, existen dos necesida-
des no cubiertas cuando aumentamos el nivel de abstracción.
Este mes os presentamos los siguienetes juegos: Hex-a-Hop, Ghouls
and Ghosts Remix, Galcon, Kobodeluxe, Daphne, Dark-Oberon. proyectos Linux

74 Tuquito 2, un desarrollo argentino


Ariel M. Corgatelli
Tuquito-2 es una distribución GNU/Linux, que implementa la tec-
nología livecd (funciona desde cd), esto permite al usuario tener
en su computadora un sistema completo en cuestión de minutos,
con todo el software y hardware configurado y listo para usar,
sin necesidad de modificar en absoluto la computadora, ganando
tiempo a la hora de realizar tareas concretas.
linux en la empresa

44 Business Intelligence Open Source


Israel E. Bethencourt
Nos encontramos en una época interesante, la información nunca
había fluido tan libremente. Esta situación nos permite disfrutar
de todo el conocimiento que podamos abarcar. Y de ahí, de nues-
tro principal avance, surge nuestro principal problema. Dispone-
mos de tanta información y nos llega de forma tan abrumadora
que bloquea nuestros sentidos y acaba volviéndose inútil.

LinEx Pyme, software libre para la gestión


52 empresarial
Juan Jose Torres Pérez, Milagros Cristobal Sevilla, entrevista
Alberto Reynolds Moreno, Tecnicos de proyecto LinEx PYME
En Extremadura se ha pasado de las palabras a la acción y se ha lle-
vado a cabo la introducción del software libre en los campos edu-
78 Entrevista a Richard Stallman
Paulina Pyrowicz
cativos (GnuLinEx) y empresariales (LinexPyme). En lo que se refie- Richard Stallman lanzó el movimiento de software libre en 1983,
re al ámbito empresarial todo empezó a partir de octubre de 2004, y en 1984 comenzó el desarrollo de un sistema operativo libre,
cuando fue presentada Linex Empresa. Linex Empresa era una dis- el sistema GNU. Desde la liberación en 1992 del núcleo Linux, el
tribución basada en GnuLinEx a la que se le habían ańadido un con- sistema GNU y el núcleo Linux se usan juntos en la combinación
junto de soluciones de gestión empresarial, principalmente apli- GNU/Linux. Cuando se habla de Linux, usualmente es asunto de
cativos para la facturación, control de almacén y contabilidad. esta combinación, GNU con Linux.

www.lpmagazine.org 5
w descripción de DVDs
Disco A

Linux Mint 2.2

L
inux Mint, es una distribución ba- Entre los cambios más significativos en • Bianca (Linux Mint 2.2),
sada en Ubuntu que tiene como la nueva versión podemos mencionar: • Bea (Linux Mint 2.1),
propósito crear un entorno GNU/ • Barbara (Linux Mint 2.0),
Linux cómodo, elegante y actual. • MintMenu : Un remplazo al menú de • Ada (Linux Mint 1.0).
En esencia, Linux Mint es igual que Ubuntu Gnome y que es similar al menú de
en un 98 %. Usa los mismos repositorios y los Suse, Para más información os recomendamos
mismos paquetes. Sin embargo, hay algunas • MintConfig : Un centro de control, tam- visitar la página del proyecto: http://linux-
diferencias. bién similar al de Suse, mint.com/.
El ciclo entre versiones de Ubuntu es de • MintDisk : Un programa para montar
seis meses, mientras el de Linux Mint puede automáticamente particiones ntfs y fat32
variar entre uno y dos meses dependiendo con la posibilidad de lectura/escri-
de la cantidad de novedades para la actua- tura,
lización. La parte gráfica está mejor cuidada • MintWiFi : Una guía con drivers y herra-
y es más agradable a la vista que la de Ubun- mientas de diagnóstico para facilitar la
tu, pero eso es custión de gustos. La gran configuración de tarjetas WiFi
diferencia entre las dos está en la filosofía. • Soporte para dos lenguas más: español
Mientras Ubuntu mantiene la tendencia del y turco.
uso del software libre Linux Mint ya viene
con software propietario instalado, por ejem- Las versiones que han salido hasta ahora son
plo el plugin de Flash. los siguientes: Linux Mint 2.2 Bianca

Tuquito 2

T
uquito es una distribución GNU/
Linux, que implementa la tecno-
logía livecd (funciona desde cd)
lo que permite al usuario tener
en su computadora un sistema completo
en cuestión de minutos, con todo el soft-
ware y hardware configurados y listo para
usar.
El uso de Tuquito no requiere la expe-
riencia en el campo de Linux, está destina-
do a todos tipo de usuarios. Tambien pue-
de instalarse en su pc mediante dos tipos
de instalación Completa o Básica, teniendo
todo configurado y listo en su disco duro
en un tiempo mínimo. Tuquito cuenta con
2 gigas de aplicaciones en un cd normal,
con una excelente selección de paquetes
en las areas de ofimática, ingenierias, mul-
timedia, internet, programación, ciencias.
La estética instantánea de Tuquito, permite
disfrutar de un sencillo y amigable entorno Amarok en Tuquito
de trabajo. Algunas características de Tu-
quito son: • Soporte de escaners, • OpenOffice: Clon del MS Office,
• Es compatible con archivos de MSOFFI- • Mplayer: Uno de los mejores reproducto-
• Soporte de todas las impresoras de mo- CE y soporta los sistemas de archivos de res de video,
delos,antiguos y nuevos, disponibles en windows. • Amsn: Clon del msn.
el mercado,
• Soporte de webcams, incluyendo los Tuquito 2 posee también las herramientas Si queréis leer más sobre esta distribución
modelos de intel, genius, como: argentina os invitamos a leer el artículo Tu-
• Permite acceder a cdroms,diskettes, con quito 2, un desarrollo argentino que publica-
tan solo un click en su escritorio, • Mozilla: Excelente cliente web, mos en este número de Linux+.
• Detección automática de cámaras digita- • Evolutión: Clon y mejor que el Outlook,
les, pen drive, dispositivos hotplugs, • Quanta: Excelente editor de programacion,

6 Linux+ 5/2007
w

DVD A
Si no puedes leer el disco DVD
y no notas ningún tipo de deterioro
mecánico, por favor, pruébalo en al menos
dos unidades de disco diferentes.

5/2007 DVD B
En caso de problemas, escribir a: dvd@lpmagazine.org
w descripción de DVDs
Disco B

Deskzilla

E
l producto de ALM Works, Desk-
zilla, ofrece una interfaz interac-
tiva y ahorradora de tiempo pa-
ra el sistema de seguimiento de
Bugs Bugzilla.
Deskzilla es una interfaz de escritorio in-
teractiva para el sistema de seguimiento de
bugs BugzillaTM de Mozilla. Deskzilla se in-
tegra sin problemas con instalaciones exis-
tentes de Bugzilla y permite que los usua-
rios frecuentes de Bugzilla ahorren tiempo,
manejen issues (temas o problemas) en for-
ma efectiva, se concentren en la ejecución
y puedan trabajar sin conexión. En este ar-
tículo, les presentamos las características de
Deskzilla y algunos trucos y consejos para
usuarios avanzados.

Empezando
La instalación de Deskzilla es sencilla. Sim-
plemente descomprima el archivo de distri-
Figura 2. Query Builder (Constructor de consultas)
bución deskzilla-1_2_5.tar.gz y abra el script
deskzilla-1.2/bin/deskzilla. En el primer uso, bién considere otros parámetros importan- de datos irrelevantes desde el servi-
Deskzilla preparará el entorno Java, por lo tes: dor.
que seguramente tomará unos momentos • Si usted usa caracteres nacionales, es-
abrir la aplicación. • Las credenciales de cuenta (su dirección pecifique el grupo de caracteres en la
Cuando la pantalla de bienvenida apa- de correo y contraseña) son requeridas si sección de Opciones avanzadas.
rezca, establezca una conexión Bugzilla. usted está por realizar cambios o si Bug-
Usted puede seleccionar una conexión zilla no proporciona acceso anónimo. Ahora, una vez que la conexión está configu-
predefinida a un servidor publico o un • Si el servidor de Bugzilla alberga un rada, sigamos hacia lo divertido.
sandbox, o puede especificar parámetros montón de proyectos, use la opción
para conectarse a su propio servidor. Co- Trabajar sólo con productos seleccionados. Explorando la interfaz de usuario
mo mínimo, solamente es necesario el Esto acelerará mucho la sincronización, Deskzilla se ve similar a un cliente de correo
URL de Bugzilla para conectarse, pero tam- ya que Deskzilla no cargará montones electrónico. Hacia la izquierda está el árbol
de navegación, el cual se usa para seleccionar
bugs. Contiene nodos de conexión, carpetas,
queries (consultas) y otros elementos. La
mayoría de los mismos estarán organiza-
dos según jerarquía dentro del árbol. Puede
explorar los contenidos de la carpeta Sample
Queries (o Consultas de muestra), la cual Des-
kzilla creó para usted (puede tranquilamente
borrarla cuando no la necesite). Por ejemplo,
puede ejecutar la consulta Open (o abierto)
para obtener todos los bugs que tienen es-
tado abierto.
Hacia la derecha hay una vista general
detallada con fichas, la cual muestra la lista
de bugs y los detalles del bug seleccionado.
Cuando usted ejecuta una consulta, se mues-
tra la lista resultante de bugs en una pestaña
o ficha diferente, de forma que usted pueda
explorar diversos grupos de resultados si-
multáneamente.
En la parte superior del área principal,
Figura 1. Pantalla principal de Deskzilla el campo de Búsqueda Rápida le permite

8 Linux+ 5/2007
w descripción de DVDs
Disco B

tengan en su lugar hasta que el usuario deci-


da actualizar la tabla. Esto es especialmente
útil cuando se hace triage o clasificación de
bugs, cuando usted empieza por el bug que
está más arriba en la lista de prioridades,
y luego trabaja con cada bug individualmen-
te. Mas allá de qué cambios realice, la imagen
general será retenida y usted siempre verá
dónde se encuentra en este proceso.
Usted puede cambiar el modo de la tabla
con la opción del menú Buscar – Resultados en
Vivo (o Search – Live Results). Cuando el Modo
Congelado está seleccionado, una columna es-
pecial aparece hacia el lado izquierdo, la cual
muestra el símbolo Refrescar en las filas que
tienen cambios pendientes.

Viendo y cambiando Bugs


Los detalles del tema o problema selecciona-
Figura 3. Fusionando cambios en conflicto
do aparecen bajo la tabla de temas. La distri-
rápidamente acceder a un bug mediante su usted puede limitar la búsqueda mediante bución de los campos es similar a las formas
ID, o buscar palabras específicas dentro del la creación de una nueva sub-consulta o una de Bugzilla, con algunas adiciones.
contexto. ¿Qué es el contexto? Es el nodo distribución. La distribución es una forma rá-
seleccionado en el árbol de navegación. Por pida de ver cómo los bugs están distribuidos • Los comentarios podrán verse en forma
ejemplo, si usted selecciona la consulta Open en un determinado campo. de árbol – Deskzilla buscará citas y arre-
y ejecuta una búsqueda rápida, Deskzi- Por ejemplo, podemos crear distribución glará los bugs en la forma correspon-
lla buscará únicamente bugs abiertos que por producto, bajo la consulta Open: Deskzi- diente.
contengan las palabras especificadas. Usted lla creará y mantendrá una serie de sub-con- • Los campos podrán colapsarse en una
puede seleccionar más contexto específico sultas, una por cada producto. Si Deskzilla ya vista breve, la cual deja más espacio ver-
(por ejemplo My work -Mi trabajo-) o un nú- ha descargado todos los bugs abiertos, inme- tical para comentarios.
mero de consultas, incluso aquellas prove- diatamente mostrará cuántos bugs abiertos
nientes de otras conexiones de Bugzilla. Es hay en cada producto. Cada distribución Deskzilla ofrece varias acciones para editar el
una forma rápida y eficiente de buscar un sub-consulta puede luego ser ejecutada para problema seleccionado:
bug, especialmente cuando solamente se tiene ver los bugs correspondientes, o limitada con
una vaga idea de dónde se puede encontrar más sub-consultas o distribuciones. • Editar todos los campos como se hace en
el mismo. Bugzilla, presionando el botón F4.
Dos modos de trabajar con una • Añadir un nuevo comentario o crear
Buscando con consultas y distribuciones lista de bugs una respuesta a un comentario existente.
Las consultas son la herramienta principal de Ahora, cuando hemos seleccionado bugs que • Adjuntar un archivo.
búsqueda. Usando el Visual Query Builder, requieren nuestra atención, podemos usar • Aplicar una acción de flujo de trabajo
usted puede construir consultas de todo tipo la vista general detallada para trabajar con (o Workflow) (Seleccionar múltiples bugs
de complejidad. Pero las consultas compli- ellos. Deskzilla ofrece dos modos de trabajo para aplicar acciones de Workflow a to-
cadas son raramente necesarias porque éstas con la lista de bugs: el Modo En Vivo cuando dos ellos).
pueden ser anidadas. Cuando una consulta la actualización automática de la tabla está
es puesta bajo una Consulta Padre, ésta toma activada, y el Modo Congelado. Luego de realizar cualquier cambio, usted
el resultado de la misma y la filtra más. Cuando la tabla de bugs está en el Modo tiene la opción de subir inmediatamente los
Por ejemplo, usted puede poner la En Vivo, cualquier cambio en los bugs, ya mismos a Bugzilla, o guardarlos como bo-
consulta Open bajo My work. Si luego usted sean aquellos descargados desde el servidor rrador para ser revisados y posteriormente
ejecuta la consulta Open, Deskzilla le mos- o hechos por el usuario, son inmediatamente subidos. Los cambios en el borrador pueden
trará bugs que son su trabajo y que además transmitidos a la tabla. Por lo tanto, en el Modo ser eliminados sin que ello afecte a Bug-
tienen estado abierto. Anidar consultas es En Vivo los bugs pueden desaparecer de la zilla.
un concepto fundamental en Deskzilla: le tabla, reaparecer o cambiar de lugar, depen-
permite construir una jerarquía de consul- diendo del orden. Usted siempre verá resul- Personalizando el flujo de trabajo en
tas, facilitando la división y el acercamiento tados actualizados de la consulta. Dezkzilla
al seguimiento de bugs. En Modo Congelado, cuando la actuali- Las máquinas de workflow (o máquinas de
En el ejemplo arriba mencionado, si la zación automática está desactivada, Deskzi- flujo de trabajo) de Deskzilla y Bugzilla son,
consulta Open selecciona demasiados bugs, lla se asegura de que todos los bugs se man- de alguna manera, diferentes. En Bugzilla, el

www.lpmagazine.org 9
w descripción de DVDs
Disco B

workflow es de código duro y no puede ser


cambiado, acortado o parcheado. El mismo
está asociado también sólo con el Estado
y la Resolución y, con algunas excepciones,
los otros campos son independientes.
La perspectiva de Deskzilla con res-
pecto al workflow es diferente. Todos los
pasos del flujo de trabajo están definidos
en un archivo llamado workflow.xml. Este
archivo, que viene con la distribución de
Deskzilla, refleja el flujo de trabajo están-
dar de Bugzilla, pero puede ser personali-
zado.
Aquí hay un extracto del workflow.xml
estándar, el cual define el paso de flujo de
datos confirmar:

<action>
<name>Confirm</name>
<filter>status in (UNCONFIRMED)
Figura 4. Sincronización de consulta
</filter>
<set> <askReference>Milestone: gar la subida para más tarde. Puede suce-
<attribute> </askReference> der que un bug es cambiado en Deskzilla,
<name>status</name> </attribute> y que al mismo tiempo alguien lo cambie
<value>NEW</value> ... en el servidor Bugzilla. De esta manera,
</attribute> </action> el bug está en estado de conflicto; esta si-
<attribute> tuación es similar a lo que puede ocurrir
<name>comments</name> Aquí, milestone es la identificación del cam- con un archivo en un sistema de control
<askAddTextElement>Comment: po, y Milestone: es el subtítulo o leyenda de versión con bloqueo optimista, como
</askAddTextElement> para el campo. CVS. Y al igual que en los sistemas de con-
</attribute> Luego de que estos cambios hayan sido trol de versión, Deskzilla ofrece, en caso
</set> hechos, reinicie Deskzilla y use el nuevo de conflicto, la operación Merge (o Fusio-
</action> workflow personalizado. nar).
Cuando se fusionan los cambios en
Esta definición le dice a Deskzilla que: Trabajando sin conexión conflicto, Deskzilla muestra la diferencia
Uno de los beneficios del uso de una aplica- entre la modificación hecha por usted
• El nombre de la acción es confirmar, ción de escritorio es que es capaz de traba- y la hecha por otra persona, y le permite
• Es aplicable a cualquier bug que tiene jar cuando el servidor o toda la red no son escoger los valores correctos para cada
estado NO CONFIRMADO, accesibles -durante un viaje de negocios, campo.
• Como resultado de esta acción, los si- en la página del cliente, o cuando los admi-
guientes campos serán modificados: nistradores de su sistema han decidido rá- Consultas sincronizadas
– El estado será cambiado a NUEVO. pidamente actualizar el servidor. Deskzilla La máquina de sincronización de Deskzi-
(Sin ingreso del usuario), le permite trabajar con bugs de la misma lla también mejora la búsqueda con concep-
– El usuario podrá agregar un comen- manera en la que trabaja con el Correo Elec- tos importantes de consultas sincroniza-
tario para esta acción. trónico: das.
Cuando una consulta es ejecutada, las
Digamos que, por ejemplo, queremos modi- • Descargue bugs desde el servidor Bug- solicitudes son enviadas a Bugzilla, los bugs
ficar esta acción de workflow y permitir al zilla (cuando esté en línea); son descargados, colocados en la base de da-
usuario especificar el Target Milestone cuan- • Busque bugs, cambie bugs, cree nuevos tos local y mostrados al usuario. Esta puede
do esté confirmando un bug. Esto se hace bugs, añada comentarios, aplique accio- ser una operación que lleve tiempo, espe-
simplemente añadiendo las siguientes lí- nes de Workflow (cuando esté en línea cialmente cuando montones de bugs deben
neas: o sin conexión); ser descargados.
• Suba los cambios de nuevo a Bugzilla Pero, ¿qué ocurre si usted ejecuta la mis-
<action> (cuando esté en línea). ma consulta de nuevo? Como los bugs ya se
... encuentran en la base de datos local, no hay
<attribute> Siempre que haga un cambio, tiene la op- necesidad de descargar nada. Deskzilla sabe
<name>milestone</name> ción de subirlo inmediatamente o poster- que ya ha descargado todos los bugs para

10 Linux+ 5/2007
w descripción de DVDs
Disco B

esta consulta. Todo lo que debe hacer es aga- múltiples proyectos de diferentes ven- bles para uso comercial. Para detalles sobre
rrar los bugs de su disco duro y mostrarlos dedores o departamentos. las mismas, por favor visite el sitio web de
en una tabla. ALM Works.
Las consultas que se sabe que han sido Actuales limitaciones Esta entrega de Linux+DVD contiene
descargadas completamente son llamadas Aunque Deskzilla trata la mayoría de los ca- una edición especial de Deskzilla que in-
Consultas sincronizadas. sos de seguimiento de bugs, no es un comp- cluye una licencia personal.
Además, todas las sub-consultas de una leto sustituto para la interfaz de Internet de
consulta sincronizada también se vuelven Bugzilla. A partir de la versión 1.2, Deskzilla En la red
sincronizadas porque, por definición, mues- tiene varias limitaciones:
tran un sub-grupo del resultado de la con- • Visite el sitio web de ALM Works para
sulta padre. • Rendimiento: Deskzilla puede descar- saber más y obtener la última versión
Una consulta sincronizada siempre se gar y manipular de forma efectiva has- de Deskzilla: http://almworks.com,
muestra con un contador de bugs -un nú- ta 10.000 bugs. Si tiene más bugs en • Solicite soporte y haga sugerencias en
mero de bugs que satisfacen el filtro de la Bugzilla, no es un problema a menos nuestros foros: http://forum.almworks.com,
consulta- mostrado entre paréntesis cerca que tenga que trabajar con todos y cada • Nuestra base de conocimientos tiene
del nombre de la misma. Cuando la base de uno de los problemas o temas en cues- muchas pistas y trucos para configurar
datos local cambia, este número cambia tam- tión. Utilice las consultas para descar- Deskzilla: http://kb.almworks.com,
bién. De esta forma, la jerarquía de la con- gar sólo aquellos temas que se necesi- • Cualquier observación puede enviarse
sulta se vuelve un indicador del estado del tan para las tareas actuales. a info@altworks.com.
proyecto, un reporte que está siempre en su • Las instalaciones Bugzilla altamen-
pantalla. te personalizadas no son soportadas. Bugzilla desde cero en cinco
Para mantener actualizadas las consul- Deskzilla se integra con Bugzilla sobre minutos
tas sincronizadas, Deskzilla sondeará perió- páginas y formas XML/HTML; si éstas La instalación de Bugzilla puede ser una ta-
dicamente el servidor en busca de cualquier son radicalmente cambiadas, Deskzilla rea que lleve tiempo si usted no está fami-
cambio ocurrido desde la última sincroni- puede no entender las respuestas de liarizado con el proceso. Eso es particu-
zación. Así, si usted deja Deskzilla ejecután- Bugzilla o enviar datos incorrectos. larmente cierto cuando se instala en Win-
dose, los contadores de bugs y las tablas de • Algunas características de Bugzilla no dows; en Linux usted necesitará además
problema en Modo En Vivo cambiarán para son aún soportadas: comentarios pri- capacidad, tiempo y ancho de banda para
reflejar los datos más recientes. vados e inclusiones, distintivos, segui- instalar todos los módulos Pearl y librerías
miento del tiempo, votos, etc. El soporte requeridas.
Otras características para los elementos anteriormente men- ALM Works ha compilado un produc-
Vale la pena mencionar otras capacidades de cionados está planeado para versiones to gratuito, Virtual Bugzilla Server, el cual
Deskzilla: futuras. le permite establecer un Bugzilla en ejecu-
ción literalmente en minutos.
• Las Colecciones de Bugs son carpetas es- Si necesita trabajar con un bug en aspectos Virtual Bugzilla es una máquina VM-
peciales para los mismos – Usted puede que aún no están implementados en Deskzi- Ware virtual con Bugzilla pre-instalado.
agregar bugs a una colección y ver qué lla, puede presionar F9 y abrir el sitio web Para ejecutar Bugzilla usted necesitará:
bugs se encuentran ahí. Por ejemplo, de Bugzilla para este bug.
puede crear una colección llamada no- • Descargar e instalar gratuitamente el re-
tas de publicación y llenarla con apuntes Requisitos y disponibilidad productor VMWare desde el sitio web
que vale la pena mencionar en los pró- Deskzilla es una aplicación Java y funciona http://vmware.com,
ximos anuncios de difusión. Las cole- en Linux, Windows y Mac OS X. Las versio- • Descomprimir el Virtual Bugzilla Server
cciones de bugs son como etiquetas o fi- nes Bugzilla soportadas son las 2.14 – 3.0 y y arrancar la máquina virtual.
chas (un bug puede pertenecer a un nú- superiores.
mero de colecciones). Éstas son también La versión Deskzilla más reciente está Eso es todo. Dentro de VMWare, Linux DSL
como las consultas (puede crear sub- disponible gratuitamente desde nuestro se inicia y luego que el sistema bootea, Bug-
consultas y distribuciones bajo ellas tam- sitio web. Por momentos, las últimas ver- zilla está listo para ser usado.
bién). siones en desarrollo pueden obtenerse Nótese que para usar Virtual Bugzilla
• La herramienta export (o exportar) per- mediante el programa Early Access, para en producción, se requiere de algunos pa-
mite convertir bugs a formato CSV aquellos a quienes les agrada lo fresco sos más para asegurar el servidor y ajustar
o HTML, para luego procesarlos con y nuevo. la configuración de la red.
una aplicación de hoja de cálculo o para Deskzilla tiene varias opciones de li- Para más información y para conseguir
imprimirlos. cencia disponibles. Si usted está trabajando las últimas versiones de VBS, visite el sitio
• Varias conexiones a los servidores de en un proyecto Open Source, puede obte- web de ALM: http://almworks.com/vbs.
Bugzilla pueden ser configurados den- ner una licencia gratis. Las licencias perso-
tro de un mismo Deskzilla, lo que lo ha- nales, corporativas, académicas y aquellas
ce muy conveniente para trabajar con para ser utilizadas en sitios, están disponi-

www.lpmagazine.org 11
w descripción de DVDs
Disco B

Panda DesktopSecure para Linux

A
ntes de todo nos preguntamos
– ¿por qué un antivirus para
Linux? – la respuesta es muy
sencilla, cada vez más este sis-
tema operativo de escritorio se está haciendo
un lugar tanto en el sector particular domés-
tico, como dentro del entorno empresarial.
Grandes fabricantes de ordenadores ya lo
preinstalan en sus equipos cuando éstos
salen al mercado.
Por tanto, desde Panda Software vemos
la necesidad de proteger a nuestros clientes
independientemente del sistema operativo
que tengan instalado. Está sobradamente
probado que Linux es un sistema vulnerable
e inseguro y por ese motivo es necesario pro-
tegerlo frente a los ataques y cualquier otro
tipo de amenaza que circula por Internet, por
esta razón nos encontramos en la necesidad
de instalar un sistema de seguridad antivirus
para estar protegido en todo momento. Figura 2. Estado del programa
A continuación, vamos a describir el los requisitos de hardware y de distribución para las distribuciones basadas en Red Hat
proceso de instalación de la protección que de Linux que se nos pide para poder poner y Suse. Otro de los formatos en el cual pode-
Panda Software proporciona para platafor- en marcha la aplicación en nuestro sistema mos encontrarnos el paquete de instalación,
mas Linux. operativo de escritorio Linux. es en formato script .sh el cual también es
El producto del cual hablamos es cono- Para más información sobre los requisi- muy común y se puede ejecutar en cualquier
cido como Panda DesktopSecure para Linux. tos necesarios de instalación de Panda Desk- distribución Linux.
Aunque la instalación de programas en Li- topSecure para Linux, por favor visitar: http:// Una de las cosas a tener en cuenta si los
nux puede llegar a ser una dura labor por www.pandasoftware.es/descargas/Betas/empresas/ ficheros los descargamos de Internet, es veri-
las dependencias que requieren algunos pa- info_desktopSecure.htm. ficar que están con los permisos debidamen-
quetes y por las labores de configuración Comprobados los requisitos, procede- te configurados para proceder con la instala-
y preparación del núcleo del sistema (Kernel), mos a instalar el producto: el paquete pode- ción de la aplicación. Si esto no es así, debemos
en Panda hemos creado un producto muy mos obtenerlo en distintos formatos. Los .deb utilizar el siguiente comando para poder cam-
sencillo e intuitivo a la hora de instalarlo, para las distribuciones basadas en Debian, biarlos:
únicamente se debe tener en cuenta cumplir como pueden ser Debian y Ubuntu; los .rpm
#chmod 755 desktopsecure.1.01.00.sh

Si vamos a hacer uso de los paquetes instala-


dores .deb o .rpm, se recomienda utilizar el
gestor de instaladores de la distribución co-
rrespondiente. A continuación nos vamos
a centrar en la instalación del fichero .sh.
Para lograr esta instalación hay que te-
ner en cuenta que hay que realizarla con el
usuario root, o bien utilizando los comandos
su o sudo para actuar como si fuésemos root.
Si accedemos al equipo como usuario root, se
debe tener mucho cuidado con lo que se ha-
ce, ya que este usuario tiene todos los privi-
legios y las acciones que realicemos, pueden
tener carácter irreversible.
A continuación, introducimos el CD en
la unidad lectora y entramos en el contenido
de éste (/media/hdc), buscamos el fichero Des-
ktopSecure-1.01.00.sh y hacemos doble clic en
Figura 1. Instalación de Panda DesktopSecure para Linux él (siempre que abramos la carpeta a través

12 Linux+ 5/2007
w descripción de DVDs
Disco B

del gestor de ventanas), entonces nos apare- clic en adelante y posteriormente el programa instalar la aplicación y si alguno de los mó-
cerá un selector como el de la figura. 1 para de instalación nos va a ofrecer dos opciones dulos que la componen no se quiere instalar,
poder elegir el idioma deseado de nuestro para continuar instalando el producto Panda como por ejemplo el firewall.
producto. DesktopSecure para Linux. Esta opción no se recomienda seguir
Elegimos el idioma español por ejem- La instalación típica, es la más recomen- a menos que el usuario sea avanzado y domi-
plo y aceptamos. Tras esta elección, la apli- dable para usuarios no avanzados porque no ne ciertos conceptos.
cación de instalación nos dará información deberán tomar posteriores decisiones com- Después de la toma de estas decisiones,
sobre el producto y los aspectos legales que plejas. Eligiendo este modo de instalación se el proceso de instalación continúa su curso
debemos aceptar para poder continuar con va a crear una instalación óptima de la ap- hasta llegar al fin. Una vez se hayan termi-
su uso. licación, con los módulos recomendados por nado de instalar todos los ficheros necesa-
Aceptando las condiciones, nos com- el fabricante. rios para que el programa antivirus pueda
prometemos al correcto uso y derechos que La instalación personalizada, nos dará la funcionar, la aplicación nos pedirá un reini-
estipula la licencia de software. Hacemos opción de poder elegir aspectos como dónde cio de la

Junxy, el bloqueador de Spam para formularios de presentación

E
sta es una implementación de PHP cantidad de spam en forma de formularios Junxy será una de las herramientas
y una base de datos MySQL para web. Two Brothers Software Web Design ha de bloqueo de spam para formularios de
proveer a los usuarios de Internet diseñado Junxy, el bloqueador de spam para presentación más simples que usted pueda
una manera de crear bloqueos, formularios de presentación. encontrar. Con Junxy, usted podrá agregar
para que los Formularios de presentación de su No importa si usted tiene pequeños, o quitar sus bloqueos en un formulario
página web no llenen de basura su bandeja grandes o múltiples formularios en su sitio. web.
de entrada. La gente le envía links, ofertas de software, Requisitos: Servidor con PHP 4.01 o su-
La comunidad web ha dejado de mostrar etc. El bloqueo global de IP's para las visitas perior instalado. Este script requiere una ba-
nuestras direcciones de e-mail en las páginas a su sitio no es una idea, ya que podría estar se de datos MySQL. El usuario debería sentir-
web, y la mayoría de quienes tenemos sitios, perdiendo tanto clientes como spammers. se cómodo creando una base de datos y adi-
hemos cambiado a formularios de servidores La mejor manera de manejar este tipo de cionando un usuario con una contraseña.
online. Pero, con la industria del spam salién- spam es poniendo algunos filtros en su El script se encarga de agregar o borrar los
dose de control, estamos viendo una gran página. componentes de la base de datos.

LinEx PYME 2006

L
inEx PYME, es un conjunto de • Contalinex_1.1.0: Versión 1.1.0 del softwa- de bases de datos MySQL. Pensado para
soluciones integrales destinadas re de Gestión de Contabilidad adaptado una pequeña empresa permite su utili-
a las empresas, para la gestión al P.G.C . para LinEx. zación en una red local.
y desarrollo de sus actividades. • Libgestionlinex_1.0: Librerias necesarias
Es una solución de Software Libre, bajo licen- para los paquetes de Gestión LinEx Con- Para más información sobre la distribución,
cia GPL para la Gestión Empresarial. tabilidad y Facturación. cómo instalarla y configurarla os invitamos
Está basada en la distribución Gnu- • Galopin v1.0: Es un sencillo programa de a leer el artículo LinEx PYME software libre
LinEx. facturación y control de existencias, li- para la gestión empresarial, publicado en este
GnuLinEx incluye el kernel Linux y está berado bajo licencia GPL, realizado en número de Linux+.
basada en la distribución Debian GNU/Li- lenguaje PHP y utilizando como motor
nux y GNOME, contando con OpenOffice.org
como Suite Ofimática, entre otras aplicacio-
nes.
La aplicación LINEX PYME permite con-
trolar el movimiento de todo el almacén, la
caja y la facturación, y manejar la contabi-
lidad de la empresa, todo ello con un coste
más competitivo derivado del ahorro que
supone una licencia de software libre.
Principales paquetes que lo componen:

• Gestión LinEx Facturación v.1.5: Gestión


LinEx Facturación versión 1.5.0 que in-
cluye nuevas mejoras sobre sus prede-
cesores. Figura 1. Instalación de LinEx PYME

www.lpmagazine.org 13
w
NE WS
novedades
Noticias sección llevada por Alex Sandoval news@lpmagazine.org

Linux World México 2007


El congreso más importante de Open
La comunidad linuxera exige a Ballmer
Source en México se llevó a cabo del 28 que muestre el código
A
de febrero al 02 de marzo en el Centro
l parecer la comunidad linuxera no le rededor de todo el mundo que estarían feli-
Banamex. LinuxWorld México tuvo como
objetivo principal brindar a los visitantes dará tregua a Microsoft, en especial a ces de trabajar con Microsoft para corregir
herramientas en materia de Open Source Steve Ballmer, hasta que se haya aclarado el este problema. ¿No se lo deben a sus accio-
y Linux. Este año contó con la participa- tema del supuesto robo de propiedad intelectual nistas, el trabajar con otros para asegurar
ción de Miguel De Icaza, representante de
de Linux a Microsoft. que su propiedad intelectual no está siendo
Novell y Red Hat.
Entre los temas desarrollados en el evento Un grupo de seguidores del sistema violada?
estuvieron: universo móvil con código opertivo del pingüino crearon un sitio lla- Los miembros de la Comunidad de Li-
abierto, software libre, seguridad y la cru- mado ShowUsTheCode.com, en donde le nux no deseamos su código. No deseamos
zada nacional por un México tecnológico,
escriben una carta abierta a Ballmer, retán- pleitos. No deseamos código no-libre. Y para
entre otros.
Los participantes pudieron acudir, entre dolo a que muestre las porciones de código su consternación, no deseamos el código de
otras, a las siguientes conferencias: Es- que según él violan la propiedad intelectual Microsoft específicamente.
trategia y soluciones de virtualización en de Microsoft. Esto es lo que estamos solicitando. Esta-
el centro de cómputo, OpeniOffice.org en
Y la carta dice así: A muchos en la comu- mos solicitando la ayuda de la comunidad
la empresa, Virtualización en tecnología
Linux, Incrementando la productividad de nidad Linux les ha llamado la atención la mane- de Linux. Estamos diciendo en voz alta a Ri-
tu negocio con LINUX, Como migrar de ra en que usted ha declarado, una y otra vez, que chard Stallman, Linus Torvalds, Larry Page,
Windows a Linux. Aunque el precio de la Linux viola propiedad intelectual de Microsoft. Sergey Brin, al Dr. Eric Schmidt, Mark Shutt-
conferencia no fue bajo (desde 750 hasta
Y no sólo eso, sino además es sabido que Micro- leworth, Kevin Carmony, y Matthew Szulik,
6000 pesos mexicanos, dependiendo del
paquete) seguramente valió la pena estar soft ha convencido a empresas a que les paguen así como cualesquiera y todos los desarro-
presente. El evento se llevó a cabo en el por una patente de Linux que ustedes no pueden lladores de cualquier distribución de Linux
Centro Banamex y contó con el apoyo de proveer. o cualquier compañía que se sienta amenaza-
la Asociación Mexicana Empresarial de
Por lo tanto, este sitio servirá como una da por pleitos no existentes: Publicamente so-
Software Libre (AMESOL).
respuesta a esa acusación, y al mismo tiem- licitamos que Microsoft muestre al público el có-
Damn Vulnerable Linux po, una petición. La petición es simple, ya digo dentro de Linux que viole su propiedad inte-
Tal y como dice su nombre se trata de
una “maldita y vulnerable” distribución
que ustedes, Microsoft, declaran estar total- lectual antes del 1º de mayo de 2007.
de Linux. Y es que Damn Vulnerable mente seguros de sí mismos: Muéstrennos La carta completa la puedes seguir le-
Linux (DVL) no se ha creado para ser el Código. yendo en el sitio, y si quieres ser parte de
instalada, sino sólo para ser ejecutada: Si los desarrolladores de Linux estuvie- la campaña ahí también encontrarás más
DVL, basada en Damn Small Linux, es
un LiveCD de sólo 150 Mb pensado para
ran al tanto de este código, entonces podría información. La idea, como verán, es que
ejecutarse en un entorno virtualizado. ser omitido y Linux podría reescribir los cualquiera que esté involucrado con Linux
Y el motivo es muy bueno: Los expertos aspectos necesarios del kernel o del sistema (especialmente a nivel empresarial, porque
de DVL se han pasado meses ideando operativo. Esta es una petición bastante son los verdaderos perjudicados en todo
cómo crear una distribución de Linux
extremadamente insegura por defecto.
simple y de cortesía común. ¿Por qué lan- esto), se unan en esta cruzada para que de
A tal fin se ha elegido un kernel 2.4, zar al aire amenazas de demandas, amena- una vez por todas se aclare el asunto. O en
al que se han anadido aplicaciones no zas que le costarían tanto a Microsoft como otras palabras, para taparle la bocota a Mr.
actualizadas y configuraciones desastro- a los acusados? No tiene lógica, especialmen- Ballmer.
sas, a fin de proporcionar vulnerabilida-
des por doquier.
te si consideran que hay desarrolladores al- http://showusthecode.com/
DVL no es la única distribución Linux
destinada al aprendizaje de la segu-
ridad, pero sí es una de las mejores.
Además de los servidores al uso, perfec-
tamente instalados y listos para utilizar,
DVL proporciona ensambladores (HLA)
y desensambladores, debuggers y todas
las herramientas necesarias para explo-
rar en profundidad posibles vulnerabili-
dades en las aplicaciones.
El conjunto está acompanado por varios
tutoriales listos para usar, exploits para
practicar, etc, etc. Incluso se dispone de
vídeos para ilustrar las lecciones, que
han de descargarse desde el sitio web
de DVL porque no se han incluido en
el CD para no aumentar su tamano.
Para futuras versiones se planea la in-
clusión del Metaexploit Framework.
http://www.kriptopolis.org/
damn-vulnerable-linux Carta abierta a Ballmer para que indique que partes del código Linux violan la propiedad intelectual
de Microsoft

14 Linux+ 5/2007
w novedades
sección llevada por Alex Sandoval news@lpmagazine.org Noticias
NE WS

3GSM: ACCESS muestra ALP 1.0, Profesor acusado de pirata: la cárcel o Linux
Se trata del caso del profesor ruso
el futuro de Palm OS Alexander Ponosov que está siendo acu-

E
sado de violación de copyright por el uso
n la 3GSM del año pasado, ACCESS y Software Development Suite (SDK) para que
ilegal de programas de Microsoft, con
anunció que el recientemente fallecido los licenciadores del sistema operativo pue- un daño de 260 mil rublos (US$ 9.800).
Palm OS iba a reencarnar bajo el nombre de dan empezar a probarlo en sus equipos y de- Bajo las leyes rusas de protección de co-
ACCESS Linux Platform (ALP), e iba a estar sarrollar aplicaciones nativas para ALP. No pyright, la condena podría ser de 5 años
de cárcel en Siberia.
basado en Linux. Advirtió, eso si, que no se anuncian cuando estarán disponibles los
Ponosov se declara inocente, alegando
mostraría nada hasta el próximo año. Pues primeros equipos usando ALP, ya que to- que los programas se encontraban preins-
bien, el año llegó y finalmente vemos las davía no anuncian quienes van a licenciarlo talados en los computadores adquiridos
primeras imágenes de ALP v1.0. Palm OS (pero podemos suponer que Palm Inc. será por instancias administrativas superiores,
algo que parece bastante creíble a la vista
siempre ha sido el sistema operativo favo- uno de ellos).
de las posteriores declaraciones de algu-
rito de muchos para dispositivos portátiles, El sistema operativo está optimizado nos dirigentes rusos.
pero hace años que la versión de Palm OS para pantallas de 240×320, pero también Por su parte, Nikolay Karpushin, ministro
que podemos encontrar en las Palm actua- soporta resoluciones HVGA de 320×480, de educación de la región, acaba de anun-
ciar que las escuelas comenzarán a utilizar
les estaba completamente estancada. Así que y WVGA de 800×480. Requiere un proce-
Linux y OpenOffice.org, puesto que comprar
los fanáticos de Palm OS podrán respirar sador ARM 9 de 200 MHz como mínimo, programas comerciales a los distribuidores
aliviados de que finalmente este sistema aunque ACCESS recomienda un procesa- resulta bastante caro.
operativo sigue evolucionando. dor ARM 9 de 400 MHz. Tiene una serie http://eng.cnews.ru/news/top/
indexEn.shtml?2007/01/10/230643
Una de las mejores noticias de ALP es de aplicaciones nuevas y nativas para ALP,
que tendrá una capa de compatibilidad incluyendo una versión nativa del querido Programadores de Linux ofrecen desarrollo
con las versiones anteriores de Palm OS, HotSync, que ahora soporta OMA DS v1.2 gratuito de controladores a empresas
Aunque este último tiempo el avance
permitiendo que los usuarios puedan usar (SyncML).
del kernel de Linux ha sido notable, toda-
las miles de aplicaciones actualmente dis- vía hacen falta algunos controladores
ponibles para esta plataforma. Ya está dis- http://www.palminfocenter.com/news/9246/new- para esos dispositivos más específicos.
ponible un Product Development Kit (PDK) alp-details-and-screenshots/ Pero ahí es donde aparecen los heroicos
desarrolladores de Código Abierto, ofre-
ciendo sus conocimientos y sus horas sólo
Linux acelera los nuevos servicios para apoyar la causa del pingüino.
Un programador anunció en su blog que
a teléfonos móviles más baratos la comunidad de desarrolladores del nú-

E
cleo le está ofreciendo a cualquier empresa
l sistema de código abierto estará ins- más de 200 dólares. Pero la razón principal
la posibilidad de desarrollar controladores
talado en equipos de Motorola, Sam- es estratégica. Queremos ser capaces de apoyar para Linux… y por costo cero. Lo único
sung, Panasonic y NEC, que serían más ba- y dirigir la innovación nosotros mismos, añadió que piden es una especificación que des-
ratos que los celulares con Windows. Besio, quien también mostró sus dudas de criba cómo funciona el dispositivo, o bien
el correo de algún ingeniero que les pueda
El sistema operativo de código abierto que Nokia, que posee su propio programa
responder las dudas sobre el mismo tema.
Linux ayudará a que los fabricantes de Series 60, ayude a su mayor rival, Motorola, Una vez programado y probado, el con-
teléfonos móviles Motorola, Samsung, Pa- a crear un producto mejor. trolador sería incluido en la rama central
nasonic y NEC fabriquen celulares que se Los cuatro proveedores venden cien- del núcleo de Linux. Es decir, sería inte-
grado de arriba a abajo en las más de cien
podrán vender por menos de 125 dólares, tos de millones de móviles cada año, sufi-
distribuciones.
y permitirá el rápido lanzamiento de nue- cientes para apoyar un nuevo sistema ope- http://www.kroah.com/log/2007/01/29/
vos servicios. rativo como Linux. Pueden colocar nuevas #free_drivers
La compañía estadounidense, la surco- aplicaciones en una fracción del tiempo
Ubuntu 7.04 no incluirá controladores
reana Samsung y las japonesas NEC y Pa- que costaría que se aprobara otro en los propietarios
nasonic – propiedad de Matsushita – se aso- otros sistemas de programas informáti- La Junta Directiva Técnica de Ubuntu
ciaron el año pasado con las operadoras Vo- cos. hizo dos anuncios importantes, y ambos
conciernen a Feisty, la nueva versión de
dafone y NTT DoCoMo para desarrollar El objetivo es que las aplicaciones se
la distro que se viene en abril. El prime-
programas estándar de Linux para teléfonos introduzcan más rápidamente en los apa- ro tiene que ver con los controladores
móviles. ratos. Esté donde esté el próximo Google, que- propietarios. Después de que muchos se
Estos proveedores producen más del 95 remos que la gente lo tenga primero en un mó- alegraran (y otros no tanto) con la noticia
de que Ubuntu los incluiría por defecto,
por ciento de todos los móviles con Linux vil Motorola, manifestó Christy Wyatt, vice-
finalmente la decisión se terminó revo-
que se fabrican actualmente. presidente de programas del número dos de cando, aunque no por motivos filosóficos
La colaboración es un intento de ahorrar fabricantes de teléfonos móviles del mun- como se creía. La Junta considera que
dinero en la compra de software para teléfo- do. a los controladores aún les falta desarro-
llo, por lo que sería una error meterlos en
nos multimedia, como Symbian Series 60 o
la distribución.
Microsoft Windows Mobile. http://www.infobaeprofesional.com/interior/inde https://lists.ubuntu.com/archives/ubuntu-
La mayoría de los móviles que usan x.php?p=nota&idx=41171&cookie announce/2007-February/000098.html
programas de Symbian y Windows cuestan

www.lpmagazine.org 15
w novedades
Ubuntu sección llevada por Francisco Javier Carazo Gil ubuntu@lpmagazine.org

Linspire y Ubuntu firman un acuerdo


Dos distribuciones con dos formas de ver al
Linux ideal de dos maneras distintas y con
Definitivamente, drivers propietarios
dos formas de negocio también bien distin-
tas. Sin embargo, a pesar de las diferencias,
por defecto no
han decidido firmar un acuerdo de colabo-
ración en el que ambas saldrán beneficiadas
y en conjunto, toda la comunidad Linux.
E n esta misma sección, meses atrás ya
hablamos de este espinoso tema, la in-
tención de incluir en la siguiente versión de
dimensiones disponibles para GNU/Linux,
como Beryl o Compiz, no están todo lo
depurados que deberían para poder ser in-
Quizás la propia diferencia entre ambas
Ubuntu, Feisty Fawn, drivers propietarios. cluidos en una versión de producción de
y sus dos mercados objetivo tan distin-
tos han facilitado la adopción del acuer- La intención era clara, mejorar las posibili- una distribución.
do, ya que entre estas dos distribuciones, dades multimedia de la distribución, sobre En un futuro esperemos que no tenga
el número de potenciales usuarios solapa- todo en cuanto a capacidad gráfica para ni que darse la posibilidad de tener que
dos es reducido.
soportar el escritorio en tres dimensiones incluir drivers propietarios, ya que gracias
El acuerdo en sí consta de varios puntos.
A partir de ahora Linspire estará basa- o respecto a tarjetas inalámbricas. A su vez a la comunidad de software libre, será posi-
do en Ubuntu y no en Debian como hasta con esta decisión, Ubuntu daba un paso muy ble desarrollar driver libres para todos los
ahora. Aunque como todos sabéis Ubun- grande, incluir código cerrado en la instala- componentes hardware que existen. Pero
tu si está basado en Debian. La intención
ción por defecto. Es verdad que en la actua- a su vez entra aquí otro problema, si no se
es que Freespire, la alternativa gratuita de
Linspire también se beneficie de dichos lidad, y en un futuro, Ubuntu seguirá inclu- dispone de las especificaciones propias de
cambios. Las razones de por qué Linspire yendo drivers propietarios para determi- dicho componente, es un proceso casi im-
ha querido basarse en Ubuntu en lugar de nado hardware, sin embargo también es posible poder implementar un driver. Cada
en Debian, hay que buscarlas en la alta pe-
verdad que dicho hardware no tiene otra día parece que la política de más empresas
riodicidad con la que Ubuntu se actualiza
y la gran usabilidad de esta distribución. posibilidad de ser utilizado ya que no existe es proporcionar dichas especificaciones,
A cambio Ubuntu recibirá acceso al repo- alternativa libre. pero todavía no son todas y si lo fueran, se-
sitorio de Linspire, el llamado CNR (Clic- Los drivers que en un principio quería guramente no tendría ni sentido la noticia
k'n'Run), lleno de aplicaciones que se in-
incluir Canonical Ltd. a pesar de tener al- de la que estamos hablando.
stalan en un sólo click pero con gran canti-
dad de código cerrado. Esto amplia los ho- ternativas libres, eran mucho más potentes También hay que reconocer que las
rizontes y las posibilidades de Ubuntu. que éstas, por lo que en un principio a pe- empresas si no liberan las especificaciones
En definitiva un acuerdo en el que, a pe- sar de no ser absolutamente necesario, para es por intereses propios, nada podemos
sar de haber opiniones encontradas, se au-
ejecutar un entorno como Beryl o Compiz reprocharles, ya que su interés económico,
mentarán las posibilidades de Ubuntu,
gracias a la inclusión de la que quizás sea si que lo eran en determinadas tarjetas grá- al ser una empresa es claro, y no se dedican
la característica más importante de Linspire, ficas. (aunque algunas ayuden) a fomentar el
el CNR. Sin embargo, la filosofía de Ubuntu software libre, por desgracia.
http://www.ubuntu.com/news/
y del software libre en general, hacía que Esperemos que para la siguiente ver-
LinspirePartnership
http://www.linspire.com/ubuntupartnership dar este paso además de ser una decisión sión de nuestra querida distribución, que
dura incluía a Ubuntu en el grupo de distri- será la 7.10 si no hay problemas con el ca-
Ultimate Ubuntu 1.2
buciones GNU/Linux más o menos no lib- lendario como ya ha ocurrido en una oca-
Para quien no la conozca, decirle que Ulti-
mate Ubuntu, es una distribución deriva- res, como Linspire. A pesar de que no se ins- sión, la distribución disponga ya de una
da de Ubuntu, no podía ser de otra forma, talan por defecto, tras la instalación y con- entorno gráfico en tres dimensiones por
en la que a nuestra querida Ubuntu origi- figuración del sistema, la instalación de di- defecto, para poder rivalizar de manera
nal, se le han añadido gran cantidad de pa-
chos drivers es realmente sencilla. De esta directa en ese campo con Windows Vista.
quetes y soporte ya instalado. En concreto
se trata de Ubuntu Edgy Eft, con extras co- manera, que creo que es la más acertada por Si Ubuntu quiere atraer hasta al usuario de
mo gran cantidad de juegos, aMule, Gam- otra parte, se favorece tanto a los usuarios escritorio con menos experiencia informá-
bas, Amarok, Beryl, soporte para iPod. más inexpertos o aquellos que necesiten de tica, y que con programas como install.exe
En definitiva una más de las derivadas
grandes posibilidades para gráficos en tres que el mes pasado comentábamos, se esta-
de Ubuntu, pero que a más de uno puede
ahorrarle mucho trabajo y mucho tiempo, dimensiones, por ejemplo, y a su vez, los ba ganando; debe cuanto antes disponer
ahorrándonos tener que instalar posterior- puristas del software libre, saben que al ins- de mayores facilidades para instalar dri-
mente a la instalación y configuración de talar Ubuntu, no se instalará ni un ápice de vers propietarios y paquetes necesarios
nuestro sistema operativo, una gran canti-
software privativo más de lo estricta y ab- para el entorno. En la actualidad existen
dad de software y paquetes para realizar
tareas básicas que no vienen por defecto. solutamente necesario. gran cantidad de información en la red de
Sin embargo, a pesar de las ventajas que Siguiendo con el tema principal de la cómo hacer esto, sin embargo, el usuario
son claras, yo sigo prefiriendo instalar mi noticia, la no inclusión de los drivers pro- recién llegado de Windows, quiere todo
Ubuntu original e instalar los paquetes
pietarios, tendrá una serie de consecuencias. a un click de distancia y a pesar de que
que yo quiero, ya que además hoy en día
con la gran cantidad de posibilidades que La primera de ellas será la no instalación en muchos casos no sea la mejor solución,
hay, desde Synaptic a Automatix, no se por defecto del entorno gráfico en tres di- para llegar a ganar la batalla a la compañía
pierde apenas tiempo en instalar todo lo mensiones. Es verdad, que esta consecuen- de Redmond será necesario, al menos ofre-
necesairio.
cia no es sólo producto de la no inclusión cerlo en opción.
http://ubuntusoftware.info/ultimate/
index.html de los drivers propietarios, sino también es
consecuencia de que los entornos en tres

16 Linux+ 5/2007
w novedades
sección llevada por Samuel Pizarro Sliva debian@lpmagazine.org Debian

¡Debian Te necesita! El sistema de inscripción electoral de Nueva


Zelanda corre en Debian

M uchos ya saben que Debian es el sis- Así es, a la hora de confiar la información
tema madre de muchas otras distri- y de alta disponibilidad los grandes pro-
yectos terminan adoptando Debian
buciones, que es la distribución por exce- GNU/Linux, como es el caso del sistema
lencia de los usuarios más avanzados en de inscripción electoral de Nueva Zelan-
Linux y que goza de gran respeto no sólo da, el sistema consiste en dos cluster de
dentro de la comunidad Linux, sino que bases de datos Postgresql las cuales están
ubicadas en distintas localidades. Este
dentro de la comunidad GNU completa. Lo nuevo sistema reemplaza al sistema de
que no saben, es la cantidad de trabajo que bases de datos descentralizadas en Oracle
este proceso requiere, la cantidad de per- con interfaces de usuarios basadas en
sonas que son necesarias para coordinar Visual Basic. El nuevo sistema también
incrementa el número de participantes
y mantener un proyecto tan grande como de la votación, ya que automáticamente
Debian. Página de Debian para los desarrolladores
avisa acerca de los votos en curso.
De un tiempo a la fecha la cantidad de la consola. También puedes colaborar con
HP da soporte Debian a sus clientes
traductores, desarrolladores y traductores traducciones al español u otro idioma, este Los clientes de la línea de negocios
ha disminuido debido, principalmente a que proceso es muy importante ya que siem- de HP que opten por la opción Debian/
varios han preferido irse a Ubuntu, unos pre hay muchas cosas que traducir, pero GNU Linux ya tienen soporte de parte
pocos por dinero, otros por que Ubuntu les no es tan simple, primero debes leer un de esta empresa. Así lo anunció HP en
su página, gracias a esta decisión, los
ofrece la posibilidad de convertirse en de- par de rasgos característicos y convencio- clientes tendrán soporte vía e-mail o te-
sarrolladores más fácilmente que Debian nes que se utilizan en Debian para traducir lefónico para solucionar problemas que
y otros, simplemente porque les parece que por ejemplo, un documento del Inglés al tengan que ver con la gama de servidores
Ubuntu es mejor que Debian. Debido en Español. a los que HP da soporte Debian.
Lo anterior ha generado un debate acerca
parte a este problema, es que Etch ha demora- O quizás quieras comenzar el proceso de Debian ya que HP está embolsando
do su salida, se hace más lenta la revisión de de ser un desarrollador, para tal motivo, lo mucho dinero gracias al proyecto Debian,
paquetes, para que un paquete caiga a estab- primero que debes hacer es leer el rincón y en este minuto se está analizando si
le, debe cumplir con muchas y estrictas po- del desarrollador en http://www.debian.org/ debiera pedírsele algo a cambio.

líticas, es quizás eso lo que diferencie a De- devel/ y comenzar por tomar algún paquete DebConf 2008 en Argentina
bian del resto de las distribuciones, pero huérfano. Cabe destacar que debes tomar La conferencia anual de Debian del año
es eso también lo que hace que el proceso re- un paquete en el que tengas experiencia 2008 se llevará a cabo en la ciudad de
Mar del Plata, en Argentina durante la
quiera de muchas personas para poder dar programando o por lo menos tengas las ga- segunda y la tercera semana de agosto.
una distribución estable cada cierto tiempo nas de echarle mano al código fuente, ya que
Se crea sitio Debian.cl
a la comunidad. no siempre el programador original de la
El grupo de usuarios Debian Chile anun-
aplicación está disponible para programar- ció que ya se ha creado el sitio debian.cl,
¿Cómo participar? lo o programarlo exclusivamente para De- el objetivo de este sitio, es difundir el uso
Si te gustaría participar en este proyecto, bian. de Debian GNU/Linux en Chile, así como
también realizar actividades orientadas
aunque no seas experto en informática, es Si ya estás acostumbrado a Linux, ¿Qué
a capacitar a las personas en el uso del
sencillo hacerlo, basta con instalar Debian esperas para instalar Debian? ¡Debian Te ne- popular sistema.
Testing, o Unstable para los más osados en cesita!
Google Summer of Code 2007
tu PC e informar de fallos, errores, etc. Por
Debian ya creó un Wiki para coordinar
medio de la herramienta reportbug desde la participación de Debian en el Summer
of Code de Google, que se llevará a cabo
a finales de mayo.
HP gana U$S 25 Millones con Debian Instalador de Debian para Windows

H P, que anunció que haría justamente trabajando en certificar su hardware para la


eso el año pasado, ya está ganando próxima versióń Debian Etch, esperada pa-
U$S 25 Millones por brindar soporte para la ra maś tarde este mismo año.
El desarrollador Robert Millan, basándose
en el proyecto de instalador de Ubuntu
desde Windows, ha anunciado la dispo-
nibilidad de una versión para instalar
distribución Debian GNU/Linux, en lo que HP soporta tanto a Novell SuSE Linux Debian GNU/Linux desde los sistemas
podría llegar a convertirse en una amenaza como a Red Hat Enterprise Linux, pero es operativos de Microsoft. De esta manera,
directa para el negocio principal de Novell evidente que su márgen de ganancia es más la instalación de una de las más relevantes
distribuciones del panorama Linux se
y Red Hat. Esas ganancias corresponden para amplio con Debian, que al contrario que las
podrá realizar desde el escritorio de Win-
el año fiscal 2006 y sólo para la región de dos anteriores, es gratuito. dows. La herramienta incorpora la detec-
Europa, Medio Oriente y Africa, una cifra A pesar del éxito con Debian, es poco ción automática de arquitecturas de 64
que sorprendió hasta los mismos gerentes probable que HP agregue soporte para ot- bits, además de la descarga de los archivos
necesarios para la instalación por red o la
de HP. ras distribuciones próximamente.
configuración del gestor de arranque.
HP está soportando la actual versión es-
table Debian Sarge, aunque la empresa está

www.lpmagazine.org 17
w novedades
SUSE sección llevada por Esteban Negri linux@lpmagazine.org

OpenSUSE Build Service Instalando Beryl con drivers Nvidia


Novell libera esta maravillosa distribución
que provee una infraestructura ideal para en OpenSuSe 10.2
G Instalando Beryl+Emerald
el desarrollador de futuras distribuciones racias a la liberación de Compiz, en feb-
basadas en OpenSUSE. No solamente está
rero de 2006 la comunidad lo ha segui- Si lograste con éxito el paso anterior ahora
orientada a OpenSUSE, ya que posee he-
rramientas que permiten armar paquetes do desarrollando y han creado Beryl, el hijo estás listo para instalar Beryl y Emerald.
para distintas distribuciones (OpenSUSE, prodigio de Compiz, que es mucho más livia- Agregar el siguiente repositorio desde
SUSE LE, Debian, Ubuntu, Fedora, etc.). no y más fácil de configurar. yast: http://ftp.skynet.be/pub/software.opensuse.
Como si fuera poco posee Kiwi una he-
Nvidia es la mejor alternativa hoy en día org/X11:/XGL/openSUSE_10.2/X11:XGL.repo.
rramienta para armar live CD's, así los
desarrolladores pueden crear sus distribu- para instalar Beryl, ya que estas placas po- Instalar los siguientes paquetes:
ciones con gran facilidad. seen un buen soporte para GNU/Linux debi-
do a que los drivers se actualizan con fre- • beryl-core,
OpenSUSE 10.3 Alpha
Ya pueden descargar la versión alpha 10.3 cuencia. • beryl-plugins,
de OpenSUSE, entre otros cambios KDE • beryl-settings,
se actualizó a la versión 3.5.6, la versión Instalando el driver de Nvidia • beryl-manageremerald-themes,
del kernel es la 2.6.20 (la última estable
Hay dos maneras de hacer esto: instalarlo des- • emerald,
a la fecha) y OpenOffice.org se actualizó a la
versión 2.1.3. Según el roadmap se espera de yast o bajar el driver nativo e instalarlo ma- • emerald-themes.
que la versión final salga en septiembre. nualmente. Si con la primera opción, luego
Descarga: http://en.opensuse.org/ de instalar beryl ven que no funciona, puede Ahora se necesita decirle a xserver que utilice
Development_Version#Downloads.
ser que necesiten bajar el driver nativo, por composite:
Ballmer amenaza a los usuarios de Linux lo tanto explicaré las dos maneras de instala-
Según CNET, Steve Ballmer, CEO de ción. su
Microsoft, ha estado susurrándoles a los
nvidia-xconfig --composite
analistas de Nueva York su estrategia
respecto a la filosofía Open Source: será Desde Yast nvidia-xconfig --allow-glx-with-
mejor que hagan tratos con Microsoft an- Agregar el repositorio ftp://download.nvidia. composite
tes de que sea demasiado tarde. De hecho, com/novell/ desde Yast e instalar los paque- nvidia-xconfig --render-accel
citó el pacto con Novell como un ejemplo
tes x11-video-nvidia y nvidia-gfx-kmp-default. Re- nvidia-xconfig --add-argb-glx-visuals
perfecto de lo que los demás deberían
hacer. Ballmer volvió a repetir sus declara- iniciamos X presionando ctrl+alt+back-
ciones anteriores en las que afirmaba que space. Este comando lo que hace es agregar las lí-
el Código Abierto no es gratuito, y enfati- Y si todo ha salido bien ya tenemos insta- neas necesarias al archivo /etc/x11/xorg.conf
zando el hecho de que Microsoft podría
lado el driver de nvidia. para poder utilizar xgl.
demandar a diversos desarrolladores
y vendedores de Linux Reiniciar X y ejecutar beryl-manager. Si
Instalación manual ves que funciona bien, puedes hacer que se
Actualización de fetchmail para productos
Bajar el driver de nvidia ubicado en: ftp://down- ejecute al inicio de la siguiente manera.
Novell SuSE
Novell ha publicado una actualización load.nvidia.com/XFree86/Linux-x86/1.0-9631/.
para fetchmail que soluciona varios pro- Hay una versión más reciente y tam- GNOME
blemas de seguridad. Fetchmail es una bién hay versiones anteriores, si tienes una Ir a Sistema -> Preferencias -> Sesiones, en pro-
herramienta utilizada para descargar co-
placa no muy nueva y el proceso de ins- gramas al inicio agregar:
rreo electrónico de servidores y repartirlo
en diversas cuentas locales. Se trata de un talación no es exitoso deberías bajar una
servicio utilizado con asiduidad por admi- versión anterior, generalmente los proble- • beryl,
nistradores de sistemas con conexiones no mas en la instalación de Beryl se dan por • beryl-manager,
permanentes a Internet.
no tener instalado el driver de vídeo ade- • emerald.
Si fetchmail está configurado en modo
multidrop, un atacante remoto podría cuado.
provocar una denegación de servicio si Abrir una consola apretando ctrl+ KDE
se envían mensajes especialmente mani- alt+f1, ingresar username y password, lue-
pulados. Fetchmail no comprueba correc-
go dirigirse a la ubicación del driver y ti- ln -s /usr/bin/beryl-manager $HOME/
tamente TLS bajo ciertas circunstancias
y podría permitir el tránsito de contra- pear: .kde/Autostart/beryl-manager
señas en texto claro, lo que permitiría a ln -s /usr/bin/beryl $HOME/.kde/
atacantes obtener información sensible. sudo killall gdm/kdm Autostart/beryl
A la hora de rechazar un mensaje recibido
(según la interfaz que ln -s /usr/bin/emerald $HOME/.kde/
a través de la opción mda, un atacante po-
dría provocar una denegación de servicio tengan instalada) Autostart/emerald
a través de vectores desconocidos cuando sudo sh NVIDIA-Linux-x86-1.
se llama las funciones ferror o fflush. 0-9631-pkg1.run Si todo ha salido bien ya tienes Beryl insta-
Se recomienda actualizar a través de la
lado y podrás jugar un buen rato rotando
herramienta automática YaST Online
Update (YOU). Para estos dos comandos deberás ingresar tu el cubo 3D y moviendo las ventanas gela-
password. Una vez realizada la instalación, tinosas.
reiniciar el gestor gráfico.

18 Linux+ 5/2007
w novedades
sección llevada por Diego Rivero Montes linux@lpmagazine.org Fedora

NVIDIA y AIGLX en FC6 Fedora Core 7 test 1


Fedora 7 test 1 fue puesta a disposición

A ver cómo instalamos el último driver Ahora estaremos de nuevo en otra consola del público este 1º de febrero. Según la
de NVIDIA para que pueda trabajar en modo texto y entraremos de nuevo como fuente a la que se ha tenido acceso, para
este lanzamiento particular, únicamente
como debe en AIGLX. root. Nos vamos al directorio en el que hemos se ha realizado un escritorio y una colec-
Lo primero es preparar el kernel-source. almacenado el driver por ejemplo el /tmp, ción de paquetes. Por el momento aún se
Para ello seguiremos los siguientes pasos haciendo : está en fase de realizar las correspondien-
y así evitar que se nos fastidie la instalación tes puestas a punto y afinar la fusión del
Core con los Extras. También se encuentra
por cualquier tontería: cd /tmp y ./NVIDIA-Linux-x86-1.0-9746-
un CD instalable que todos estábamos
pkg1.run deseando probar. En la siguiente dirección
• Nos ponemos en modo consola, abrien- http://fedoraproject.org/wiki/Releases/7
do un terminal y entramos como root. (por supuesto si el nombre del fichero es otro se pueden encontrar los detalles más
frescos sobre los trabajos del séptimo
• Escribimos cd usr/src/kernels/2.6.18-1.2798. debemos sustituirlo por el nombre apropia- lanzamiento de FEDORA.
fc6-i686/ (sustituir 2798 por tu versión do del archivo).
del núcleo, que probablemente será más La instalación preguntará si utiliza ftp Actualización de SpamAssassin
Ha sido lanzada la versión 3.1.8 del
nuevo). para un módulo, teclearemos no. Dejáis com- conocido filtro de Spam para el email
• Ahora volvemos a escribir cd include/ pilar el módulo. También hay que permitir que se puede invocar por agentes de re-
linux. que cambie el archivo de xorg.conf. parto del correo.
• Creamos un enlace simbólico al archivo SpamAssassin es una aplicación que nos
provee de una manera de reducir, si no
autoconf.h y lo llamamos config.h. lo que Cargando el módulo eliminar totalmente, esos correos que
se hace con el siguiente comando: ln -s Ejecutar modprobe nvidia. El módulo nvidia nos saturan nuestra bandeja de entrada
autoconf.h config.h. debe cargar sin dificultad. y que no provienen de nadie que nosotros
Ahora vamos a editar el archivo /etc/X11/ conozcamos o que hayamos solicitado,
en definitiva lo que se llama Spam.
Ahora se puede compilar correctamente el xorg.conf con VIM o tu editor favorito y agre- La aplicación puede ser invocada por un
módulo para el driver de NVIDIA. gar o cambiar lo siguiente: MTA tal como sendmail o postfix, o puede
ser llamado a través de un script de pro-
Trabajando con Internet Section "Extensions"
cmail, archivo de .forward, etc. Utiliza un
algoritmo-genético de sistema desarrollado
Ahora hay que hacer trabajar nuestra co- Option "Composite"
para identificar los mensajes que parecen
nexión con Internet y descargarnos la úl- EndSection spam, entonces, agrega cabeceras a los
tima versión del driver NVIDIA, que para mensajes y así de este modo pueden ser
las fechas en las que se está escribiendo este En la sección device, agregar: localizados y filtrados por el software
de lectura de correo del usuario. Esta
artículo, el último es el 9746. La descarga se distribución incluye los componentes de
puede hacer directamente desde el sitio de Option "AddARGBGLXVisuals" "True" spamd/spamc los cuales crean un servi-
NVIDIA http://www.nvidia.com/object/unix. dor con una considerable velocidad de
html. En el Module section, añadimos: proceso de correo.
Para activar spamassassin, si estás re-
El driver lo vais a encontrar de la siguien- cibiendo el correo localmente, deberás
te forma: es un archivo como NVIDIA-Linux- Load "extmod" agregar simplemente esta línea a tu
x86-nombredriver.run, el actual es NVIDIA-Li- ~/.procmailrc: INCLUDERC=/etc/mail/
nux-x86-1.0-9746-pkg1.run. La prueba de fuego spamassassin/spamassassin-default.rc.
Para filtrar el Spam para todos los usua-
Ahora lo copiamos a un directorio, por Introducir el comando siguiente para volver rios, agregar esa línea a /etc/procmailrc
ejemplo /tmp. a las X: (en caso de necesidad).
Hacemos el archivo ejecutable por root, Para descargarnos esta actualización po-
introduciendo el siguiente comando: /sbin/telinit 5
demos hacerlo desde: http://download.fedora
.redhat.com/pub/fedora/linux/core/updates/6/

cd /tmp Ahora si todo ha ido bien debes ver el logo Fedora Core 6 Re-Spins
chmod 755 NVIDIA-Linux-x86- de NVIDIA mientras el servidor X está ini- Fedora relanzó en enero la nueva Iso,
Re-Spins tanto en versión DVD como en
nombredriver.run ciándose. Abre un terminal y haz el login CD. Estas nuevas ISOs, de Fedora Core 6
como usuario normal, no como root y ejecuta: contienen todas las actualizaciones com-
(¡Atención sustituir por el nombre de fichero prendidas desde el lanzamiento de ZOD
apropiado!) desktop-effects
hasta el día 11 de enero de 2007. Las imá-
genes de disco están disponibles para las
arquitecturas habituales, léase, i386
Ahora a instalar Click on enable. y x86_64 vía BitTorrent, comenzándose
Estamos en un terminal y como root teclea- Una última advertencia, sería inteligen- el 18 de enero de 2007. Según la noticia
mos: te guardar el archivo que hemos descarga- las imágenes de PPC, seguirían en un
plazo de cinco días por lo que a estas
do ya que cada vez que cambies el núcleo alturas deben estar más que disponibles.
/sbin/telinit 3 vas a tener que recompilar el módulo de
NVIDIA.

www.lpmagazine.org 19
w novedades
Mandriva sección llevada por Juan Gamez mandriva@lpmagazine.org

Firefox 2.0
Ya está disponible para Mandriva 2007.0 Los proyectos de Mandriva
M
la esperada versión 2.0 del navegador andriva no solamente se dedica a pro- herramientas para visualizar logs, lista
Firefox. Hasta ahora nos teníamos que porcionarnos nuestra distribución fa- negras, etc.
conformar con la versión 1.5.0.9 de
este popular navegador web, aunque
vorita, también está involucrada en numero- • Kiosk: Una de las grandes apuestas de
la versión 2.0 llevaba bastante tiempo sos y muy diversos proyectos. El objetivo del Mandriva. Mandriva Kiosk es un catá-
a disposición de los usuarios. artículo de este mes es presentaros estos pro- logo de software basado en web que
Esta nueva versión de Firefox está dis- yectos, algunos muy conocidos y otros que permite navegar dentro de grupos de
ponible dentro de los paquetes backpor-
ts del repositorio media. Como sabéis
seguro os sorprenderán. Vamos a iniciar el software e instalar las aplicaciones con
estos repositorios proporcionan nuevas viaje por estos proyectos: un simple clic, facilitando añadir o ac-
vías de producción para los mantenedo- tualizar grupos complejos de software.
res y acceso a los usuarios a versiones • BackPorts: El objetivo de este proyecto es Para acceder a este servicio es necesa-
de software más actuales.
portar paquetes de Mandriva a otras dis- rio el pago de una cantidad anual, este
Warly sale de Mandriva tribuciones o bien a versiones antiguas servicio es gratuito para los miembros
Leemos en Blogdrake (http://blogdrake. de Mandriva. del Mandriva Club.
net9) que Florent Villard, o Warly, como
se le conoce en la comunidad de Man- • Drakwizard: Mandriva está trabajando • Metisse: Es un gestor de ventanas que
driva, ha anunciado su partida de la en mejorar y ampliar los asistentes que aprovecha toda la potencia de 3D. Da-
compañía. ofrece a sus usuarios que sirven de ayu- do que lo comentamos el mes anterior
Warly entro en Mandriva en el año da en la instalación y configuración de no vamos a extendernos en él. Podéis
1999 a través de Gael Duval, ha estado
encargado de la gestión de la creación ciertas aplicaciones. En este momento encontrar más información en http://
y liberación de la línea de productos se está trabajando, entre otros, en los asi- www.mandriva.com/es/projects/metisse.
de consumo de Mandriva desde la stentes para Apache, servidor DNS y DH- • NEPOMUK: Mandriva participa en este
Mandrake 7.0. También se encargaba CP, servidor de archivos NFS y FTP, ser- proyecto que busca fortalecer el soft-
de mantener el Bugzilla de Mandriva,
así como de varios paquetes y parches vidor de correo, Samba y proxy. ware de escritorio aportando carac-
de la distribución. • EasyWifi: En este proyecto se agrupan terísticas sociales y semánticas con el
Con él se va uno de los miembros histó- todas las utilidades y herramientas pa- propósito de a su vez crear una comu-
ricos de Mandriva al cual le deseamos ra las redes inalámbricas. Se está traba- nidad amplia bajo la idea de escritorio
toda la fortuna en la nueva etapa que
ahora comienza. jando en un interfaz de usuario más social semántico. La página web del
simple para detectar, configurar y co- proyecto se encuentra en: http://nepom
MCNLive VirtualCity nectar a redes inalámbricas. uk.semanticdesktop.org/xwiki/.
MCNLive es una nueva distribución,
una iniciativa de usuarios de Mandriva • EDOS: EDOS (Environment for the deve- • Propolice: Esta herramienta hace que los
de Holanda, que se puede ejecutar desde lopment and Distribution of Open Source binarios obtenidos después de una com-
un Pendrive de 512 Mb o en forma software) es un proyecto para el desarro- pilación estén protegidos contra ata-
de un LiveCD. Su última versión, MCN- llo y distribución de software libre. La ques de tipo buffer overflow. La pro-
Live VirtualCity, está basada en Man-
driva 2007 e incluye las siguientes no- finalidad de este proyecto es mejorar la puesta es que el compilador GCC pro-
vedades: El software de virtualización calidad de las distribuciones de software porcionado por Mandriva adopte el ar-
VirtualBox OSE viene preinstalado. Se libre. Este proyecto de investigación está gumento incluyendo esa protección por
pueden crear imágenes de discos virtua- financiado por la CEE. Podéis encontrar defecto.
les y ejecutar imágenes existentes en el
disco rígido. Se agregó un script especial más información en: http://www.edos- • Testziller: Esta herramienta se utiliza ca-
para usar discos Flash con MBR's no project.org/xwiki/. da día más como forma de enviar y do-
válidos. • FreeSoftware: La comunidad de Mandri- cumentar los errores, problemas y bugs
Mandriva abre oficinas en Lagos, Nigeria va está involucrada en varios proyec- que podemos encontrar en Mandriva
Como parte de su compromiso de ayu- tos de software libre, entre otros pode- Cooker. Testziller es, junto a Bugzilla, la
dar a disminuir la brecha digital y hacer mos citar: Alexandria, DKMS, Frozen clave para realizar los tests y mejoras
que las TIC (Tecnologías de la Información
Bubble, Gnome, Koffice, KDE, Perl, Sam- a Mandriva Cooker.
y la Comunicación) sean asequibles
y estén disponibles para la población ba, etc. Estas contribuciones demues- • MandrivaEducation: Ésta es una versión de
del oeste africano, Mandriva, ha alcan- tran el alto compromiso de Mandriva la distribución Mandriva pensada para
zado un acuerdo para establecer una con el software libre. el uso en las aulas de colegios e insti-
compañía filial, Mandriva Linux West
• Interactive Firewall: Se está diseñando tutos.
Africa, cuya sede está en Lagos, Nigeria.
La meta de Mandriva Linux West Africa un cortafuegos interactivo para alertar
es proporcionar la distribución local de a los usuarios de las intrusiones o, en Como se puede ver, Mandriva está involu-
Mandriva Linux y otras aplicaciones general, de cualquier suceso que ocu- crada en múltiples proyectos, tanto para me-
integradas de código abierto en inglés
rra en su red. Este proyecto integra jorar nuestra distribución como para aportar
y francés a lo largo de toda la región del
oeste de África. a varios componentes de software co- su colaboración en proyectos de software.
Mandriva Linux West Africa empezó mo iptables, ipset y net_applet entre ot- Podéis encontrar más información sobre
a operar en febrero de 2007. ras. Presenta una interfaz gráfica que todos estos proyectos en el wiki de Mandri-
nos notifica las incidencias, así como va: http://wiki.mandriva.com/Projects.

20 Linux+ 5/2007
Club Pro
w
AVANZADA 7
www.avanzada7.com
Avanzada 7 es una empresa de in- Peopleware
geniería especializada en soluciones www.Peopleware.es
VoIP basadas en tecnología Open Administradores de Sistemas yBases
Source Linux-Asterisk. Disponemos de Datos. Desarrollos técnicos en
de una amplia gama de productos C++, Java y Pro*C. Proyectos Soft-
para VoIP y ofrecemos servicios de ware Libre.
consultoría pre y post venta para so-
luciones de voz basadas en Asterisk

Centro de Formación
Aulacor
http://www.aulacor.org Protalia
El Centro de Formación Aulacor es- www.protalia.com
tá especializado en la impartición de Consultoría general de informática de
cursos de Linux e Informática, en mo- Empresas orientada al Software Li-
dalidad e-learning y con certificado bre. Nuestra actividad está especiali-
acreditativo de superación. Para ob- zada en la migración desde sistemas
tener más información sobre nuestro propietarios a GNU/Linux en entornos
catalogo de acciones formativas pu- empresariales.
ede visitar nuestra web o llamar al te-
léfono 902 886 937.

Gestión
Cuatrocientos UTOPIUX - MURCIA
www.utopiux.com
www.gestion400.com
Companía de servicios informáticos,
S.L. Gestión Cuatrocientos, desarrolla
especializada en soluciones Linux
aplicaciones Java de gestión para la
y Windows. Desarrollo de portales cor-
Administración Local y presta servi-
porativos e intranets con últimas her-
cios de Asistencia Técnica. Desde
ramientas de gestión de contenidos.
el Registro de Entrada hasta el SICAL
Implantación de servidores de correo,
pasando por la Gestión de Expedien-
web, bases de datos y ficheros. Co-
tes y la Gestión Tributaria y Recau-
nectorización y certificación de cable-
dación. Las aplicaciones funcionan
ados. Partner HP y 3COM.
en Linux.

SYS4NET
Ibermachines Hospedaje Web
Sistemas www.sys4net.com
Alojamiento web y registro de domi-
OpenSource nios, con alta inmediata. Planes Win-
www.ibermachines.com/ dows y Linux. ASP, .NET Framework
Soluciones informáticas libres para 1.1 y 2.0, PHP, Perl, MySQL, Micro-
empresas. Consultoría en sistemas de soft SQL. Panel de control: Helm
código abierto, tales como GNU/Linux y DirectAdmin. Cuentas de correo ili-
y FreeBSD. Mantenimiento de redes mitadas en todos los planes. Servido-
y servidores. res de alto rendimiento. A partir de
3.95 € mensuales! Sin costes ocultos.

Inittab Igarcom Internet


http://inittab.com, agi@inittab.org www.igarcom.com
Soluciones en Software Libre y GNU/ Igarcom Internet sl es un registra-
Linux. Formación, consultoría, soporte dor oficial .ES y colabora con el
técnico y mantenimiento de servido- Centro de Alerta Temprana Antivitus
res. Cursos a medida de Linux, Apa- de INTECO. Entre los servicios que
che, Mysql, Samba y seguridad. Su de- ofrecemos están alojamiento web
partamento de sistemas en manos de compartido, servidores dedicados
expertos en Software Libre. Instala- y housing desde nuestros propios
ción de servidores de ficheros/impre- servidores, situados en el Centro de
sión, web/correo, Intranet. Datos Banesto en Madrid
w entornos gráficos de trabajo
Entornos gráficos minimalistas

Entornos gráficos
de bajo consumo
David Alverez García

Los entornos gráficos minimalistas son aquellos que


consumen muy pocos recursos del sistema, tanto CPU
como memoria RAM, permitiendo el uso de Linux con
máquinas antiguas para escritorio o incluso trabajar.
Este tipo de entornos son con mucha asiduidad usados
por desarrolladores, gente experta o con cierto curtimiento
en el mundo Linux debido a que ofrecen una gran velocidad
de procesamiento, poco consumo de memoria RAM y son
simples, lo cual implica menos bugs, son fáciles de usar por
norma y la mayoría son muy configurables para cualquier
tipo de tarea.

N
o es necesario tener una máquina antigua dos las mismas funcionalidades. Para eso haremos una
linux@software.com.pl

para usarlos, en máquinas modernas estos prueba de concepto arrancando y explicando por separa-
entornos gráficos vuelan y como se dijo an- do el servidor de gráficos, el window-manager y el escri-
teriormente son muy usados por ciertas co- torio.
munidades en el mundo Linux. Son perfectos para orde- El servidor X11, es un sistema de visualización de
nadores portátiles, donde el uso de un ratón o una satura- gráficos (graphics display system) con arquitectura clien-
ción de iconos en la pantalla puede llegar a producir una te-servidor, este tipo de arquitectura permite por ejemp-
sensación molesta y complicar la realización de determina- lo poder cargar el escritorio de forma remota en red có-
das tareas. Al consumir menos recursos también vela por modamente. El servidor gráfico permite a las aplicacio-
la durabilidad de la batería, siendo una gran elección para nes (clientes) dibujar píxeles, líneas, texto, imágenes,...
este tipo de máquinas. en la pantalla. El servidor incluye bibliotecas adiciona-
En Linux el entorno gráfico en sí, como ya sabemos es les que permiten a las aplicaciones dibujar interfaces
la suma de un servidor, llamado X11, más unos clientes
que se conectan a él, los cuales se encargan de dar ese
ambiente amigable para el uso del sistema operativo. Los Sobre el autor
clientes que encontramos para el servidor gráfico (X11) que
David Alvarez es Técnico superior en desarrollo de apli-
forman un escritorio completo, un entorno gráfico propia-
caciones Informáticas y estudiante de CISCO SYSTEMS.
mente dicho, son los controladores de ventanas (Window-
Trabaja como técnico de emergencias en hispaservices,
manager) y los escritorios (Desktop).
administrador del hosting spikap y encabeza el desa-
Es importante conocer y distinguir los conceptos
rrollo del proyecto Web cineando. Es admisnitrador de
servidor gráfico, window-manager y Desktop, distinguir
sitios como tuxhuellas.com y todo-linux.com.
estos dos últimos muchas veces es confuso, al ofrecer los

22 Linux+ 5/2007
w entornos gráficos de trabajo
Entornos gráficos minimalistas

muchas veces haya problemas con la desapa-


rición de marcos de las ventanas a la hora de
usar temas de escritorio.
Para terminar tenemos los escritorios,
como son KDE, Gnome, Xfce, 3D-Desktop
y alguno más, éstos aportan funciones de
trabajo adicionales a las aplicaciones y ges-
tores de ventana para que su apariencia
y comportamiento sean visualmente más
atractivas y consistentes. Se podría enten-
der como otro añadido más al conjunto ser-
vidor gráfico + windows-manager. Vamos
a arrancar sobre el actual X11+ fluxbox un
escritorio, en este caso Xfce, para ver qué
aporta:

$ xfce4-session

Como vemos el Desktop Xfce ha añadido fun-


cionalidades y embellecido ciertos aspectos
del window-manager. Este proceso de arran-
Figura 1. Icewm, uno de los window-managers más populares
que del servidor gráfico (X11) junto al gestor
de usuario (campos de texto, botones, etc..). Como vemos, se han añadido marcos a las y al desktop, lo hace automáticamente el co-
Para nuestra prueba de concepto si sola- ventanas, menús desplegables y otro tipo de mando startx de forma totalmente transpa-
mente queremos ejecutar el servidor X11 propiedades que hacen usable las aplicacio- rente al usuario.
sin ningún añadido más, se debe usar el co- nes en pantalla. Sin gestor de ventanas no se Esta prueba de concepto si queremos ha-
mando: puede trabajar ya que las ventanas dibujadas cerla con el escritorio KDE, debemos modi-
por el servidor X11 no permiten moverlas de ficar una de las variables globales siempre
$ xinit xterm sitio, no permiten prácticamente interacción antes de la ejecución de startkde:
con el usuario, por lo que se necesita un win-
El cual nos mostrará una pantalla negra, po- dow-manager que las gestione. $ export KDEWM=openbox
demos encontrarla de otros colores, con una Window-managers conocidos: Fluxbox,
xterm (solamente el contorno) como pode- Twm, Icewm, Enlightenment,... No podemos hacerla como comentamos an-
mos ver en la Figura 1. Cuando se usan themes de escritorios co- teriormente en la prueba de concepto ya que
Un gestor de ventanas no es un Desktop mo puede ser Gnome o KDE, realmente se KDE arrancará por defecto su propio win-
(Entorno gráfico) pero algunos sí ofrecen modifica la apariencia del window-manager dow-manager, sustituyendo al que tengamos
funciones parecidas y muchas veces igua- que corre por debajo del desktop, de ahí que corriendo a la hora de ejecutarlo.
les. Corren como cliente sobre un servidor
gráfico (X11). Son los encargados de generar
los marcos de las ventanas, barras de título,
botones de cierre y minimizado, también
aportan funcionalidades como menús des-
plegables (pop-up), muelles (docks, como el
de quartz), botones lanzaderas (para abrir
documentos, aplicaciones o menús). Todo
esto gracias a las librerías y funcionalidades
que el servidor gráfico aporta.
Los gestores de ventanas son como cual-
quier otra aplicación cliente, se comunican
con el servidor X a través de los mismos
canales que las aplicaciones clientes que
corremos habitualmente (xterm, Firefox,
Amarok, etc...). Para entenderlo mejor, una
vez tengamos arrancado el servidor X11 y la
xterm, sobre ella corremos el siguiente co-
mando para arrancar el windows-manager
Fluxbox:

$ fluxbox Figura 2. Window-maker, estable y robusto, todo un clásico

www.lpmagazine.org 23
w entornos gráficos de trabajo
Entornos gráficos minimalistas

ción. Tiene una facilidad de uso media y su


licencia es GPL.
Web: http://www.nongnu.org/epiwm/

Compilación:

$ gunzip -c epiwm-*.*.*.tar.gz | tar


xvf -
$ cd epiwm-0.5.6
$ ./configure
$ make
# make install-strip

WindowMaker
Este entorno es más conocido por la gente del
mundo Linux y viene muchas veces instalado
en distintas distribuciones. Su uso de CPU, co-
mo de RAM es mínimo, algún kb más que el
anterior, rozando el megabyte como Epiwm.
Es configurable y fácil de usar por cualquier
usuario. Este gestor de ventanas puede ser usa-
Figura 3. Twm, el padre de muchos otros gestores de ventana
do por escritorios KDE o GNOME sin prob-
El gestor de ventanas: Kwin es el corres- res de ventana se pueden usar sin un Desktop lemas y tiene buena variedad de temas a ele-
pondiente al escritorio Kde, en Gnome encon- proporcionándole funcionalidades, los que se gir.
tramos el gestor de ventanas Sawfish (Saw- pueden usar de una manera fácil y sin nece- Web: http://www.windowmaker.info/
mill). Ninguno de los dos es muy usable sin el sidad de añadirle nuevas características se les
escritorio por encima de ellos, están pensados denomina Entornos gráficos minimalistas. Compilación:
para correr con su respectivo escritorio por Vamos a nombrar algunos de ellos (hay
encima. más de 40) por orden de consumo de RAM $ ./configure --enable-modelock
Como dijimos antes los mal llamados en- ascendente: $ make
tornos gráficos minimalistas son gestores de # make install
ventanas usables, que no requieren de un desk- Epiewm # ldconfig
top para ser funcionales y amigables al usuario. Entorno poco conocido creado por la Escue-
Esto se debe a que verdaderamente son ellos la de Ingeniería Informática EPITA, es muy Blackbox
los que se encargan de proporcionar al usuario simple y rápido, su uso de RAM no llega Anteriormente era muy popular, pide ba-
las posibilidades básicas para un óptimo uso de ni a cubrir 1 Mb. No es muy configurable ni jos requerimientos de hardware, (de 1.5Mb
las aplicaciones en pantalla. No todos los gesto- vistoso. No ofrece demasiada documenta- a 2Mb de RAM). No comparte código con
ningún otro Window Manager,está progra-
mado en C++ y su licencia es GPL. Da sopor-
te para gradientes y múltiples escritorios.
Es de muy fácil uso y tiene un gran sistema
de configuración con sistema para añadir
Addons, themes, teclas de acceso rápido
a aplicaciones, mucha documentación, etc.
Se le puede dar un aspecto muy agradable
con poco esfuerzo.
Web: http://www.blackbox.es/

Compilación:

$ ./configure
$ make
# make install

Icewm
Uno de los mejores y más populares win-
dow-manager que existen para plataformas
UNIX. Es muy configurable (capacidad pa-
Figura 4. Fluxbox, Mejorando a Blackbox en muchos aspectos ra themes) y vistoso, no tanto como puede

24 Linux+ 5/2007
w entornos gráficos de trabajo
Entornos gráficos minimalistas

Compilación:

$ ./configure
$ make
# make install

Fluxbox
Este es uno de los entornos minimalistas más
solicitado por la comunidad de usuarios. Po-
demos encontrarlo por defecto en distros
como Fluxbuntu, orientadas a máquinas con
pocos recursos. Es un derivado de Blackbox
y permite ser configurado un poco más a fon-
do que el padre, permite el uso de themes
y estilos de Blackbox. Puede usar transparen-
cias y soporta esquinas redondeadas, tiene
muy buena documentación y podemos usar
Idesk para incluir iconos. De los mejores wm
para UNIX.
Web: http://fluxbox.sourceforge.net/

Figura 5. AfterStep, liviano y muy elegante


Compilación:
ser Blackbox pero icewm es para muchos, la $ make
mejor alternativa debido a su gran facilidad $ su $ ./configure
de uso, configuración, soporte y consumo $ make install $ make
de recursos, ocupa unos dos megabytes # make install
de RAM. FVWM
Web: http://www.icewm.org/ Derivado de TWM, consume un poco más AfterStep
que su padre pero permite una mayor con- Uno de los windows-managers más elegan-
Compilación: figuración y una visualización más traba- tes y poco conocido de todos, realizado por
jada con posibilidad de añadirle módulos los desarrolladores de la conocida aterm. Es-
$ ./configure variables y temas de menús. Tiene mucha te gestor de ventanas está basado en Fvwm
$ make documentación y su desarrollo sigue en pie y tiene una apariencia similar a NeXTSTEP.
# make install y avanza rápidamente. Es muy configurable y de uso no demasiado
Web: http://www.fvwm.org/ complicado pero sí hace falta estar un tiem-
TWM po para hacerse con los mandos completa-
(Tom's Window Manager)
Gestor de ventanas conocido por venir por
defecto en distribuciones como FreeBSD
y Slackware como lo mínimo a tener para
poder hacer uso del sistema. Es de muy fácil
uso pero de aspecto feo y anticuado. Tiene
algunas opciones de configuración pero no
demasiadas, es importante decir que aun-
que sean entornos muy simples, con un fon-
do y tres aplicaciones de pantalla se les pue-
de dar aspectos vistosos como el de la foto.
Es un gestor muy importante ya que es la
base de muchos otros gestores como son
vtwm, tvtwm, CTWM y FVWM. Su consumo
de RAM sobrepasa un poco el de los 2 me-
gabytes.
Web: http://www.vtwm.org/

Compilación:

$ tar zxvf vtwm.*.tar.gz


$ cd new-vtwm-dir/
$ xmkmf -e Figura 6. El único Desktop considerado minimalista

www.lpmagazine.org 25
w entornos gráficos de trabajo
Entornos gráficos minimalistas

No explicaremos su compilación porque es


extensa y podemos encontrarlo en los repo-
sitorios fácilmente.
Web: http://www.xfce.org/

En los pertinentes repositorios y distribucio-


nes se encuentra un gran número de ellos
para no tener que compilarlos, pero no se
tendrán las últimas versiones y realmente no
son difíciles de instalar ya que no requieren
casi dependencias.
Como podemos ver tenemos varias al-
ternativas de escritorio para todos los gus-
tos a poder usar en máquinas arcaicas del
estilo 486 o incluso más antiguas. Si se usan
varios gestores de ventana o simplemente
queremos poder seleccionar cuál arrancar
al iniciar las X, sin tener que recurrir a los
típicos xdm, kdm y gdm, tenemos aplica-
ciones del tipo selectwm, la cual nos mues-
tra una lista con los window-manager que
tengamos instalados para seleccionar en el
inicio.
Figura 7. Fvwm, agilidad y versatilidad con poco consumo
Muchos de los gestores de ventana ya
mente. Tiene efectos visuales curiosos y op- ger y su consumo de RAM asciende a los ofrecen la opción de cambiar en caliente
ción de usar themes y según arranca propor- 15 Mb aproximadamente. Es muy configu- a otro, siendo éste un proceso muy fácil de
ciona todo lo necesario a golpe de ratón, fa- rable y muy atractivo visualmente. Es el en- realizar, simplemente paran el proceso del
cilitando su uso. torno gráfico por defecto en Xubuntu y Dream- gestor de ventanas actual que corre sobre
Web: http://www.afterstep.org/ linux. Recomendable para personas que no X11 y arrancan el otro, sin necesidad de
quieren dejar de usar un entorno gráfico pro- reiniciar todo el servidor gráfico.
Compilación: piamente dicho pero sin consumir demasia- Una buena Lista de Window-Manager
dos recursos. Por ejemplo Escritorios como la encontramos en: http://www.linux.org/apps/
$ ./configure Kde y Gnome tienen un mínimo aproxima- all/GUI/Window_Managers.html.
$ make do de consumo de 70 Mb no siendo consi-
# make install derados como minimalistas lógicamente.
# mv ~/.xinitrc ~/xinitrc.old
# echo afterstep > ~/.xinitrc

PerlWM
Construido enteramente en lenguaje perl
usando el modulo X11::Protocol, es uno de
los más curiosos y simples de los que po-
demos encontrar. No tiene casi opciones
de configuración y se hacen por medio
de modificaciones al script perl , pero está
bien documentado en la web del proyecto
y no deberíamos tener muchos problemas.
Sin duda el más simple y curioso de todos.
Su consumo de RAM ronda los 5 Mb.
Web: http://perlwm.sourceforge.net/

No requiere compilación, solamente ejecutar:

$ ./perlwm

Xfce
Al contrario que el resto, Xfce es un autén-
tico Escritorio (Desktop) de los considerados
minimalistas, pero no es un window-mana- Figura 8. Blackbox, Escritorios virtuales 100% configurables

26 Linux+ 5/2007
w entornos gráficos de trabajo
Entornos gráficos minimalistas

www.lpmagazine.org 27
w test
Las impresoras multifunción

Las impresoras
multifunción
Lesby Francisco Torres

Lesby Francisco Torres tiene 23 años, es Ad- LFT: Uno de los puntos es la calidad fotográfica de impresión.
ministrador de Sistemas en Aguas de San Pe- L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
dro S.A. de C.V, Pasante de la Lic. en Informá- LFT: El alto costo de la copia a color
tica Administrativa en la UNAH-VS y miem L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
bro de la comunidad www.linuxmaya.com en LFT: http://www.latin.epson.com, si, la verdad nunca he hecho uso de él.
Honduras. L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmente?
LFT: Sí, sobre todo a los ejecutivos y secretarias que no hacen
un uso cuantioso de ella.

L+: ¿Nombre de la impresora y empresa productora? Evaluación del producto de 7/10


LFT: Epson CX 4500
L+: Precio aproximado
LFT: 125 dólares
L+: ¿Utilizaba antes otra?, ¿cuál??
LFT: No.
L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
LFT: Impresora, fotocopiadora y scanner dentro del trabajo
L+: ¿El producto ha cumplido sus expectativas?
LFT: Si
L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?

John Mackay

John Mackay es Diseñador Gráfico, Director material promocional, de los cuales no se disponen los archivos
de la Revista Autocambio, Fedora Ambassa- originales, se llevan un programa de edición de vectores para usar-
dor en entrenamiento, Pasante de la Lic. en lo de plantilla y dibujar encima. En casa funciona como un apa-
Diseño Gráfico en la Universidad Tecnológica rato sin necesidad de computadora, para hacer copias rápidas de
Centroamericana. documentos, e impresiones de la cámara digital (no tiene pantalla
a color, pero imprime una hoja con thumbnails de lo que hay en el
stick de memoria de la cámara, tú las marcas, y se la das a leer por
el scanner para que imprima solamente lo seleccionado).
L+: ¿El producto ha cumplido sus expectativas?
L+: ¿Nombre de la impresora y empresa productora? JM: Pues cuando funciona, lo hace bien (solamente en Windows
JM: Canon Pixma MP130 puedo usar el scanner).
L+: Precio aproximado L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?
JM: US$ 100.00 JM: Muy fácil de usar (hago énfasis en la facilidad de uso, mi abue-
L+: ¿Utilizaba antes otra?, ¿cuál?? lita aprendió a usarla y no ha tocado jamás una PC). Costo por hoja
JM: No usaba ninguna multifuncional. bajo comparado con modelos del mismo rango de precios de otras
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo marcas.
de elegir esta marca? L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
JM: No fue una buena decisión, el soporte para Linux es un asco, JM: Añadir soporte completo para Linux.
el driver solamente reconoce la parte de impresora del multifun- L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
cional. A pesar de todo, se reconoce que es un dispositivo muy JM: Solamente para Windows. No estoy satisfecho.
económico con el costo de los cartuchos y el rendimiento por L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmente?
hoja. JM: A nadie que use Linux.
L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
JM: El uso es en ambos lugares. En el trabajo escanea diferente Evaluación del producto de 6/10

28 Linux+ 5/2007
w test
Las impresoras multifunción

Gabriel Mendelevich

Gabriel Mendelevich trabaja en el Sector Ven- L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
tas en la empresa HOZTEAR – Hosting de GM: Tiene las funciones típicas de las impresoras multifunción:
Sitios Web www.hoztear.com.
• Fax,
• Scanner (alimentador de documentos automático),
• Copiadora,
• Más impresión láser (que no todas tienen),
• La usamos en la oficina, para impresión de documentos y envío
de fax.
L+: ¿Nombre de la impresora y empresa productora?
GM: LaserJet 3015 - Hewlet-Packard L+: ¿El producto ha cumplido sus expectativas?
L+: Precio aproximado GM: Si, y por el precio no se puede pedir más
GM: 300 Dólares L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?
L+: ¿Utilizaba antes otra?, ¿cuál? GM: La impresión de documentos, salen con una calidad exce-
GM: Lexmark X-1250 lente y el fax, al utilizar hojas comunes es otra ventaja del pro-
L+: En caso afirmativo, ¿por qué la ha cambiado? ducto.
GM: La Lexmark tiene cartuchos de color, los cuales no duraban L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
mucho y eran caros, en relación con la cantidad de impresiones GM: Que la impresión es en blanco y negro y el scanner no tiwene
realizadas. una alimentación de hojas alternativa, ...siempre hay que utilizar
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo hojas sueltas.
de elegir esta marca? L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
GM: Si. Fue una buena decisión, si bien este modelo de HP está GM: Bueno, aunque casi no fue necesario.
agotado (por lo menos en Argentina), es muy robusto, e imprime L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmen-
con mejor calidad (solamente blanco y negro, la única desventa- te?
ja). GM: Toda persona o empresa que necesite imprimir con calidad
Todas las impresoras HP que utilizamos en el pasado, como láser en blanco y negro, enviar faxes y realizar copias de documen-
la HP Deskjet 640, fueron excelentes, y nos pareció que en el tos.
rubro de impresoras, si bien hay muchas marcas, HP es calidad
y pocos problemas..... Evaluación del producto de 9/10

Santiago Gómez Ruiz

Santiago Gómez Ruiz es Director de Proyec- L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?
tos de Protalia, una consultoría española es- SGR: Son económicas, la opción perfecta para una oficina en
pecializada en implantación y migración de la que se intente evitar el consumo de papel, ideal si no es nece-
Software Libre en entornos empresariales, sario imprimir demasiado ni escanear grandes volúmenes.
docentes e institucionales. L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
SGR: No soporta grandes cargas de trabajo, aunque no está diseña-
da para eso. El consumo de tinta lo encuentro excesivo.
L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
SGR: La casa Brother ha desarrollado controladores para Linux que
L+: ¿Nombre de la impresora y empresa productora? funcionan perfectamente, pero la documentación de la web es muy
SGR: Brother DCP 115C - Brother confusa.
L+: ¿Precio aproximado? L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmente?
SGR: 90 Euros SGR: Sí, a usuarios domésticos y oficinas que no tengan necesida-
L+: ¿Utilizaba antes otra?, ¿cuál? des de impresión muy exigentes, y precisen de calidad a buen
SGR: No. precio a expensas de velocidad.
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo
de elegir esta marca? Evaluación del producto de 8/10
SGR: Sí. Tiene una buena relación calidad/precio y funciona correcta-
mente bajo Linux. Es una marca que tradicionalmente fabrica produc-
tos de buena calidad a precio razonable.
L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
SGR: Escáner e impresora. La uso en el trabajo.
L+: ¿El producto ha cumplido sus expectativas?
SGR: Sí.

www.lpmagazine.org 29
w test
Las impresoras multifunción

María Laura Chiesa

María Laura Chiesa tiene 29 años, es Diseñadora Gráfica, actual-


mente trabaja para la empresa SERVIWEB.

L+: ¿Nombre de la impresora y empresa productora?


MLC: Multifuncional HP 1410
L+: Precio aproximado
MLC: 100 US$
L+: ¿Utilizaba antes otra?, ¿cuál?
MLC: Si. La EPSON 4200.
L+: En caso afirmativo, ¿por qué la ha cambiado?
MLC: Porque dejó de funcionar y la empresa no tenía repuestos para MLC: Que tengo tres funciones en un solo equipo y así ahorro es-
repararla. pacio físico.
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
de elegir esta marca? MLC: Los cartuchos originales son muy costosos y se acaban rápido.
MLC: Sí. Porque el soporte técnico de Hewlett Packard ofrece un L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
mejor servicio. El motivo del cambio de marca originalmente fue MLC: Atención telefónica y chat las 24 hrs. Cuando surgió un pro-
solamente una cuestión de precio. blema me asesoraron y atendieron muy bien, puedo darme por sa-
L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el tra- tisfecha.
bajo? L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmente?
MLC: Escanea, copia e imprime. La uso en casa. MLC: Sí. Lo recomendaría a personas que ne cesitan ahorrar espacio
L+: ¿El producto ha cumplido sus expectativas? físico y necesitan imprimir en calidad profesional sus documentos.
MLC: Si.
L+: ¿Cuáles son los puntos fuertes de este tipo de impresora? Evaluación del producto de 8/10

Roberto Salguero

Roberto Salguero tiene 31 años, es Director L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo
General de Hispamax servicios integrales de elegir esta marca?
informáticos y responsable de desarrollo de RS: No, por no disponer de consumibles en tiendas, tan sólo se
proyectos web, técnico de sistemas durante compra a Dell de manera on-line. Conocía otras marcas como HP,
7 años y especialista en electrónica. Actual- Epson, Canon y conocía ventajas e inconvenientes de estas mar-
mente compatibiliza la gestión de su empresa cas, quería probar con Dell.
con la carrera de ingeniería informática de L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
sistemas por la Uned. Desempeña las activi- RS: Impresión, escaner y con ambos se hace fotocopias en blanco y
dades de diseñador y programador envarios lenguajes como php, negro y en color
perl, c++ bajo entornos LINUX. Desarrolla aplicaciones en VB y .NET L+: ¿El producto ha cumplido sus expectativas?
RS: No
L+: Nombre de la impresora y empresa productora L+: ¿Cuáles son los puntos fuertes de este tipo de impresora? ¿Y los débi-
RS: Dell 810 les? ¿Hay algo que se debería cambiar o mejorar?
L+: Precio aproximado RS: Desde mi punto de vista es el precio y el poco espacio que
RS: 60€ ocupa.
L+: ¿Utilizaba antes otra?, ¿cuál? Los puntos débiles son la velocidad y la adquisición de los
RS: No consumibles de manera online pues tardan dos días en enviar los
L+: En caso afirmativo, ¿por qué la ha cambiado? cartuchos.
RS: Por disponer de impresora, fax y fotocopiadora en un tamaño Sería interesante que Dell vendiera consumibles a través de
reducido centros comerciales o tiendas.
L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
RS: El soporte es de Dell y en principio siempre han dado buen
servicio con respecto a esta impresora. Si
L+: ¿Recomendaría este producto a otras personas? ¿A quién especial-
mente?
RS: Sí, para usuarios domésticos que no necesitan alta calidad de
impresión y no quieren invertir mucho dinero en una multifun-
ción.

Evaluación del producto de 5/10

30 Linux+ 5/2007
w test
Las impresoras multifunción

Jesús A. Lacoste

Jesús A. Lacoste es Director de SoyDigital. L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
com, Internet, Voz y SMS. JAL: La usamos en la empresa, para recibir/enviar fax, escanear
documentos o imágenes y por supuesto imprimir todo tipo de do-
cumentos.
L+: ¿El producto ha cumplido sus expectativas?
JAL: Completamente.
L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?
JAL: Soporte de red, impresión color con coste asequible, robusta.
L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
L+: ¿Nombre de la impresora y empresa productora? JAL: La bandeja del papel a veces presenta alguna dificultad para
JAL: Brother MFC-9420CN / Brother sacarla.
L+: Precio aproximado L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
JAL: 620 Euros JAL: Afortunadamente no te tenido que recurrir al soporte técnico
L+: ¿Utilizaba antes otra?, ¿cuál? del fabricante. En otras ocasiones, el mayorista donde yo compro
JAL: Brother MFC-570 todos los equipos me ha solucionado eficazmente los prob-
L+: En caso afirmativo, ¿por qué la ha cambiado? lemas.
JAL: Porque la nueva es láser e imprime en color. Además tiene L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmen-
conexión de red local. te?
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el JAL: Sí. Empresas o oficinas con necesidad de compartir un buen
motivo de elegir esta marca? equipo de impresión y quien necesite imprimir en láser color
JAL: Creo que sí. Hace más de un año que la tenemos y funciona bien.
La calidad de impresión es buena, tanto en b/n como en color. He Evaluación del producto de 9.5/10
comprado Brother ya que tiene buena relación calidad/precio y los
consumibles son más baratos que los de HP.

Enrique Belarte Luque

Enrique Belarte Luque trabaja para Iberma- todo esto se va enviando por correo electrónico.
chines Sistemas, es Administrador de sis- L+: ¿El producto ha cumplido sus expectativas?
temas FreeBSD y GNU/Linux. EBL: Sí, sobradamente.
L+: ¿Cuáles son los puntos fuertes de este tipo de impresora?
EBL: La robustez, y la calidad.
L+: ¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?
EBL: Desde luego el precio de los cartuchos de tinta, es su punto
negativo. En cualquier caso, es propio de la marca.
L+: ¿Cuál es el soporte del productor? ¿Está satisfecho con él?
L+: ¿Nombre de la impresora y empresa productora? EBL: HP siempre ha dado buen soporte a los clientes que conoce-
EBL: DeskJet 845c HP mos, y aunque con esta impresora no ha hecho falta ningún tipo
L+: Precio aproximado de soporte extra, sí tenemos experiencias anteriores con otros
EBL: 130 Euros dispositivos, y podemos decir que dan un buen servicio post-
L+: ¿Utilizaba antes otra?, ¿cuál? venta.
EBL: Una vieja Fujitsu de agujas L+: ¿Recomendaría este producto a otras personas? ¿A quién especialmente?
L+: En caso afirmativo, ¿por qué la ha cambiado? EBL: Sí, siempre que sepan lo que buscan. Por ejemplo, alguien que
EBL: Es obvio. Ruido, velocidad, color. tuviera que imprimir cientos de páginas diarias acabaría arruinado
L+: ¿Cree que ha sido una buena decisión? ¿Por qué? ¿Cuál fue el motivo por el precio de la tinta.
de elegir esta marca?
EBL: La decisión ha sido no solamente buena, sino obligada. El Evaluación del producto de 8/10
por qué, sería volver a la respuesta anterior, no hay ni punto de
comparación en cuanto a las prestaciones de esta impresora. Ni
siquiera son comparables. El motivo de elegir HP, es que aunque
es bastante más cara que otras impresoras de la competencia,
son impresoras que duran mucho, y que dan menos problemas
que otras en cuanto a la inyección de tinta.
L+: ¿Qué funciones tiene la impresora?, ¿la usa en casa o en el trabajo?
EBL: Pues imprime facturas, algún listado de código para revisar,
y algún que otro presupuesto, aunque cada vez menos, ya que

www.lpmagazine.org 31
w software
ADAPTIVE Communication Environment

ACE: Desarrollo
Multiplataforma de
Aplicaciones en Red
José Luis Marina

Como vimos en el artículo anterior ACE se


corresponde con las siglas de ADAPTIVE Communication
Environment, y es un marco de trabajo – framework
– orientado a objetos, de código abierto y disponible libre
y gratuitamente, que implementa muchos de los patrones
centrales para el desarrollo de software de comunicación.
ACE está implementado en C++ y se utiliza principalmente en
aplicaciones distribuidas en red que necesiten de un rendimiento
exigente. Se emplea incluso en aplicaciones de tiempo real y existe
un ORB implementado sobre ACE llamado TAO (The ACE ORB).

D
ebido a que los desarrolladores e ingenieros tos. Es más, en el caso de ACE, además de reutilizar este
linux@software.com.pl

de ACE y TAO, han estado siempre obse- código podemos elegir si la función que recibe los datos
sionados con el rendimiento y la eficacia y la que los trata se ejecutan en el mismo proceso, en otro
y eficiencia en el manejo de los recursos hilo o en un hilo por cada conexión cliente, en función
del sistema, ambos entornos se utilizan con profusión de las características del proceso, y todo de una forma
en sistemas empotrados y entornos industriales, ade- portable.
más de usarse en aplicaciones más comunes.
La idea de ACE es también la aplicación de la reusa-
bilidad de forma sistemática incluso entre plataformas, Sobre el autor
con lo que se consigue que el mismo código – sin cam-
José Luis Marina es Director de I+D de Peopleware
bios de ningún tipo – compile y funcione en diferen-
y el encargado de la relación con las universidades en
tes combinaciones de sistema operativo y compilador
diferentes proyectos de investigación. Es licenciado en
de C++.
Ciencias Físicas en Cálculo Automático por la U.C.M.
Hay código que como programadores de software
y desarrolla su doctorado (Ph.D.) en Ingeniería del
de comunicaciones tendemos a realizar cada vez que se
Software. Fue uno de los fundadores de la página de
comienza un proyecto, y sin embargo, es código estruc-
Oracle en español OraEs (ahora OraDBWay). Sus in-
tural que no varía nunca. Un ejemplo muy claro y muy
tereses de investigación se centran en el software libre
utilizado es la parte de código de un servidor que se
de calidad y en sistemas distribuidos en red y la inteli-
encarga de inicializar la escucha en un puerto, y que por
gencia artificial aplicada los eventos de monitorización
cada petición de un cliente la despacha a una función
de sistemas, y el proyecto Osmius es al que dedica
encargada de recibir los datos. Esto es siempre igual in-
mayor atención en la actualidad.
dependientemente de qué hagamos después con los da-

32 Linux+ 5/2007
w software
ADAPTIVE Communication Environment

Para conseguir estos objetivos ACE está


organizado en una arquitectura en capas co-
mo podemos ver en la Ilustración 1. Las capas
y un resumen de sus características son:

Capa de Adaptación al Sistema


Operativo
Esta capa proporciona un conjunto de fun-
ciones para las operaciones y las llamadas
al sistema operativo más comunes y se sitúa
entre las APIs nativas de llamadas al sistema
y el resto de ACE.
Todo el código de ACE, y en definitiva el
que programemos nosotros, acabará llaman-
do a alguna función de esta capa a través de
Figura 1. Arquitectura en Capas de ACE
los métodos estáticos de la clase ACE_OS,
que es la que nos oculta las complejidades de y la anterior son casi las mismas, sólo que res, colas de mensajes de alto rendimiento,
las diferentes implementaciones de las lla- en este caso el uso será más intuitivo, más memoria compartida y en general cualquie-
madas al sistema en los diferentes Sistemas fácil, más potente. ra de los mecanismos IPC.
Operativos. Vamos a poder utilizar esta capa para es-
cribir aplicaciones portables que hagan uso Capa de Frameworks
Capa de Envoltorios o wrapper facades de sockets, procesos, hilos, concurrencia, con- Seguimos incrementando el nivel de abs-
Si la anterior capa era casi un uso directo tadores de tiempo, contenedores e iterado- tracción y agrupamos más funcionalidad en
de funciones del sistema en C, en ésta in-
troducimos el concepto de programación Listado 2a. Ejemplo sencillo de Hola Gente utlizando ACE
orientada a objetos para beneficiarnos de
conceptos como la comprobación de los // -*- C++ -*-
tipos de datos, la herencia, el polimorfismo // -----------------------------------------------------------------------
y la sobrecarga de operadores y funciones. /**
Así nuestro código es más seguro y más * @file hola_ace.cpp
sencillo de implementar y de utilizar. En * @brief Ejemplo de "Hola gente" usando ACE y MPC
realidad las funcionalidades de esta capa *
* @author Linux+
Listado 1. Configuración MPC para ejemplo de * @date 2007
uso de ACE */
// -----------------------------------------------------------------------
// -*- MPC -*- // Includes de ACE para casi todo programa
// $Id$ #include <ace/OS.h>
// Nombre de proyecto y tipo #include <ace/Log_Msg.h> // Utilidades para logs, trazas y depuración.
// de ejecutable. #include <ace/Version.h> // Para mostrar la versión de ACE utilizada.
// En este caso decimos que
// haremos uso de ACE // Includes específicos de ACE
// y ya se encarga de poner en #include <ace/Get_Opt.h> // Control de argumentos.
// el makefile los
// parámetros necesarios. // -----------------------------------------------------------------------
project(*Ejemplo) : aceexe int parse_cmd_line(int argc, ACE_TCHAR *argv[])
{ {
exename = ejecutable // Clase de ACE para manejar parámetros (-a aaaaa -b dsdsds -d ...)
// libs += mysqlclient ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("a:b:"), 0);
// Pondríamos librerías externas...
Source_Files { for (int c; (c = get_opt ()) != -1; )
principal.cpp {
ejemplo.cpp switch (c)
} {
Header_Files { case 'a':
ejemplo.h ACE_ERROR ((LM_ERROR,
} ACE_TEXT ("Argumento de 'a' es: %s\n"),get_opt.opt_arg ()));
} break;

www.lpmagazine.org 33
w software
ADAPTIVE Communication Environment

interfaces más sencillos y con mayor reuti-


Listado 2b. Ejemplo sencillo de Hola Gente utlizando ACE
lización y potencial de uso. En esta capa es
case 'b': donde los ingenieros de software de ACE
ACE_ERROR ((LM_ERROR, han puesto en práctica los patrones de dise-
ACE_TEXT ("Argumento de 'b' es: %s\n"),get_opt.opt_arg ())); ño que han surgido del trabajo de décadas
break; desarrollando aplicaciones distribuidas en
default: red. Como vimos, un framework es una
ACE_ERROR ((LM_ERROR,ACE_TEXT ("Argumento no contemplado\n"))); colección de componentes de software que
break; colaboran entre sí para proporcionar una
} arquitectura reusable para una determina-
} da familia de aplicaciones.
return 0; De alguna manera a través de esta capa
} accedemos a aplicaciones que casi funcio-
// ----------------------------------------------------------------------- nan, a falta de que codifiquemos las funcio-
// MAIN nes clave que tratan los datos y que diferen-
// ----------------------------------------------------------------------- cian unas aplicaciones de otras. Los esque-
int mas de servicios y acciones comunes de un
ACE_TMAIN (int argc, ACE_TCHAR *argv[]) servidor de telnet, ssh o ftp, son parecidos en
{ cuanto a espera pasiva de conexiones, aten-
// Para recuperar variable de entorno. ción de clientes, y en la recepción y el envío
ACE_TCHAR* env_s; // Para algunos tipos utilizamos los de ACE para de datos por la red, y cambian el tratamien-
// evitarnos problemas de compatibilidad. to y las acciones para tratar y reaccionar
// Es el caso de char y ACE_TCHAR ante lo recibido.
// Con ACE_DEBUG generamos trazas de log que pueden centralizarse. ACE nos proporciona varios framewor-
ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) Hola Gente\n"))); ks o esqueletos sobre los que codificar las
// Llamada portable para recuperar variable de entorno. partes diferenciadoras de nuestros proce-
env_s = ACE_OS::getenv("ACE_ROOT"); sos.
if (env_s == 0) {
ACE_ERROR((LM_ERROR,ACE_TEXT("ACE_ROOT no definida\n"))); Uso práctico de ACE
} Además de las capas y componentes que he-
else { mos mencionado, junto con ACE recibimos
ACE_DEBUG((LM_DEBUG,ACE_TEXT("ACE_ROOT es: %s\n"),env_s)); algunas aplicaciones ya hechas como un
} gateway, un sistema para que los log de
// Control sobre los argumentos pasados ( Pe: -a AAAA -b BBBB -c CCCC ) nuestras aplicaciones puedan centralizarse
return parse_cmd_line(argc,argv); en un único punto, un servidor de nombres
} // Fin ACE_MAIN()... y otras aplicaciones completas que pode-
El fichero para poder generar el makefile mediante la orden $ACE_ROOT/mpc.pl mos utilizar directamente o investigar para
-type make hola_ace.mpc sería: aprender del uso de los diferentes compo-
// -*- MPC -*- nentes.
// $Id$ También se incluye con la distribución
/// @file hola_ace.mpc una herramienta llamada Makefile Project
/// Creator (MPC), que es tremendamente útil
project(*Linux) : aceexe { para generar los ficheros Makefile necesarios
exename = hola_ace para cada compilador en cada una de las
Source_Files { plataformas en las que queramos compilar
hola_ace.cpp nuestros programas. Esta herramienta está
} soportada por Object Computing en los Es-
Header_Files { tados Unidos y es código abierto (de hecho
} está implementada en perl).
}
Un ejemplo de llamada a nuestro programa y su salida por pantalla son: Instalando ACE
/ejemplo/ace$ ./hola_ace -a AAAA -b BBBB -c CCCCC Lo primero que debemos hacer es ir a la pá-
(22892|3082487488) Hola Gente gina de descarga de ACE en http://download
ACE_ROOT es: /home/jlmarina/ACE_wrappers .dre.vanderbilt.edu/ y bajarnos la última ver-
Argumento de 'a' es: AAAA sión estable disponible. Lo recomendable es
Argumento de 'b' es: BBBB bajarse desde la sección latest beta kit aque-
Argumento no contemplado llo que necesitemos. En nuestro caso sola-
/ejemplo/ace$ mente vamos a descargar ACE.tar.gz (ACE
only), aunque podemos hacer lo mismo con

34 Linux+ 5/2007
w software
ADAPTIVE Communication Environment

la documentación en Doxygen, si queremos


Listado 3. Servidor de peticiones por sockets en ACE.
navegar en local por la arquitectura de cla-
ses y ficheros, o con TAO que es un ORB // -*- C++ -*-
que funciona sobre ACE. // -----------------------------------------------------------------------
En el caso de ACE las versiones beta /**
son versiones que se han probado en las * @file servidor.cpp
diferentes plataformas y con las que se han * @brief Servidor que escucha en un puerto y devuelve "Hola Gente"
ejecutado todos los test preparados para *
las compilaciones y ejecuciones automá- * @author Linux+
ticas que se lanzan constantemente, y que * @date 2007
por lo tanto vienen con muchas garantías */
y son lo recomendado por el equipo de // -----------------------------------------------------------------------
ACE. // Includes de ACE para casi todo programa
Una vez bajado, debemos descomprimir #include <ace/OS.h>
el fichero en el directorio donde pensemos #include <ace/Log_Msg.h> // Utilidades para logs, trazas y depuración.
instalar los fuentes de ACE y acceder al fi- #include <ace/Version.h> // Para mostrar la versión de ACE utilizada.
chero ACE-INSTALL o ACE-INSTALL.html, // Includes especificos de ACE
en el que debemos localizar nuestra combi- #include <ace/Get_Opt.h> // Control de argumentos.
nación de sistema operativo y compilador #include <ace/INET_Addr.h> // Direcciones INET
y seguir las instrucciones. #include <ace/SOCK_Acceptor.h> // Aceptar conexiones por sockets
En nuestro caso utilizaremos el procedi- #include <ace/SOCK_Stream.h> // Para enviar y recibir datos por un socket.
miento para el sistema operativo Linux – en // -----------------------------------------------------------------------
general no debéis encontrar problemas con // MAIN
ninguna versión y nosotros no los hemos // -----------------------------------------------------------------------
tenido ni con RedHat AS, ni RedHat 7.0, ni int
SuSe 10, ni con Ubuntu 6.10 – y el compila- ACE_TMAIN (int argc, ACE_TCHAR *argv[])
dor de C++ GNU GCC (o g++). {
Los pasos a seguir son: ACE_TCHAR buffer[128] = "";
int buffer_long = 128;
• La variable de entorno ACE_ROOT de-
be apuntar al directorio de instalación const ACE_TCHAR* respuesta="Hola Gente!";
de ACE (por ejemplo /home/desa/ACE_
wrappers). ACE_INET_Addr direccion_cliente;
• La variable de entorno LD_LIBRARY_ ACE_SOCK_Stream stream;
PATH debe incluir $ACE_ROOT/lib.
• En el directorio $ACE_ROOT/ace, el fi- // Puerto en el que escuchar las peticiones.
chero config.h debe incluir el fichero de int puerto=1950;
configuración adecuado que en nuestro // Creamos la dirección asociada al puerto.
caso es: ACE_INET_Addr direccion_servidor(puerto);
#include "ace/config-linux.h" // Creamos una cola de conexión.
• En el directorio $ACE_ROOT/includes/ ACE_SOCK_Acceptor acceptor(direccion_servidor);
makeinclude, el fichero platform_mac-
ros.GNU debe incluir el fichero .GNU while (1)
adecuado que en nuestro caso es (fija- {
os que no lleva un carácter # al prin- // Esperamos y establecemos la conexión.
cipio): acceptor.accept(stream,&direccion_cliente);
include $(ACE_ROOT)/include/ // Recepción de datos.
makeinclude/platform_linux.GNU stream.recv(buffer,buffer_long);
• Si solamente queremos generar la li- ACE_DEBUG((LM_DEBUG,
brería de ACE para utilizar en nuestros ACE_TEXT("(%P|%t) El Servidor ha recibido: [%s]\n"),buffer));
programas debemos posicionarnos en // Envío de Respuesta
el directorio $ACE_ROOT/ace y ejecutar stream.send(respuesta, ACE_OS::strlen(respuesta)+1);
el comando: }
make // Limpieza...
• Si queremos además compilar los test stream.close();
y ejemplos, ejecutamos el comando ante- acceptor.close();
rior sobre el directorio raíz $ACE_ROOT. return 0;
Obviamente esta opción tarda más tiem- }
po.

www.lpmagazine.org 35
w software
ADAPTIVE Communication Environment

Si realizamos todos los pasos adecuada-


Listado 4. Cliente para envío de peticiones por sockets en ACE.
mente deberemos encontrarnos con la libre-
// -*- C++ -*- ría libACE.so en el directorio $ACE_ROOT/
// ----------------------------------------------------------------------- lib.
/** En el fichero de ayuda a la instalación
* @file cliente.cpp nos muestran dos formas de compilar ACE
* @brief Cliente para envío de datos por sockets. en nuestra máquina, una utilizando GNU
* Autoconf y otra mediante el método tradi-
* @author Linux+ cional. Es éste último el que recomendamos
* @date 2007 aunque podéis aventuraros con la primera
*/ forma si queréis.
// -----------------------------------------------------------------------
// Includes de ACE para casi todo programa Compilando nuestros
#include <ace/OS.h> programas
#include <ace/Log_Msg.h> // Utilidades para logs, trazas y depuración. La idea ahora es escribir programas que
#include <ace/Version.h> // Para mostrar la versión de ACE utilizada. usen la librería de ACE y que podamos com-
// Includes especificos de ACE pilar sin problemas de compatibilidad y sin
#include <ace/INET_Addr.h> // Direcciones INET recodificar si por ejemplo hemos realizado
#include <ace/SOCK_Connector.h> // Iniciar conexiones por sockets nuestro programa en Linux con compilador
#include <ace/SOCK_Stream.h> // Para enviar y recibir datos por un socket. GNU g++, y queremos generarlo luego en
// ----------------------------------------------------------------------- Windows con el compilador de Borland
// MAIN C++ Builder.
// ----------------------------------------------------------------------- De la parte de compatibilidad de códi-
int go se encargan ACE y su arquitectura en
ACE_TMAIN (int argc, ACE_TCHAR *argv[]) capas tal y como hemos visto. Respecto a los
{ makefiles viene en nuestra ayuda la he-
ACE_TCHAR mensaje[128] = ""; rramienta MPC que como hemos mencio-
ACE_TCHAR buffer[128] = ""; nado viene incluida en la distribución de
int buffer_long = 128; ACE.
// Nombre de la máquina en que está nuestro servidor Supongamos que nuestro programa
ACE_TCHAR hostname[128]=”localhost”; consta de los ficheros de código fuentes si-
// Puerto en el que escuchar las peticiones. guientes:
int puerto=1950;
// Creamos la dirección asociada al servidor hostname:puerto. • principal.cpp Programa Principal,
ACE_INET_Addr direccion_servidor(puerto,hostname); • ejemplo.h Declaración de clases de ejem-
ACE_SOCK_Stream stream; plo,
// Creamos una cola de conexión. • ejemplo.cpp Implementación de los méto-
ACE_SOCK_Connector connector; dos de nuestras clases.
// Iniciamos la conexión.
connector.connect(stream,direccion_servidor); Lo ideal sería que ésta fuera toda la infor-
if (1 == argc ) mación necesaria a suministrar para gene-
{ rar los proyectos en los que compilar nues-
ACE_OS::strcpy(mensaje,”Hay alguien ahi?”); tra aplicación. Esto es lo que hace MPC;
} nos permite hacer un script con esta infor-
else mación una vez y compilar las veces y con
{ las plataformas y compiladores que necesi-
ACE_OS::strncpy(mensaje,argv[1],127); temos. Como dicen en su página web http://
mensaje[127]=0; www.ociweb.com/products/mpc script once ...
} and build many...
// Envío de mensaje y recepción de respuesta... En nuestro ejemplo creamos un fichero
stream.send(mensaje, ACE_OS::strlen(mensaje)+1); con la extensión .mpc (ejemplo.mpc) cuyo con-
stream.recv(buffer , buffer_long); tenido será como el de Listado 1.
ACE_DEBUG((LM_DEBUG, Ahora podemos invocar a MPC para que
ACE_TEXT("(%P|%t) El Servidor responde: [%s]\n"),buffer)); genere los ficheros necesarios para compi-
// Limpieza... lar nuestro programa. En el caso de Linux,
stream.close(); y definida la variable de entorno ACE_
return 0; ROOT, nos posicionamos en el directorio con
} los fuentes y el fichero para mpc y ejecuta-
mos:

36 Linux+ 5/2007
w
¡Pide suscripción!
LiNUX+ por suscripción
es más barata:
69 € TRES REGALOS
PARA ELEGIR

¡En cada número


2 DVDs!

Ahora un regalo especial


para nuestros suscriptores
Si tienes preguntas, problemas o dudas,
– 12 números anteriores
escribe a: suscripcion@software.com.pl
de Linux+ en la versión
electrónica En nuestra tienda virtual podrás adquirir todos los productos
de la editorial Software-Wydawnictwo: www.buyitpress.com

Pedido
Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o., Bokserska 1,
02-682 Varsovia, Polonia; e-mail: suscripcion@software.com.pl

Nombre(s) ......................................................................................... Apellido(s)........................................................................................

Dirección .........................................................................................................................................................................................................

C. P. ................................................................................................... Población, provincia ........................................................................

Teléfono ............................................................................................ Fax ....................................................................................................

E-mail ................................................................................................ Suscripción a partir del N° ..............................................................

Precio de suscripción anual Absender-Daten


de Linux+: 69 €

Realizo el pago con:


□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO CVC Code
Válida hasta
□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO
Número de la cuenta bancaria: 0049-1555-11-221-0160876
IBAN: ES33 0049 1555 1122 1016 0876
código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:
w software
ADAPTIVE Communication Environment

• Thread.h,
Listado 5. Aplicación de Reusabilidad: SOCKET y SPIPE
• Thread.inl,
Comunicación mediante Sockets: • Thread.cpp.
..........
int puerto=1950; Veamos ahora un ejemplo específico sobre
ACE_INET_Addr direccion_cliente; cómo usar algunas de las capacidades que
ACE_SOCK_Stream stream; nos proporciona ACE.
ACE_INET_Addr direccion_servidor(puerto);
ACE_SOCK_Acceptor acceptor(direccion_servidor); Capa de Envoltorios:
acceptor.accept(stream,&direccion_cliente); Comunicación entre procesos
stream.recv(buffer,buffer_long); Como sabemos, los procesos en aplicacio-
const ACE_TCHAR* respuesta="Hola Gente!"; nes distribuidas intercambian sus datos
stream.send(respuesta, ACE_OS::strlen(respuesta)+1); y se coordinan entre sí a través de los que
stream.close(); llamamos Comunicación entre Procesos
.......... o Inter-process Communication que recono-
Comunicación mediante “pipes” (SPIPES): cemos normalmente por mecanismos IPC.
.......... Las comunicaciones pueden variar entre las
char disp[BUFSZI]; orientadas a conexión y las no orientadas
a conexión e influirá en la elección del me-
ACE_SPIPE_Addr direccion_cliente; canismo concreto la situación de los proce-
ACE_SPIPE_Stream stream; sos. No tenemos a nuestra disposición las
ACE_SPIPE_Addr direccion_servidor(disp); mismas formas de comunicación entre dos
ACE_SPIPE_Acceptor acceptor(direccion_servidor); procesos si éstos comparten el mismo sistema
acceptor.accept(stream,&direccion_cliente); o máquina, que si se encuentran en máqui-
stream.recv(buffer,buffer_long); nas diferentes.
const ACE_TCHAR* respuesta="Hola Gente!"; Programar utilizando las APIs de los
stream.send(respuesta, ACE_OS::strlen(respuesta)+1); diferentes sistemas operativos es difícil,
stream.close(); y si además queremos código libre de erro-
.......... res y que sea robusto se nos complican más
las cosas. Los programadores tienen que
saber bien cuáles y como son las formas de
$ACE_ROOT/bin/mpc.pl -type make Veamos un programa sencillo utilizando identificar las direcciones de red, las inter-
ejemplo.mpc ACE y su fichero MPC para poder generar faces de las funciones que soportan los me-
ficheros de compilación en cualquier plata- canismos IPC y cómo funcionan las con-
Si queremos generar los ficheros de pro- forma. Un ejemplo de Hola Gente hecho con versiones de orden de los bytes en la red.
yecto que incluyan todo lo necesario para ACE sería como el de Listado 2. Además y para oscurecer un poco más el
compilar nuestro programa en un entor- Lo que hemos visto nos sirve para poder panorama, las mencionadas APIs tienen
no Windows con Visual C++ 7.1 haría- construir nuestros programas de forma rápida una cantidad considerable de funciones, el
mos: y portable entre plataformas y sistemas opera- orden de llamadas para realizar una acción
tivos sin casi desgaste por nuestra parte. debe conocerse, hay poca comprobación de
%ACE_ROOT%/bin/mpc.pl -type vc71 En ACE están agrupadas las clases que tipos al estar normalmente codificadas en
ejemplo.mpc aportan determinada funcionalidad en C, y no hay mucho disponible para detectar
ficheros cuyo nombre deriva de la clase excepciones del sistema.
En el caso de Linux, a través de MPC habre- principal eliminando el comienzo ACE_ Las clases envoltorio (wrapper facades)
mos generado un fichero llamado Makefile. y añadiendo.h (cabecera), .inl (implementa- de ACE nos ayudan a simplificar todo este
Ejecutable_Ejemplo que podemos invocar ciones inline) o .cpp (código de implemen- proceso haciendo que nuestros programas
con la llamada: tación). Por ejemplo podemos encontrar la sean más fáciles y legibles junto con las ven-
clase ACE_Thread para manejo de hilos tajas claras que ésto nos aporta. El código
make -f Makefile.Ejecutable_Ejemplo en: para codificar un servidor que escuche peti-
ciones en un puerto es el siguiente (ver Lis-
tado 3).
A continuación vemos el código comen-
tado y clarito de un cliente que conecte con
nuestro servidor en un puerto. Es importan-
te fijarse en el cambio de ACE_SOCK_Acce-
ptor (parte pasiva a la espera de conexiones)
a ACE_SOCK_Connector (parte activa que ini-
cia la conexión). Ahora que ya sabemos có-
Figura 2. Diagrama de Clases ACE_SOCK_Acceptor mo construir un fichero de configuración de

38 Linux+ 5/2007
w software
ADAPTIVE Communication Environment

con el entorno y sus clases, sus frameworks


y los patrones de diseño utilizados, somos
perfectamente conscientes de las ventajas
que conseguimos.
A partir de un momento no sólo termi-
namos de codificar antes y de manera elegan-
te, sino que también se ven reducidas las ta-
reas de realizar pruebas y el arreglo de las no
conformidades surgidas, con lo que podemos
dedicar más tiempo al apasionante mundo
de la programación creativa y menos al man-
tenimiento.
ACE sigue evolucionando a día de hoy,
y además de manejo de comunicaciones me-
diante diferentes mecanismos nos propor-
ciona clases y formas de programar de forma
Figura 3. Diagrama de Herencia Mecanismos IPC en ACE
eficiente y sencilla aplicaciones orientadas
fuentes para que MPC pueda generarnos los Conclusiones a eventos, uso de colas de mensajes, control
makefiles, resultará trivial para el lector ge- Ya hemos hablado en un artículo anterior de de procesos y de hilos, contenedores de me-
nerar estos dos procesos en una plataforma las ventajas de utilizar ACE en nuestros desa- moria extremadamente eficientes, gestión de
Linux, Solaris, Windows o HP-UX, y probar rrollos. En este caso vamos solamente a des- configuraciones, arranque y parada de servi-
que efectivamente se realizan las comuni- tacar que efectivamente la curva de apren- cios en tiempo de ejecución y nos simplifica
caciones pretendidas entre cliente y servi- dizaje de ACE es difícil al principio, pero se- los procesos de generación de trazas y depu-
dor. gún vamos escalando y adquiriendo soltura ración.
Con las clases ACE_IPC mejoramos la
legibilidad del código, escribimos menos,
reducimos las probabilidades de error y en-
capsulamos las tareas de inicialización sub-
yacentes.
Si llega un momento en que sabemos que
nuestros procesos cliente y nuestro proceso
servidor van a estar alojados en la misma
máquina, podríamos decidir cambiar de los
sockets a un mecanismo más eficiente a nivel
local como puedan ser las tuberías o pipes. En
otro tipo de entorno los cambios a nuestro
código seguramente impactarían de forma
brusca en la calidad de vida del programador.
En el caso de ACE mostramos a continuación
los cambios necesarios en el código para uno
y otro mecanismo.
Es decir, ACE nos proporciona un inter-
faz consistente para diferentes mecanismos
ocultándonos la complejidad y las diferen-
cias. Figura 4. Diagrama de Herencia para clases de Direcciones

P U B L I C I D A D

www.lpmagazine.org 39
w software
Juegos sección llevada por Francisco J. Carazo Gil

Hex-a-Hop Ghouls and Ghosts Remix


T om Beamount diseñó y creó este juego en 2005. El objetivo es
simplemente destruir todos los hexágonos verdes que hay en
el tablero. En dicho tablero, además de hexágonos de color verde
M ediante el uso de Allegro, Valarsoft ha creado el remix, nunca
mejor dicho, lo dice hasta el nombre, del famosísimo Ghouls
and Ghost que Capcom desarrolló para sistemas como Master Sys-
existirán hexágonos de color gris que no se destruyen al pasar por tem y otras consolas contemporáneas.
encima suyo. De modo que podemos hacer uso de los mismos de Valarsoft, empresa italiana dedicada a la creación de software li-
cara a destruir el resto. bre en general, nos proporciona este título usando Allegro. Allegro,
Para todo aquel a quien le gusten las matemáticas, he de decir es una biblioteca creada inicialmente por Shawn Hargreaves para el
que el desarrollo del juego se parece mucho al de la búsqueda compilador DJGPP y que con el paso del tiempo se ha convertido en
sobre un gráfico de un llamado Camino de Hamilton, de manera una de las mejores opciones para los desarrolladores de juegos. Por
que se recorren todos los vértices (en este caso representados por supuesto, como podréis suponer dicha biblioteca está liberada bajo
los hexágonos verdes) sin pasar dos veces por el mismo y pasando licencia GPL y es parte de un proyecto de Sourceforge.
por todos ellos. El juego fue presentado en la edición del año 2006 de Retro-
El juego se compone de 100 niveles de dificultad creciente, de Remakes. Poco a poco el proyecto ha ido creciendo hasta llegar
manera que tenemos juego para rato. Entre fase y fase iremos reco- a convertirse en lo que es hoy en día, en la actualidad la versión 0.32,
rriendo un mapa en el que iremos eligiendo el nivel a realizar. Esta además de las opciones iniciales de Ghouls and Ghosts existen algu-

Hex-a-Hop Ghouls and Ghosts Remix

posibilidad del mapa entre ambos, suma posibilidades a un juego nos añadidos extra. Los gráficos son los del juego original y el modo
muy simple. Aparte, como nota interesante, mencionaros que entre de juego también. La dificultad es mayor y se echa de menos, poder
nivel y nivel el juego hace un autoguardado. establecer una resolución mayor porque la que viene por defecto,
Implementado haciendo uso de la SDL y en C++, el juego es muy que es la única disponible es realmente baja.
simple pero tiene mucha diversión detrás de él. Es un juego en el Por cierto para acceder al juego en la web que os indico, os vais
que tendremos que pensar y en el que llegados a un nivel ya alto, a la sección de Allegro. No os pongo la URI completa debido a que
nos provocará más de un quebradero de cabeza (en el buen sen- se trata de la URI generada por un CMS (gestor de contenido) me-
tido). diante una petición, y es realmente larga y poco memorizable.
La web del juego es realmente simple, más aún que el juego, Existen versiones tanto para Windows como para Linux. En Li-
y en ella ni siquiera disponemos de capturas de pantalla del juego. nux deberemos bajar el mismo archivo .zip que para Windows, dar
Todo el conjunto en sí no está demasiado trabajado, ya que no está permisos de ejecución a un script y ejecutarlo. Dicho script compila-
disponible ni siquiera en el código del juego, sin embargo el código rá el juego y creará un binario llamado game.exe.
está disponible para descarga, por lo que se trata aunque sea de Se nota que los creadores del juego trabajan con Windows,
manera extraoficial, de software libre. porque todos los juegos excepto éste son solamente para ese sistema
Hace falta, como es lógico, tener instalada la SDL, para poder operativo, ya que todo lo relacionado con el juego es muy típico de
compilar el juego. sistemas Microsoft, extensiones .exe para los binarios, archivos .zip
En resumen, deciros que se trata de un juego de muy poca di- en lugar de tarball, etc.
fusión (a la que espero contribuir con la inclusión del mismo en este A pesar de ser un juego con muy buenas intenciones, su bajísi-
artículo) pero que es perfectamente jugable y está basado en una ma resolución le resta mucho encanto, ya que es un auténtico esfuer-
idea un tanto divertida. zo tener que mirar esas ventanas tan reducidas.
http://www.aceinternet.co.uk/~mokona/ http://www.valarsoft.com/ramuso/

NOTE NOTE
jugabilidad ««« jugabilidad ««
gráficos «« gráficos ««
sonido N/A sonido «

40 Linux+ 5/2007
w software
sección llevada por Francisco J. Carazo GilJuegos

Galcon Kobodeluxe
P hil Hassey, creador de juegos basados en Python y participante
de todas las ediciones de PyWeek, es el creador de este juego, que
a pesar de ser un juego propietario y de código cerrado funciona bajo
K obodeluxe es una mejora del clásico para X11 llamado Xkobo.
Programado haciendo uso de la SDL, se trata de un juego que
nació hace ya tiempo, no sólo el clásico, sino también esta remake
Linux y debido a su modo de juego me ha parecido una buena alter- que comentamos. Un detalle que nos dice el tiempo que el juego tie-
nativa a comentar. ne, es que en 2003 ya existía una versión del juego para Xbox y poco
Con poco más de cinco megabytes y presentado en forma de después se compiló una versión para GP32. La primera release que
tarball, podemos descargarnos una demo para probar el juego, que usaba la SDL, data del 9 de octubre de 2000 y en ella se advertía que
posteriormente podemos comprar, que raro decir esto en esta sec- el uso de la SDL no estaba generalizado y que todavía había partes
ción pero sí, en Linux también hay software propietario, es parte de como el sonido que usaban librerías propias de sistemas *nix.
la libertad que caracteriza a Linux. Con el tiempo además de versiones para Xbox o GP32, se han de-
El precio de compra es desorbitado, más de 15 euros. Acostum- sarrollado versiones para una gran cantidad de plataformas, gracias
brados a software libre gratuito, pagar algo ya nos parece mal, pero al carácter multiplataforma de la librería SDL que hace realmente fácil
en este caso, el juego es simplemente el típico juego programado en este trabajo. Existen versiones para además de las ya mencionadas,
Python, como muchísimos otros que os hemos presentado en esta sec- para Play Station 2, GNU/Linux, Windows, BeOs, Solaris ejecutando
ción. Sin embargo, la demo puede aprovecharse lo suficiente, aunque en Sparc...

Galcon Kobodeluxe

siempre dan ganas de seguir jugando, pero la verdad no os recomien- Respecto a las versiones comentaros que la actual es la 0.40
do en absoluto que paguéis la licencia por las opciones que presenta. y que salió al público el 12 de junio de 2005, por lo que parece que en la
Es verdad que cuando estamos delante de un juego grande, pa- actualidad el proyecto está parado. La web del juego es bastante sim-
rece justo y todo, tener que pagar una licencia por juegos de gran ple y guarda una estética muy parecida a otras webs de juegos para
talla, con un gran equipo detrás, equipo que en ocasiones llega Linux.
a suponer un esfuerzo mayor que el equipo de una superproduc- El juego es un arcade en dos dimensiones en el que manejamos
ción de Hollywood. Este tipo de macro-juegos conlleva una serie de una nave con la que debemos destruir construcciones enemigas. El
esfuerzos, que parece lógico que se pida un coste económico a cam- juego va haciéndose más difícil nivel a nivel y la diversión no falta.
bio de la licencia, sin embargo en un caso como éste no me parece Existen varios tipos de objetos que actúan contra nosotros y que tie-
lógico en absoluto. nen distintos comportamientos por lo que las posibilidades aumen-
Las partidas se desarrollan en un sistema planetario con varios tan. Una característica que define al juego es su velocidad.
planetas. En un comienzo dispones de un planeta con 100 unida- En cuanto a cómo instalarlo, os querría decir que además de los
des de combate, con las que tienes que dominar el resto de los plane- paquetes disponibles con el código fuente, existen paquetes pre-
tas y finalmente destruir al contrincante. Los planetas tienen unas compilados para gran cantidad de distribuciones. Por ejemplo en
características, el coste de conquista y la capacidad de generación Ubuntu he podido instalarlo haciendo uso de apt-get sin cambiar
de recursos. siquiera un repositorio. En Gentoo y derivadas también es posible
Los gráficos son correctos para el propósito del juego. Sin em- instalarlo haciendo uso de Emerge, aparte también hay paquetes
bargo no son ninguna maravilla. El juego en verdad que es muy compilados para Slackware y en general para todas las distribu-
adictivo, pero como muchos juegos tan simples, no son para jugar ciones importantes, ya que el juego como os he comentado tiene
a ellos muchas horas, sino para matar horas muertas. ya su tiempo.
http://www.imitationpickles.org/galcon/index.html http://olofson.net/kobodl/

NOTE NOTE
jugabilidad «« jugabilidad «««
gráficos «« gráficos ««
sonido N/A sonido «««

www.lpmagazine.org 41
w software
Juegos sección llevada por Francisco J. Carazo Gil

Daphne Dark-Oberon
O s presento un emulador muy peculiar. La peculiaridad que
lo caracteriza es que emula a las máquinas arcade basadas
en Laserdisc. Muchos de vosotros os preguntaréis qué es un Laser-
U n proyecto de Sourceforge creado por estudiantes, con gráficos
que imitan a la plastilina y con un sistema de juego basado en el
clásico Warcraft II. Detalles todos ellos muy buenos y algunos como
disc. Los Laserdisc fueron inventados en 1958 por David Paul Gregg, el de los gráficos basados en plastilina, muy originales. Los gráficos
patentados posteriormente en 1961 y finalmente en el mercado en están basados en unos modelos reales, hechos con plastilina y que han
1978, sólo dos años que estuviera disponible el primer grabador/ sido posteriormente escaneados y modelados para dar forma al motor
reproductor de VHS y cinco años antes de la aparición del CD, que gráfico del juego. El resultado es una estética original y con una calidad
por cierto está basado en el Laserdisc, y que fue mucho más famo- que a pesar de no ser demasiado alta, cumple perfectamente con lo que
so que éste. el juego requiere. La estética en general del juego es original y la forma
Con un gran parecido a un CD pero con 30 cm. de diámetro, es del mismo recuerda muchísimo al que fuera precursor de los grandes
decir bastante más que un CD, los Laserdisc supusieron una tec- juegos de estrategia en tiempo real, Warcraft II, basado además en una
nología realmente avanzada para su tiempo ya que transmitían la fantasía medieval que le daba mayor interés. Los requerimientos del
información de manera binaria, mediante una onda modulada por juego demuestran el nivel gráfico del mismo, requiere al menos un
pulsos desde la realidad física y posteriormente modelada por fre- procesador a 1GHz y 512MB de RAM, además de por supuesto una
cuencia para la transmisión ya de información binaria. tarjeta gráfica que sea compatible con OpenGL.

Daphne Dark-Oberon

Ya que se podía almacenar información digital en ellos, fue aun- Es software libre y en la actualidad se encuentra disponible la ver-
que parezca extraño, utilizado para almacenar juegos de cara a ser sión 1.0.2 Release Candidate 2. Las plataformas en las que podemos en-
usados en máquinas arcade. Estos juegos son los que emula Daphne. contrarlos, son GNU/Linux y Windows. Está implementado en C++,
Daphne es software libre bajo licencia GPL. Está disponible para va- haciendo uso de la librería OpenGL y además de existir una versión en
rias plataformas, GNU/Linux, Mac OS y Windows. inglés, existen versiones en checo y eslovaco. Esperemos que algún día
Entre los juegos que podemos ejecutar con este curioso emu- alguien (podríamos ser nosotros) se muestre voluntario a traducir el
lador se encuentran: Drangon's Lair, Dragon's Lair II: Time Warp, juego a español. Respecto a la instalación del juego en sistemas GNU/
Cobra Command, Road Blaster, Super Don Quixote, Thayer's Quest... Linux, nos deberemos bajar el código fuente para compilarlo posterior-
y muchos más. La lista completa está disponible en la wiki del pro- mente. Deciros que para los usuarios de Windows existe un instalable
yecto: http://www.daphne-emu.com/. de manera que pueden también hacer uso del juego de una manera
Para poder hacer uso del emulador necesitaremos: casi inmediata.
Comparado con otros juegos que hemos comentado o comenta-
• El MPEG del juego o en su defecto el Laserdisc Original. mos a menudo en esta sección, clásicos remasterizados, clones de mi-
• La ROM del juego. tos del mundo del videojuego, o en general juegos simples desarrolla-
dos haciendo uso de la SDL, Python o alguna otra librería o API idea-
Todo ello está disponible a través de la Wiki del proyecto donde viene da para proyectos pequeños, este es un proyecto grande que recrea la
todo muy explicado. La realidad es que tanto la web como la docu- idea de un juego genial de una manera también muy adecuada. Ha
mentación del proyecto son muy buenas ambas. sido un gran trabajo el realizado (y el que siguen realizando) el equi-
En resumen, un emulador un tanto extraño y peculiar pero que po compuesto por: Martin Košalko, Michal Král, Jiří Krejsa y Valéria
por lo mismo es interesante. Šventová.
http://www.daphne-emu.com/ http://dark-oberon.sourceforge.net/

NOTE NOTE
jugabilidad N/A jugabilidad ««««
gráficos N/A gráficos ««««
sonido N/A sonido ««

42 Linux+ 5/2007
w Tres ejemplares por sólo 18,40 €
AHORRAS 10 €

+
Pide 2 números, el tercero recíbias GRATIS
Puedes elegir entre:

Pedido
Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o., Bokserska 1,
02-682 Varsovia, Polonia; e-mail: suscripcion@software.com.pl

Nombre(s) ......................................................................................... Apellido(s)........................................................................................

Dirección .........................................................................................................................................................................................................

C. P. ................................................................................................... Población, provincia ........................................................................

Teléfono ............................................................................................ Fax ....................................................................................................

E-mail ................................................................................................ Números elegidos: ..........................................................................

Precio de tres ejemplares deAbsender-Daten


Linux+ Extra: 18,40 €

Realizo el pago con:


□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO CVC Code
Válida hasta
□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO
Número de la cuenta bancaria: 0049-1555-11-221-0160876
IBAN: ES33 0049 1555 1122 1016 0876
código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:
w linux en la empresa
Pentaho Open Source BI

Business Intelligence
Open Source
Israel E. Bethencourt

Nos encontramos en una época interesante,


la información nunca había fluido tan libremente.
Esta situación nos permite disfrutar de todo
el conocimiento que podamos abarcar. Y de ahí,
de nuestro principal avance, surge nuestro
principal problema. Disponemos de tanta
información y nos llega de forma tan
abrumadora que bloquea nuestros sentidos
y acaba volviéndose inútil.

E
n la empresa moderna este problema surge de un panel donde se muestren los marcadores del nego-
linux@software.com.pl

de la misma forma que en otros aspectos de la cio más importante en nuestra empresa de forma visual
vida. Las aplicaciones de gestión, ERPs, CRMs, de manera que de un solo vistazo podamos determinar
etc., permiten obtener gran cantidad de infor- qué acciones hay que tomar para sortear un determinado
mación extremadamente útil para la toma de decisiones. problema.
Nuestro principal reto será extraer de toda esa información Disponemos de gran cantidad de herramientas que
el significado subyacente y mostrárselo al usuario de forma podemos integrar en nuestro negocio para recopilar toda
asequible. Ahí es donde entran en juego las aplicaciones de la información posible y extraer de ella su significado de
Business Intelligence (BI). forma visual.
Los sistemas BI son aplicaciones integradas en un gran Estos sistemas han experimentado un gran crecimien-
marco de trabajo que permiten extraer, presentar, analizar to en los últimos años, los productos estrella eran caras
y manipular toda la información de una empresa. El caso aplicaciones de marcas como Cognos, IBM, Microsoft
típico de aplicación BI consiste en un portal web donde y otras. Pero en el transcurso de estos dos últimos años
podemos desplegar y ejecutar todo tipo de informes so- un nuevo actor ha entrado en escena, se trata de Pentaho
bre los datos de cualquiera de nuestras aplicaciones de (www.pentaho.org), la solución Open Source para el BI. Ca-
gestión comercial, contable, etc. De esta forma liberamos da vez más se va posicionando al lado de sus competidores
la carga que supone ese trabajo a la aplicación principal
que se encargará únicamente de recopilar la información
diariamente mientras que la plataforma BI se encarga de Sobre el Autor
realizar tareas tales como generar una serie de informes
Israel E. Betancourt es desarollador de sistemas. Actual-
por departamentos que serán enviados por email a los
mente trabaja en la empresa CORE be digital S.L.
encargados al principio de la semana; podemos disponer

44 Linux+ 5/2007
w linux en la empresa
Pentaho Open Source BI

como una solución adecuada para gran varie- JBoss Portal Enhydra Shark
dad de situaciones. Es una aplicación desarrollada para JBossAS Entorno de workflow integrado en Pentaho. El
con lo que hereda todas las características an- entorno de workflow usa un lenguaje estándar
Pentaho Open Source BI tes mencionadas. Ofrece un sistema de ges- en XML: XPDL (XML Process Definition Lan-
Pentaho es un proyecto desarrollado por un tión de contenidos donde podemos mezclar guage) que define la ejecución de flujos de
grupo de líderes de productos BI privados co- contenidos estáticos con información extraí- negocio dentro del sistema.
mo son Business Object, Cognos, IBM, Oracle, da de nuestro sistema de BI configurando una Sobre esa base se desarrollan las aplica-
etc., con una gran experiencia en el sector. Su intranet con características inigualables para ciones de Pentaho que cubren las áreas más
meta principal es usar las ventajas que ofrece sus competidores. Ofrece también la posi- importantes para el desarrollo de soluciones
el modelo de Software Libre, cada una de las bilidad de incluir portlets sobre cualquier pá- BI para las empresas.
aplicaciones que comentamos más adelante gina del portal. Un portlet es una aplicación
se distribuyen bajo algún tipo de licencia libre web que cumple determinado estándar sobre Informes
del tipo LGPL, OSI, Apache, etc., para desa- la forma en que se codifica y ejecuta para que La creación de informes es una parte crucial
rrollar la herramienta líder en el entorno BI. sea posible integrarlos en diversos portales, en la gestión de la empresa. De la calidad de
Ofreciendo más funcionalidades y caracterís- principalmente en java. JBoss Portal nos per- éstos en su representación, en la información
ticas que sus competidores propietarios. mite reutilizar todos estos portlets e incluir que ofrecen y sobre todo en la forma en que
Para ello han adoptado una serie de apli- lectores de correo, calendarios y otras aplica- se adaptan a los cambios de la empresa obte-
caciones, componentes y APIs libres, que so- ciones colaborativas a nuestro sistema BI ca- nemos el punto diferenciador en las aplica-
bre la plataforma Pentaho forman una estruc- si sin esfuerzo, ampliando aún más las fron- ciones de BI. La instalación de pruebas de
tura sólida sobre la que construir cualquier teras de nuestra intranet. Por supuesto exis- Pentaho permite trabajar con tres tipos de
solución BI. ten otras alternativas libres a JBoss y JBoss generadores de informes distintos. JasperRe-
Además disponen de un programa de Portal y Pentaho también puede funcionar ports es el más popular, ya que es bastante
partners por todo el mundo que ofrecen cur- en ellas. fácil hacerlo funcionar junto con una aplica-
sos, asesoría y desarrollo de soluciones BI ción independiente, pero el editor de plan-
a medida. En España, uno de estos proveedo- Quartz tillas deja bastante que desear y en algunos
res asociados se encuentra representado por Es un planificador de tareas que ha sido inte- aspectos se ha quedado un poco anticuado,
Stratebi (http://www.stratebi.com/), en su pági- grado en Pentaho y que se encarga de ejecutar aunque dispone de un gran soporte y una
na web puede verse una demo de uno de los procesos planificados en el tiempo. Para los gran cantidad de usuarios.
productos que han desarrollado que puede que conozcan los sistemas UNIX, es el equi- El generador de informes BIRT está desa-
aclarar más las ideas sobre cómo quedaría valente al cron pero integrable en cualquier rrollado sobre la plataforma Eclipse y ofrece
una aplicación Pentaho terminada. También aplicación java. un novedoso sistema de diseño de plantillas
disponen de un blog (http://todobi.blogspot.
com/) donde podemos enterarnos de las últi-
mas noticias en el mundo del BI en español.
Ahora, avancemos un poco más en la in-
fraestructura de Pentaho de la cual hereda al-
guna de las grandes ventajas que posee. Está
completamente desarrollado en java, sobre la
plataforma Java Enterprise y usa una serie de
tecnologías relacionadas con este entorno:

JBoss Application Server


Es una de las aplicaciones libres más impor-
tantes en el entorno empresarial. Fue com-
prada por RedHat a finales del año pasado.
Las aplicaciones desarrolladas sobre este ser-
vidor heredan una gran cantidad de caracte-
rísticas avanzadas con el mínimo esfuerzo
para el desarrollador. Entre las característi-
cas que ofrece este sistema a la plataforma
podemos destacar su capacidad de clustering,
conexiones a todo tipo de bases de datos de
forma unificada, publicación de funcionali-
dades mediante servicios web, servidor web
y de correo integrado, autorización y autenti-
ficación centralizada con capacidad SSO
(Single Sign-On) y otras muchas característi-
cas que podemos consultar en su web: www.
jboss.org. Figura 1. Arquitectura funcional de Pentaho

www.lpmagazine.org 45
w linux en la empresa
Pentaho Open Source BI

orientado al documento, cada vez más se va ner ciertos conocimientos sobre la estructura su origen (ficheros de texto, bases de datos,
abriendo paso entre los usuarios más exigen- de los datos con los que trabajan y sobre el XML, etc.). Este procesamiento puede consistir
tes. Además está integrado en la plataforma programa que les permite navegar por ellos en buscar una serie de líneas de un archivo de
de desarrollo Eclipse con lo que no necesita- (en caso de Pentaho una aplicación externa texto y convertirlas en un registro de una base
mos salir del entorno de desarrollo para crear a la plataforma, aunque también libre lla- de datos o recuperar una serie de datos de una
y probar un nuevo informe. mada JPivot), pero una vez se han hecho con base de datos, transformarlos e insertarlos en
Por último el generador de informes las características básicas se les puede sacar mu- otra base de datos. Es muy útil para realizar
por defecto de Pentaho, JFreeReport. Ofrece cho más provecho que a un informe estático. importaciones de catálogos de proveedores,
funcionalidades equivalentes a JasperReport Ya que se trata básicamente de un informe copias de bases de datos, etc.
aunque de forma más integrada en Pentaho que se puede ir modificando según la infor- Pentaho adoptó recientemente una
y con un editor de plantillas más cuidado. De mación que nos interese ver tan sólo pulsan- aplicación ETL libre desarrollada sobre el
cualquier forma todos esperamos ansiosos la do un botón. entorno Eclipse llamada kettle. Con esta
versión 1.0 de este motor que tratará de igua- El proceso de construcción de un sistema aplicación podemos definir una serie de
lar o superar las funcionalidades de BIRT con de este tipo es un tanto más complicado que pasos donde cada uno de ellos realiza una
la ventaja de tener el motor de informes bien la generación de informes. Ya que para la acción sobre un conjunto de datos. Estos
integrado en la plataforma Pentaho. ejecución de los cubos OLAP (es así como se pasos pueden leer datos de una base de da-
Todos estos motores permiten generar llaman estos informes) se requiere una infra- tos, aplicarles algún tipo de procesamiento
el informe en diversos formatos: texto PDF, estructura un poco más compleja. Es necesa- mediante javascript; por ejemplo: realizar
HTML, Excel, etc., (aunque con un poco de rio copiar los datos con los que vamos a tra- comprobaciones de tipos o insertarlos en
programación se pueden añadir más forma- bajar a una base de datos alternativa, llamada una base de datos. Estos pasos se van ani-
tos) además de solicitar parámetros al usuario DataWarehouse o DataMart con una estructura dando visualmente creando un documento
para filtrar la fuente de datos e incluso enviar específicamente diseñada para aumentar la de transformación que se puede grabar
el documento resultante por email una vez velocidad de los informes de forma que los a disco y ejecutarlo posteriormente cuantas
haya terminado. usuarios puedan hacer modificaciones en vi- veces queramos.
vo a un informe de cientos de miles de regis- También podemos integrar estos docu-
Análisis tros sin que noten retardos de consideración. mentos para que sean ejecutables desde la
El sistema de análisis de datos de Pentaho está Dado que de la calidad de los datos ex- plataforma de BI, como veremos posterior-
basado en el servidor OLAP (de las siglas On traídos de la base de datos original se deter- mente.
Line Analytical Processing) Mondrian (http:// minará la calidad de los cubos OLAP resul-
mondrian.pentaho.org/). Mediante esta aplica- tantes, es muy importante poner extremo Paneles de mandos
ción podemos inspeccionar grandes volúme- cuidado en la extracción de estos datos. En Estos paneles están formados por una serie
nes de datos modificando su presentación, agru- esta situación una buena planificación y unas de controles gráficos que permiten mostrar
pándolos de distintas formas, seleccionan- herramientas de apoyo para realizar esta de forma rápida e intuitiva los marcadores
do distintos valores, para a continuación, por tarea es crucial para realizar un proyecto de principales del rendimiento del negocio de
ejemplo mostrar una gráfica con el resultado. este estilo con éxito. forma que en una pantalla podemos obte-
Todo de forma visual e inmediata. ner medidas sobre el funcionamiento de la
Podríamos equipararlo a un informe Integración de datos ETL empresa.
modificable en línea mucho más avanzado, Con las herramientas ETL podemos realizar Actualmente no hay mucho soporte pa-
los usuarios de estos sistemas tienen que te- procesamiento de datos, cualquiera que sea ra la implementación de estos controles así
que hay que hacer mucho trabajo a mano,
pero en breve se esperan una serie de asis-
tentes que permitan desarrollarlos de forma
visual igual que el resto de las aplicaciones
Pentaho.
Todas estas aplicaciones se pueden usar
por separado descargándolas de forma inde-
pendiente y configurándolas para que acce-
dan a nuestras fuentes de datos. Si sólo ne-
cesitamos una aplicación concreta segura-
mente ésta sea la mejor opción. Pero desde
el momento que queramos ofrecer funcio-
nalidades más avanzadas usando varias de
estas aplicaciones y que se vean integradas
como una sola requeriría mucho trabajo de
programación para conseguir una aplica-
ción donde integrarlas todas juntas. Con
Pentaho esta tarea no es necesaria, pode-
mos trabajar con todas estas aplicaciones
Figura 2. JBoss Portal recién instalado una vez instalado Pentaho, además con

46 Linux+ 5/2007
w linux en la empresa
Pentaho Open Source BI

muy poco esfuerzo podemos hacer que figured Installation o PCI) lo descomprimi- las ventajas de usar este gestor de conte-
kettle cree un DataMart para Mondrian que mos en un directorio de trabajo y lo ejecu- nidos. En la página principal podemos ver
mostrará un cubo OLAP cuando se pinche tamos. que se ha añadido contenido estático y unas
sobre un control de un panel de mandos noticias extraídas de la web de Pentaho co-
en una página de JBoss Portal. Como mu- $ tar xvzf pentaho mo pantalla de bienvenida. Además tam-
chas grandes ideas no crean nada nuevo, -demo-1.2.0.534 bién tenemos la opción de registrarnos para
simplemente se simplifica lo existente de -GA.tar.gz acceder a contenido protegido. En la parte
forma que podemos llevar las tecnologías cd pentaho-demo/ superior tenemos una serie de pestañas por
que ya existían un nivel más allá. $ ./start-pentaho.sh las que podemos ir navegando para ver los
distintos ejemplos. Si queremos ver un pa-
Probando Pentaho Una vez ha terminado de arrancar podemos nel de mandos en funcionamiento, vamos
En la zona de descargas de Pentaho nos en- ver la aplicación en http://localhost:8080/pen- a la pestaña Dashboard. Nos registramos
contramos dos versiones, la estable (General taho/. La página principal ya nos empieza para poder ver el contenido haciendo clic
Availability) preparada para el entorno de a mostrar las ventajas que nos ofrece este donde nos indica. Pulsamos en clic aquí
producción y la versión de desarrollo para sistema. Nos muestra dos gráficos de tarta, para loguearse como Joe, de esta forma se re-
poder probar las nuevas funcionalidades que uno con el total de ventas por territorio y el llena automáticamente la información de
se van añadiendo. Dentro de cada sección otro por tipo de producto. Al pinchar sobre login así sólo tenemos que pulsar el botón
encontramos una lista de opciones para des- una porción de alguna de las tartas en el para ver el resultado. A continuación nos
carga, entre ellas nos encontramos diferentes gráfico de barras vemos un detalle de las salen unos recuadros con unos títulos bas-
secciones: ventas por artículo. tante prometedores, pero nada más. Para
Para ver más ejemplos vamos al menú poder ver información sobre ellos debe-
Pentaho Open BI Suite Navigate -> Soluciones. En esta página te- mos aplicar un filtro en el cuadro superior
and Pentaho Reporting Server nemos una lista de carpetas que contienen izquierdo. Cualquier filtro que realicemos
En esta sección podemos descargar una dis- todas las acciones disponibles en la solución debería mostrar datos. Podemos ir modi-
tribución de Pentaho lista para funcionar. samples. Entrando en cualquiera de estas ficándolo para ver distintos resultados. Al
Con una serie de datos de prueba y ejem- carpetas podemos ver las acciones disponi- pulsar sobre Actualizar vemos el resulta-
plos para todas sus funcionalidades pode- bles para ejecutar. En Navigate -> My Wor- do de la consulta realizada. Además po-
mos comenzar a trabajar con ella nada más kspace podemos ver la lista de acciones que demos pulsar sobre los gráficos y se nos
descargarla. Sólo requiere una versión de hemos ejecutado en segundo plano. Si un mostrará un cubo OLAP con el detalle de
java 1.4+ instalada correctamente. Además informe tarda demasiado en ejecutarse, po- la información de la gráfica. De forma que
en esta sección disponemos de una serie de demos lanzarlo en segundo plano y seguir podamos ir explorando la información por
componentes para integrar Pentaho con los trabajando en otras cosas. Cuando termine capas.
gestores de proyectos más conocidos: JIRA estará disponible en My Workspace hasta que En la pestaña Reporting podemos ver
y bugzilla. lo eliminemos. varios ejemplos de informes con los motores
La tercera opción del menú Navigate, antes mencionados. Basta con pinchar sobre
Pentaho Design Studio Portal muestra los mismos ejemplos pero ellos para obtener el resultado inmediata-
Herramientas visuales para trabajar con dentro de JBoss Portal donde podemos ver mente. La pestaña bursting muestra cómo
Pentaho. Entre ellos encontramos diseñado-
res de informes, cubos de análisis, etc.

Developers and Administration


Incluye los elementos de Pentaho por sepa-
rado para realizar una instalación desde cero
y algunas aplicaciones extra para la explo-
ración y modificación de datos que veremos
más adelante.

Documentation
Aquí encontraremos todo lo necesario pa-
ra hacer nuestro trabajo más productivo.
Imprescindible leer Pentaho Getting Started
Guide y Pentaho Creating Solutions. También
es recomendable visitar los foros donde se
resuelven dudas y problemas a los usuar-
ios. Lo que comento aquí sobre los prime-
ros pasos con Pentaho está, en parte, extraí-
do de esos documentos.
Para ver todo el sistema en marcha,
bajamos Pentaho Open BI Suite (Pre-Con- Figura 3. Pantalla de panel de mandos mostrando diversas medidas

www.lpmagazine.org 47
w linux en la empresa
Pentaho Open Source BI

dor de informes, aunque si no nos con-


vence también podemos usar BIRT o Jas-
perReport, entre otros.
• Pentaho Data Integration (kettle): Realiza
tareas para la construcción de Data
Marts, importación, exportación, lim-
pieza de bases de datos y otras muchas
funcionalidades de una forma rápida
y segura. Se puede usar de forma in-
dependiente. Si trabajas a menudo con
distintas bases de datos, ficheros CSV,
moviendo datos de un lado a otro, esta
aplicación resolverá muchos de tus
problemas.
• OLAP: Sistema de análisis de datos me-
diante el servidor OLAP Mondrian.

Puede que todo esto resulte un tanto comple-


jo. Sí, parece que hay un montón de opciones,
pero... ¿Cómo usarlas?, ¿cómo integrarlas
Figura 4. Pentaho recién instalado
para que trabajen juntas? Para entender esto
podemos distribuir informes entre sucursa- • Charting: Usando las librerías JFreeChart debemos conocer un poco más sobre la es-
les. y mediante el componente Queryng po- tructura de Pentaho.
Para ver cómo se ha construido este demos crear todo tipo de gráficas.
portal podemos ver las opciones de confi- • Scheduling: El planificador de tareas nos Creando una solución
guración en el menú desplegable Portals permite programar la ejecución de distin- Pentaho
y seleccionar el portal defaults. Nos regis- tas acciones de forma automática. Cada componente antes mencionado defi-
tramos en el sistema con el usuario admin • Prompting And Filtering: Permite solicitar ne una serie de acciones (Action Definitions).
y contraseña admin (si ya estamos regis- información al usuario mediante formu- Estas acciones son documentos XML don-
trados como otro usuario debemos salir larios HTML. de se especifican los parámetros, recursos
y registrarnos de nuevo) y a continuación • Reporting: Permite ejecutar informes, la y configuraciones necesarias para ejecutar
pulsamos sobre el menú management. Ahí fuente de datos de los mismos pueden una tarea específica de un componente. Qui-
podemos ver el árbol de páginas del portal ser un componente Queryng, javascript zá le aclare un poco las ideas verlo como
con todas sus configuraciones. Las modifi- o Prompting and Filtering. Pentaho usa funciones que solicitan una entrada, rea-
caciones que realicemos aquí se reflejarán por defecto el API JFreeReport incluido lizan una operación determinada y entre-
inmediatamente en el portal. en Pentaho recientemente. Actualmente gan una salida. Cada componente tiene un
Esta versión de Pentaho viene con un tienen grandes planes para este genera- número arbitrario de funciones o acciones.
conjunto de componentes bastante amplio
con lo que es muy poco probable que nos
veamos en la necesidad de crear uno nuevo,
con lo que el trabajo con Pentaho se reduce
a la ejecución de las funcionalidades de los
componentes ya existentes. Echemos un vis-
tazo a los componentes principales que inte-
gra:

• Email: Este componente permite en-


viar email en formato texto o html,
además puedes incluir ficheros adjun-
tos.
• Javascript: Este componente permite eje-
cutar código javascript.
• Printing: Permite imprimir informes o cual-
quier contenido en impresoras configu-
radas en el servidor Pentaho.
• Queryng: Permite acceder a diversos tipos
de fuentes de datos, por ejemplo bases de
datos SQL y obtener un subconjunto de
los mismos. Figura 5. Cubo OLAP del ejemplo Steel Wheels

48 Linux+ 5/2007
w linux en la empresa
Pentaho Open Source BI

www.lpmagazine.org 49
w linux en la empresa
Pentaho Open Source BI

Para poder llamar a estas acciones necesi- esos datos al componente de Reporting para los datos que indicamos antes. La primera
tamos conocer los parámetros de entrada generar un informe y mostrarlo en panta- parte de la URL depende de la configura-
que requiere y dónde entregará la salida lla o enviarlo por email. ción del servidor y es siempre igual: http://
resultante. Toda esta información está dis- Todo esto se puede hacer creando un localhost:8080/pentaho/ViewAction?solution=
ponible en la documentación de Pentaho. fichero XML y copiándolo al directorio de samples&path=getting-started&action=Hello
Pero ejecutar una sola acción no suele ser la solución junto con todos los recursos ne- World.xaction.
muy útil. Lo ideal sería agrupar una serie cesarios: plantilla del informe, etc. Después Si por el contrario queremos ejecutarlo
de acciones de diversos componentes de lo podemos ejecutar a través de una URL, como un servicio web, podemos lanzar la
forma que funcionen juntos y crear así una desde una aplicación java mediante una siguiente URL: http://localhost:8080/pentaho/
secuencia de acciones que realice un traba- API o usando un servicio web. Todo sin te- ServiceAction?solution=samples&path=getting
jo determinado de forma auto contenida. ner que programar ni una línea de código. started&action=HelloWorld.xaction.
Este es el trabajo principal que realizare- Aunque la ventaja principal es que si nece- El resultado será un documento SOAP
mos con Pentaho. sitamos programar algo que falta, el siste- con el resultado de la ejecución de la ac-
El elemento principal de una solución es ma es lo suficientemente flexible para poder ción.
una secuencia de acciones (Action Sequence). hacerlo.
Consiste en un documento XML donde po- Para ejecutar estas acciones necesita- Pentaho Design Studio
demos anidar la salida de una acción con la mos conocer una serie de parámetros sobre Después de la fiebre del XML todos nos
entrada de otra. la misma: hemos ido dando cuenta que a lo mejor lo
Una solución es un conjunto de secuen- de editar XML a mano no era tan fácil como
cia de acciones que conforman todas las • solution: Es el nombre del directorio que podría parecer en un principio. Así que pa-
operaciones disponibles en el sistema, enfo- aloja la solución dentro del depósito de ra evitar el infierno que podría suponer edi-
cadas a resolver los problemas del negocio. soluciones. tar todos estos ficheros a mano disponemos
Construye un puente entre los componen- • path: Es la ruta de directorios dentro de de una aplicación que nos permite crear
tes antes mencionados y el usuario final. la solución hasta la acción que queremos y modificar las acciones de forma mucho
Una instalación de Pentaho puede albergar ejecutar. más intuitiva.
una o más soluciones, alojadas todas en el • action: Es el fichero que contiene la se- Para descargar esta herramienta antes
depósito de soluciones: Solution Reposi- cuencia de acciones. Suelen contener la debemos descargar el entorno de desarrollo
tory. extensión .xaction. eclipse en www.eclipse.org. Suele estar dis-
El caso más común es usar un compo- ponible también en la mayoría de depósi-
nente Filtering para solicitar determinada in- Una vez tenemos estos datos podemos tos APT con lo que seguramente podremos
formación al usuario, unas fechas por ejem- componer una URL que ejecute una acción instalarlo usando la herramienta de instala-
plo. A continuación pasamos la entrada es- cualquiera. Por ejemplo en la instalación de ción de nuestra distribución.
crita por el usuario a un componente Javas- pruebas hay una acción llamada HelloWorld. A continuación descargamos el plugin
cript donde realizamos una serie de contro- xaction que muestra un mensaje por panta- para Pentaho en la sección Eclipse Action
les y pre-procesamiento. Después usamos lla. Para ejecutarlo podemos ir navegando Sequence Plugin only. Para instalarlo basta
esos parámetros para realizar una consulta por las páginas de Pentaho hasta localizarla con descomprimir el archivo en el direc-
en una base de datos y finalmente, pasamos y ejecutarla o crear la URL directamente con torio de plugins de nuestra instalación de
eclipse (probablemente en /usr/lib/eclipse).
Si queremos ver o modificar las planti-
llas de informes JFreeReport necesitamos
descargar Pentaho Report Designer. Otra ap-
licación interesante es Pentaho Data Inte-
gration para crear transformaciones ETL.
Para instalar estas aplicaciones basta con
descomprimirlas en un directorio de tra-
bajo.
Para comenzar a trabajar con el editor de
acciones abrimos eclipse una vez instalado el
plugin. Cerramos la pantalla de bienvenida
y creamos un nuevo proyecto simple en
File–>New Project. Ponemos un nombre de
proyecto, desactivamos la selección Use De-
fault y seleccionamos el directorio pentaho-
solutions dentro de nuestra instalación PCI
de Pentaho.
Ahora deberías poder explorar todo el
depósito de soluciones y abrir los ficheros
xaction con el editor de acciones y verlos de
Figura 6. Editando una plantilla de informe con ReportDesigner forma visual.

50 Linux+ 5/2007
w linux en la empresa
Pentaho Open Source BI

Figura 8. Trabajando con la herramienta ETL kettle

y requerirán un poco más de esfuerzo por


nuestra parte, pero no cabe duda de que su
negocio podrá beneficiarse mucho de esta
aplicación dedicándole el tiempo adecuado.
O acudiendo a los partners certificados que
ofrecen servicios de desarrollo y consul-
toría en este tipo de soluciones. De cual-
quier forma es indispensable leer el manual
de instalación avanzada que explica los
pasos necesarios para realizar una instala-
Figura 7. Editando una xaction desde el editor de acciones ción en producción. Además, si en nuestra
El editor se muestra con cuatro pestañas realizan en la secuencia de acciones. Final- empresa ya disponemos de un servidor
en la parte baja. mente en Action details podemos ver los JBoss podemos instalar Pentaho fácilmen-
parámetros de la acción seleccionada en la te en el mismo servidor.
• General: muestra las propiedades bási- sección Process Actions cada acción tiene su Según una encuesta anual de Gartner,
cas como título, descripción, logo, etc. propio editor donde podemos introducir en el año 2005 el tema BI en la empresa era
• XML Source: El fichero XML en bruto. los parámetros necesarios para ir conectan- el número dos en prioridades tecnológicas
• Test: Permite ejecutar la acción en el do una acción con otra. de la empresa. Actualmente hay cuatro em-
servidor Pentaho desde el editor de ac- Profundizar más en estas herramientas presas: IBM, Microsoft, Oracle y SAP que
ciones. requeriría más espacio del disponible, pe- tienen copado el mercado, pero poco a po-
• Define Process: Definición de la secuencia ro siempre podemos encontrar una des- co se van posicionando otras alternativas
de acciones. cripción más exhaustiva de todas estas más apropiadas para empresas de distintos
herramientas en los correspondientes ma- tamaños. Sea con Pentaho o no, es fundamen-
Esta última pestaña es la más importante. nuales. Lo mejor para ir comprendiendo tal explorar este terreno en empresas que exi-
En ella se muestra toda la información re- el funcionamiento de todo el sistema es jan un alto rendimiento de su negocio.
ferente a la secuencia de acciones que ha- instalarlo y empezar a modificar los ejem- Se esperan movimientos realmente inte-
yamos abierto. Como podemos ver se divi- plos e ir viendo cómo se comporta. resantes para los que estén involucrados en
de en cuatro bloques principales: Process Después una instalación en vivo re quie- este mundo ya que cada vez salen más com-
Inputs que se dividen en entrada y recursos, re una serie de configuraciones adiciona- petidores al mercado con nuevas y mejores
Outputs se corresponde con la salida que les, eliminar todos los ejemplos, conectar- herramientas, además Pentaho promete mu-
generará la acción, Process Actions podemos lo a nuestra base de datos, etc. Todas estas chas y grandes novedades para este año las
ver una lista de todas las acciones que se operaciones son un poco más avanzadas cuales será interesante seguirle la pista.

P U B L I C I D A D

www.lpmagazine.org 51
w linux en la empresa
LinEx para empresas

LinEx Pyme,
software libre para
la gestión empresarial
Juan Jose Torres Pérez, Milagros Cristobal Sevilla, Alberto Reynolds Moreno, Técnicos de proyecto LinEx PYME

En Extremadura se ha pasado de las palabras a la


acción y se ha llevado a cabo la introducción del
software libre en los campos educativos (GnuLinEx)
y empresariales (LinexPyme). En lo que se refiere
al ámbito empresarial todo empezó a partir de
octubre de 2004, cuando fue presentada Linex
Empresa. Linex Empresa era una distribución
basada en GnuLinEx a la que se le habían
añadido un conjunto de soluciones de gestión
empresarial, principalmente aplicativos para la
facturación, control de almacén y contabilidad.

L
os promotores del proyecto fueron Vivernet dentro del Plan Nacional de Investigación Científica,
linux@software.com.pl

(Programa de la Consejería de Infraestructu- Desarrollo e Innovación Tecnológica (2004-2007) depen-


ras y Desarrollo Tecnológico de la Junta de diente del Ministerio de Industria, Turismo y Comer-
Extremadura en colaboración con Fundecyt) cio.
y Fundecyt (Fundación para el desarrollo de la Ciencia y la El objetivo de este proyecto se ha visto cumplido a fi-
Tecnología en Extremadura). nales del año 2006 y se ha mejorado la distribución origi-
LinEx Empresa fue de las primeras distribuciones de nal convirtiéndose en LinEx Pyme: conjunto de solucio-
Software Libre, bajo licencia GPL y en español destinada nes integrales para la Gestión Empresarial, en Software
específicamente a las empresas. Y entre noviembre de 2004 Libre, bajo licencia GPL que proporciona a la empresa un
y enero de 2006, de la solución de gestión empresarial sistema operativo, suite ofimática, Internet, correo elec-
LinEx Empresa fueron distribuidas 46.147 copias y del trónico, multimedia, programas de gestión de proyectos,
paquete Gestión LinEx-Facturlinex + Contabilidad hubo edición y maquetación editorial y herramientas específi-
más de 40.500 copias descargadas. cas para la gestión diaria empresarial, como programas
En Enero de 2006 Vivernet, Fundecyt e Iiesa (Insti- de control de almacén, TPV, facturación (FacturLinEx),
tuto de Innovación Empresarial de Jaén) ponen en mar- contabilidad (ContaLinEx), gestión de recibos bancarios
cha el proyecto LinEx Pyme con la intención de mejorar (ReciboLinEx) y gestión de nóminas (NominaLinEx),
la distribución y ampliar el ámbito de actuación a otras entre otros.
comunidades autónomas. Así LinEx Pyme se acogió al Además se ha diseñado un Plan Piloto de Implanta-
Programa Nacional de Tecnologías de Servicios de la ción de LINEX PYME en 10 empresas de cada Comuni-
Sociedad de la Información/ Software de código abier- dad Autónoma piloto (Extremadura y Andalucía) que es
to para prioridades temáticas multidisciplinares (e-ne- ya una realidad en el primer trimestre de 2007. El proyec-
gocio; e-pyme; e-formación; e-administración; e-hogar) to cuenta también con una plataforma virtual de apoyo

52 Linux+ 5/2007
w linux en la empresa
LinEx para empresas

ContaLinEx
Aplicación adaptada al Sistema Contable Es-
pañol que permite efectuar la contabilidad
diaria de una PYME. Está integrada al 100%
con la aplicación anterior, Facturlinex, e igu-
almente es compatible con aplicaciones pro-
pietarias conocidas de este género como Con-
taplus. Permite la gestión, selección y lista-
do de distintas empresas, genera apuntes
tipificados, extracto de cuentas, balances de
sumas y saldos, cuenta de Pérdidas y Ganan-
cias, gestión de IVA emitido/recibido, etc.

ReciboLinEx
Aplicación que permite la emisión de recibos
bancarios y domiciliaciones de adeudos en
soporte magnético según la norma 19 del CSB
(Consejo Superior Bancario) para la gestión
de cobros.

Figura 1. Captura de pantalla del programa FactuLinEx


NominaLinEx
y difusión que denominamos Punto de In- Principales aplicaciones Solución que permite gestionar de manera
formación de Software Libre (PISL): http:// de gestion de LinEx PYME informatizada las nóminas de los trabajado-
www.linexpyme.com. FacturLinEx (Terminal de Punto de Venta y Fac- res. Está adaptada a la Legislación Vigente
turación), es una aplicación cliente-servidor y contiene tablas de cotización actualizables.
Características de la distribución con la posibilidad de ejecución multiusuario Este aplicativo permite gestionar Contra-
LinEx Pyme para la gestión integral de la facturación tos y bajas de Trabajadores, Convenios Co-
El objetivo de este proyecto es apoyar a las desde una pequeña empresa hasta una gran lectivos, Epígrafes, Tipos de Cotización, Ba-
PYMES, crear y desarrollar una completa so- empresa con 9999 sucursales, siendo la co- ses de Cotización, Seguros Sociales TC1, TC2
lución de gestión empresarial financiera y de nexión entre todas ellas en tiempo real per- (sólo contempla en régimen general por el
comunicación LinExPYME basada en Soft- mitiendo controlar el movimiento de todo el momento) y la comunicación RED se en-
ware Libre para la PYME, que cubra prácti- almacén, la caja y la facturación. Este módu- cuentra en desarrollo.
camente el 100 % de sus necesidades de ges- lo está preparado para trabajar en entornos
tión y comunicación financiera. PYMES como puede ser un estanco, una Instalacion de LinEx PYME
Esta solución tecnológica se presenta co- tienda de ropa, e incluso incluye un módulo LinEx PYME es una variante de gnuLinEx,
mo una distribución completa cuyas caracte- para hostelería. por lo que tiene el mismo sistema de insta-
rísticas principales son las siguientes:

• Facilidad de instalación, incluyendo exclu-


sivamente Software de libre distribución
y copia,
• Entorno amigable y facilidad de uso,
• Todas las aplicaciones en español,
• Cubriendo las necesidades básicas de ges-
tión financiera y comunicación.

LinEx-PYME es un conjunto de software in-


tegrado, para la gestión corporativa de una
PYME, que proporciona a la empresa un
sistema operativo, suite ofimática, Internet,
correo electrónico, multimedia, programas
de gestión de proyectos, edición y maque-
tación editorial y herramientas específicas
para la gestión diaria empresarial, como
programas de control de almacén, TPV, fac-
turación (FacturLinEx), contabilidad (Con-
taLinEx), gestión de recibos bancarios (Re-
ciLinEx) y de gestión de nóminas (Nomina-
LinEx). Figura 2. Iniciando la instalación de LinEx PYME

www.lpmagazine.org 53
w linux en la empresa
LinEx para empresas

Figura 5. Configuración de interfaz gráfica

mos elegir la instalación en Modo Texto


o en Baja Resolución.
• Seleccionamos el tipo de monitor

En este momento debemos crear las parti-


ciones necesarias para la instalación de la
distribución. La fase de particionamiento
es quizás la más complicada para el usuario
inexperto.
Figura 3. Elección del modo en el que deseamos utilizar el espacio en nuestro disco duro Si no tenemos ningún otro sistema ope-
lación, configuración y usabilidad que este. Para arrancar desde el DVD e iniciar la rativo instalado o simplemente estamos
Para instalar LinEx PYME es necesario que el instalación de LinEx PYME es necesario que seguros de tener una partición libre o que-
ordenador cumpla con una serie de requisitos una vez introducido el disco de instalación en remos remplazar otro sistema gnuLinux
mínimos, Pentium 200MHz o similar, 2 GB el lector de DVD, establezcamos en la BIOS instalado por LinEx PYME seleccionaremos
de espacio en disco duro, 128 MB de memoria que el arranque primario del sistema sea des- el Particionamiento Automático. Este consis-
RAM, Tarjeta gráfica compatible VESA , Lec- de esta unidad. Una vez realizado este paso te en dividir el disco duro en varios blo-
tor de DVD. y arrancado el ordenador con el DVD de ins- ques.
Debemos descargar la imagen de insta- talación aparecerá la siguiente pantalla con la Elección del modo en el que deseamos
lación de Linex PYME desde la dirección de que iniciaremos la instalación paso a paso: utilizar el espacio en nuestro(s) disco(s) du-
Internet http://www.gnulinex.net/distribucion/, ros:
una vez descargado el fichero, en formato iso, • Seleccionamos el tipo de instalación que
debemos quemarlo en un DVD o en un CD queremos realizar, probamos primera- • Eliminar todas las particiones Linux en
de 800Mb de capacidad con cualquier pro- mente la primera opción y en caso de te- este sistema.
grama de grabación de CD/DVD. ner problemas con el modo gráfico pode-
Si tenemos otra(s) distribución(es) de GNU/
Linux y queremos borrarla(s) debemos mar-
car la primera opción

• Eliminar todas las particiones de este


sistema.

Si tenemos otro sistema operativo instalado


y no deseamos conservarlo, podemos elegir
esta opción, para que LinEx PYME aproveche
todo su disco duro.

• Guardar todas las particiones y usar el


espacio libre existente.

Esta es la opción por defecto de LinEx PYME


y, sin duda, la más recomendable. De este
modo conservaremos todos los sistemas ope-
rativos y particiones utilizadas, instalándose
únicamente en aquella parte del disco duro
que esté sin formato alguno.
Podemos ver en esta imagen el resultado
Figura 4. Selección de grupos de paquetes del particionamiento automático.

54 Linux+ 5/2007
w linux en la empresa
LinEx para empresas

El gestor de arranque (GRUB) es un


programa que al iniciar el ordenador nos in-
forma de todos los S.O. que tengamos ins-
talado y nos permite seleccionar el inicio
en uno u otro. La instalación del gestor de
arranque es automática, tan solo se nos
consultará si lo queremos o no instalar.
Configuramos los usuarios, como es
normal en todos los sistemas GNU/Linux,
y paraello indicaremos la clave del admi-
nistrador y nombre y clave de un usuario
normal que accederá por defecto una vez
instalado el sistema.
En este apartado personalizamos los
paquetes de software que se instalarán en
nuestro sistema.
Iniciamos la instalación, seleccionamos
la tarjeta de vídeo, la profundidad de co-
lor y la resolución de pantalla. Luego fina-
lizamos la instalación y reiniciamos el sis-
tema.
Figura 6. Iniciando LinEx PYME
Conclusiones
LinEx Pyme da el relevo a LinEx Empresa,
siendo uno de los deseos de sus promotores
poner a disposición de la Comunidad de
Software Libre un sistema operativo con una
Suite Empresarial que sea validado y mejo-
rado tanto por la Comunidad de desarrolla-
dores como por sus destinatarios finales,
las pymes.

En la red
• http://www.gnulinex.net/,
• http://www.linex.org/,
• http://www.gnu.org/
home.es.html,
• http://www.vivernet.com,
• http://www.fundecyt.es.
Figura 7. LinEx PYME en acción

P U B L I C I D A D

www.lpmagazine.org 55
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

Desarrollo de Juegos
en Linux con OGRE3D
Daniel Barrientos Carrera, Enrique Puertas Sanz, José Carlos Cortizo Pérez

La industria de los videojuegos es una industria


cada día más creciente, capaz de sobrevivir
(y con mucho éxito) a cuestiones tan duras como la
piratería. Pese a que el mercado fundamental
de la mayoría de los videojuegos sean las consolas
o bien la plataforma Windows, GNU/Linux se
muestra como una alternativa cada día más
atractiva, tanto por el número de usuarios, el apoyo
de la comunidad, así como por el desarrollo de
nuevas herramientas que facilitan el desarrollo de
juegos que no tienen nada que envidiar a algunos
videojuegos comerciales.

P
ese al enorme esfuerzo invertido en potenciar
linux@software.com.pl

la usabilidad de los sistemas Linux, tratando Lo que aprenderás


de atraer usuarios desde otras plataformas, aun
Con este artículo aprenderás a compilar e instalar OG-
encontramos mucha gente que se siente reacia
RE3D, así como a crear una escena desde OGRE, cargar
a dar el salto, debido muchas veces al poco soporte que
una malla, crear un punto de luz, un suelo, un cielo y una
tienen los videojuegos en el mundo Linux.
cámara. Esto servirá de base para posteriores artículos
Y es que, seamos realistas, los juegos tienen mucho
donde aprenderemos a cargar nuestras propias mallas,
tirón: desde que se popularizó el uso de los ordenadores
mover los objetos, etc.
personales como herramienta doméstica, el sector del vi-
deojuego ha sido el que ha impulsado grandes cambios en La pregunta que debemos hacernos entonces es: ¿por
nuestros ordenadores personales. Fueron los videojuegos qué la industria del videojuego no acaba de introducirse en
los que hicieron que se popularizaran las tarjetas de sonido el mundo Linux?
(las míticas Adlib o Sound Blaster), las potentes tarjetas La respuesta parece sencilla: actualmente no hay mer-
gráficas actuales que liberan al procesador de realizar cado como para que las grandes compañías se interesen en
muchos de los complejos cálculos necesarios en los juegos sacar versiones para Linux. Hoy en día, la producción de
o los saltos generacionales en las familias de microproce-
sadores. Si somos capaces de ampliar o incluso cambiar
nuestros ordenadores solamente para poder jugar a ese Lo que debes saber
videojuego que acaba de salir al mercado y que exprime
Para seguir adecuadamente este artículo conviene que
los recursos de nuestra máquina, ¿por qué vamos a cam-
tengas unos conocimientos medios de C++ así como
biar a un Sistema Operativo en el que no puedo jugar a mi
algunos conocimientos de manejo de gráficos.
juego favorito?

56 Linux+ 5/2007
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

un videojuego es un proceso largo y costoso. para Windows). Además, OGRE3D provee mente el nivel de detalle de forma progre-
El presupuesto de algunos videojuegos supe- soporte para programas de vértices y sha- siva, provee exportadores para la mayoría
ra incluso al de grandes super producciones ders personalizados escritos en GLSL, HLSL, de los programas de modelado 3D (3D Stu-
cinematográficas. Cg y en ensamblador, gestiona automática- dio Max, Maya, Blender, LightWave, Sket-
Pero Linux y el mundo del Software
Libre cuentan con un importante factor a su Listado 2. Programa principal de nuestro primer juego con OGRE
favor que puede hacer que todo esto cambie
en un futuro: una enorme comunidad dis- int main( ) {
puesta a colaborar, y multitud de recursos Root *root;
libres para la creación de videojuegos. Con RenderWindow *renderWindow;
herramientas como Blender u OGRE3D (que EventProcessor *eventProcessor;
usaremos para este pequeño tutorial) se pue- SceneManager *sceneMgr;
den conseguir resultados que poco tienen Camera *camara;
que envidiar a otras herramientas comer- Viewport *viewPort;
ciales. Entity *ninja;
Light *luz;
El motor OGRE3D SceneNode *nodoNinja;
OGRE3D (Object-Oriented Graphics Rendering root = new Root();
Engine, http://www.ogre3d.org) es un motor //mostramos ventana de configuracion
de renderizado 3D orientado a escenas es- if (!root->showConfigDialog() ) {
crito en C++ y diseñado para hacer más fácil delete root;
e intuitivo el desarrollo de aplicaciones que return 0;
utilizan aceleración 3D. OGRE3D abstrae }
los detalles de utilización de las librerías root->initialise(false);
gráficas subyacentes (Direct3D y OpenGL) //creamos ventana
y provee una interfaz basada en clases in- renderWindow = root->createRenderWindow("Mi primer programa con
tuitivas (gestor de escena, nodo del grafo de OGRE",600,600,false);
escena, cámara, etc.). A pesar que OGRE3D eventProcessor = new EventProcessor();
no pueda ser definido como un motor de eventProcessor->initialise(renderWindow);
juegos completo, sí que provee muchas eventProcessor->startProcessingEvents();
facilidades, así como plugins para extender sceneMgr = root->createSceneManager(ST_GENERIC);
la funcionalidad del motor como pueda ser camara = sceneMgr->createCamera("camara1");
ODE (motor de físicas), lo cual lo convierte viewPort = renderWindow->addViewport(camara);
en una herramienta muy potente al alcance cargaRecursos();
de todos. //establecemos el ambiente para que haya algo
OGRE3D es multiplataforma (Windows, sceneMgr->setAmbientLight(ColourValue(0.3,0.3,0.3));
Linux, Mac Os X), lo cual nos permite de- sceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE);
sarrollar juegos fácilmente portables entre sceneMgr->setSkyBox(true,"Examples/StormySkyBox");
diversas plataformas, de hecho ya se está ninja = sceneMgr->createEntity("ninja1","ninja.mesh");
trabajando en una versión de OGRE3D para luz = sceneMgr->createLight( "luz1" );
XBox, lo que permitirá migrar juegos que luz->setType(Light::LT_POINT);
desarrollemos para Linux a esta nueva plata- luz->setPosition( 0,100,-100);
forma (actualmente podemos desarrollar en luz->setVisible( true );
Linux y compilar el juego en Windows, o in- nodoNinja = sceneMgr->getRootSceneNode()->createChildSceneNode("nodoNinja
cluso desarrollar en Linux y mediante cross- ");
compiling obtener también los ejecutables nodoNinja->attachObject( ninja );
nodoNinja->setPosition( 0, 0, 0 );
Listado 1. Compilación e instalación de camara->setPosition(0 ,100 , -400 );
OGRE3D camara->setDirection( 0, 0, 1 );
//BUCLE PRINCIPAL
tar xjf ./OGRE-linux_osx-v1-0- while( !eventProcessor->getInputReader()->isKeyDown(KC_ESCAPE) ) {
?.tar.bz2 nodoNinja->yaw( Radian(0.1) );
cd OGREnew root->renderOneFrame();
./bootstrap }
./configure (Para nvidia añadir -- delete eventProcessor;
with-platform=GLX) delete root;
make return 0;
make install (ejecutar como root) }

www.lpmagazine.org 57
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

ejemplo pueden ser construidas en el direc-


Listado 3. Código de la función cargaRecursos
torio ./OGREnew/Samples/Common/bin.
void cargaRecursos() {
ConfigFile cf; Configurando nuestro
cf.load("resources.cfg"); primer Juego con KDevelop
// Go through all sections & settings in the file Podemos utilizar OGRE3D directamente
ConfigFile::SectionIterator seci = cf.getSectionIterator(); con gcc pero conviene utilizar un editor que
String secName, typeName, archName; nos facilite la organización de un proyecto
while (seci.hasMoreElements()) { y sus archivos. Dentro de la gran variedad
secName = seci.peekNextKey(); de editores que tenemos a nuestra disposi-
ConfigFile::SettingsMultiMap *settings = seci.getNext(); ción en Linux, se ha elegido KDevelop por
ConfigFile::SettingsMultiMap::iterator i; su madurez como producto así como su
for (i = settings->begin(); i != settings->end(); ++i) { facilidad de integración a la hora de desa-
typeName = i->first; rrollar con OGRE.
archName = i->second; Configurar OGRE3D con KDevelop es
ResourceGroupManager::getSingleton().addResourceLocation( realmente simple, basta con crearse un nuevo
archName, typeName, secName); proyecto C++ simple y realizar las siguientes
} acciones:
}
//inicializa recursos. • Abrir el archivo configure.in y añadir lo
ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); siguiente encima de AC_OUTPUT: PKG_
} CHECK_MODULES(OGRE, [OGRE3D>= .2.0]),
• Abrir el fichero src/Makefile.am y añadir
las siguientes líneas: LDADD=@OGRE_LIBS@
chup, etc.), múltiples efectos de postproce- probar los prerrequisitos tanto para poder AM_CXXFLAGS=@OGRE_CFLAGS@,
sado (hdr, niebla, ruido, etc.), así como mu- compilar OGRE3D así como para su pos- • Para conseguir que el programa se ejecu-
chas otras características que lo convierten terior utilización (las siguientes versiones te en el directorio donde se encuentran
en una opción muy a tener en cuenta a la funcionan correctamente al compilar OG- los ejemplos para que al depurar no
hora de desarrollar un videojuego; de hecho RE3D 1.0.3): haya que copiar todos los recursos, bas-
esto le ha llevado a ser el motor elegido co- ta con ir a las opciones de proyecto, se-
mo base a la hora de impartir el Master en • automake 1.6+, leccionar la opción de directorio propio
Diseño y Desarrollo de Videojuegos de la Uni- • autoconf 2.50+, y seleccionar el directorio <RaizDeOGRE>/
versidad Europea de Madrid. • make 3.80, Samples/Common/bin.
OGRE3D está licenciado bajo LGPL • libtool 1.5.6,
(que se convertirá en una doble licencia • pkg-config 0.17.2, Una vez realizados estos pasos ya podemos
cuando salga la versión para XBox debi- • gcc 3.3.5, desarrollar nuestros propios juegos sin más
do a las royalties) y cuenta con una gran • g++ 3.3.5, complicaciones.
y muy activa comunidad de desarrollado- • cpp 3.3.5,
res (http://www.ogre3d.org/phpBB2/), de he- • Freetype2 2.1.x+,
cho se desarrollaron 6 proyectos dentro • zziplib 0.12.x+,
del último Google Summer of Code rela- • FreeImage, Nota para usuarios de Ubuntu
cionados con ampliaciones y mejoras de • libpng, libmng, libtiff, libjpeg (para
Cuando hagas make install puedes obtener
OGRE3D, lo cual muestra tanto el interés FreeImage).
un error como éste:
que suscita como el interés de la comuni-
dad porque crezca. Una vez cumplidos los prerrequisitos, nos ba- "/usr/bin/install: cannot stat
jaremos la última versión de OGRE3D desde `.libs/libOGREMain.lai': No such
Instalando OGRE3D la página web de OGRE3D y lo compilaremos file or directory"
en GNU/Linux y lo instalaremos mediante los comandos que
Existen binarios de OGRE3D tanto para De- aparecen en el Listado 1. Si ocurre, lo que necesitas hacer es:
bian, como para Fedora Core y Ubuntu, Conviene notar que se puede sustituir
cp OGREMain/src/libOGREMain.la
así como se puede compilar e instalar OG- make por make -j <número de procesos>
OGREMain/src/.libs/libOGREMain.lai
RE3D desde los fuentes. Instalar OGRE3D para compilar varios archivos en paralelo,
vi OGREMain/src/.libs/
mediante paquetes precompilados es tarea lo cual puede acelerar la compilación de
libOGREMain.lai
relativamente simple (podemos conse- forma considerable si contamos con varios
guir más información sobre esto en http:// procesadores o un procesador multicore (es
y cambiar en la línea 25 "installed=no"
www.OGRE3d.org/wiki/index.php/Installing_ recomendable que el número de procesos
a "installed=yes". Una vez salvado es-
An_SDK#Linux), por lo que aquí nos centra- sea dos veces el número de cores dispo-
to, haz sudo make install de nuevo y todo
remos en la compilación e instalación des- nibles). Una vez la compilación termine
debería funcionar.
de los fuentes. Antes que nada hay que com- de forma satisfactoria, las aplicaciones de

58 Linux+ 5/2007
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

Nuestro primer programa


con OGRE
A continuación vamos a desarrollar nuestro
primer ejemplo en OGRE3D para darnos
cuenta de lo sencillo que es comenzar con él.
Vamos a realizar una aplicación desde cero,
sin partir de ExampleApplication, incluido en
los ejemplos de OGRE3D (directorio Samp-
les) y que nos facilita algunas tareas pero-
que más adelante nos limitará bastante.
Nuestro objetivo en este primer pro-
grama será mostrar en pantalla un ninja,
cuyo modelo ya viene con la instalación del
OGRE3D (directorio /media/models) y una
luz puntual que lo ilumina. Nuestro ninja
estará continuamente rotando respecto a su
eje Y hasta que presionemos la tecla ESCA-
PE, momento en el que la aplicación termi-
nará. El resultado de ejecutar nuestro códi-
go se muestra en la Figura1
Como es nuestra primera aplicación
con OGRE3D no vamos a hacer grandes

Listado 4. Contenido del fichero resources.cfg

# Resource locations to be added to


the 'boostrap' path
# This also contains the minimum Figura 1. Resultado visible de nuestro primer ejemplo utilizando OGRE3D
you need to use the OGRE3Dexample alardes de diseño y estructuraremos el pro- El parámetro booleano pasado a dicha fun-
framework grama en 2 funciones, el main y la función ción indica si se quiere que OGRE3D cree
[Bootstrap] cargaRecursos. Se muestra en el Listado 2 el automáticamente una ventana. En nuestro
Zip=../../media/packs/OGRECore.zip código de la función main ya que ésta es caso le decimos que no, y la crearemos poste-
# Resource locations to be added to la que realiza las tareas que nos interesan riormente nosotros.
the default path principalmente y más adelante explicare-
[General] mos el funcionamiento de la función carga- RenderWindow
FileSystem=../../media Recursos. Representa la ventana sobre la que OGRE3D
FileSystem=../../media/fonts Las variables utilizadas se encuentran renderizará (dibujará) sus contenidos. Da-
FileSystem=../../media/materials/ al comienzo de la función main y represen- do que anteriormente le dijimos al root que
programs tan a las clases principales de OGRE3D que no nos crease dicha ventana, lo tendremos
FileSystem=../../media/materials/ se pasan a describir a continuación: que hacer nosotros, mediante la línea de
scripts código
FileSystem=../../media/materials/ Root
textures Esta clase representa la raíz, como su nombre renderWindow = root-
FileSystem=../../media/models indica, de una aplicación hecha con OGRE. >createRenderWindow("Mi primer
FileSystem=../../media/overlays Es necesario crearla antes de cualquier otra programa con OGRE",600,600,false)
FileSystem=../../media/particle cosa, y se hace simplemente mediante la
FileSystem=../../media/gui línea de código El primer parámetro es bastante evidente
FileSystem=../../media/ y es la cadena que aparecerá en la barra de
DeferredShadingMedia root = new Root() título de la ventana. Después se le indica
Zip=../../media/packs/cubemap.zip el tamaño de dicha ventana (ancho y alto)
Zip=../../media/packs/ Inmediatamente después en el código se mu- y por último si queremos que esté a pan-
cubemapsJS.zip estra la ventana de configuración que viene talla completa (en cuyo caso ignoraría el
Zip=../../media/packs/dragon.zip con OGRE, que es la que se muestra en la tamaño indicado antes) o no. En nuestro
Zip=../../media/packs/ Figura 2. caso elegimos que no sea a pantalla comp-
fresneldemo.zip Una vez pasada esa ventana de configu- leta.
Zip=../../media/packs/ ración (presionando aceptar) se inicializa la
OGREtestmap.zip aplicación mediante la línea de código EventProcessor
Zip=../../media/packs/skybox.zip Es necesario crear un objeto de esta clase
root->initialise(false) para que OGRE3D pueda capturar eventos

www.lpmagazine.org 59
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

Viewport de proceso, ya que implica muchos cálculos.


Necesario crearlo para ver algo. No es lo mis- Por eso es necesario no abusar de este ele-
mo que RenderWindow ya que puede haber mento y usarlo solamente en casos muy es-
varios Viewport en una misma RenderWin- peciales. Mediante la elección apropiada de
dow permitiendo así tener distintas vistas texturas se puede conseguir los mismos efec-
de un entorno en pantalla o entornos com- tos que conseguiríamos más cómodamente
pletamente diferentes. Por ahora creamos con luces.
un único Viewport mediante la función ren-
derWindow->addViewport, la cual necesita SceneNode
como parámetro un objeto de tipo Camera Representa un nodo de la escena. Los nodos
que será la cámara que plasmará lo que ve sirven para organizar los objetos dentro de la
en ese viewport. escena y poder llevar a cabo los algoritmos que
el SceneManager tiene implementados para
Figura 2. Ventana de inicialización del sistema
Camera su representación. Es obligatorio que nuestros
gráfico
Como su nombre indica es la cámara a través objetos Entity estén asociados a un nodo. Mien-
y despacharlos al lugar apropiado. En con- de la cual veremos el mundo. Se crea en la tras no lo estén, dichos objetos no pertenece-
creto a nosotros nos interesa en este ejem- línea de código: rán a la escena y por tanto no serán renderi-
plo para detectar pulsaciones de teclas y po- zados. La creación de un SceneNode se hace
der así terminar nuestra aplicación tras sceneMgr->createCamera(“camara1”) a través de la función:
pulsar ESCAPE.
siendo el parámetro pasado el nombre de la nodoNinja = sceneMgr-
SceneManager cámara. >getRootSceneNode()-
Esta clase se encarga de la gestión de la es- >createChildSceneNode
cena gráfica y es probablemente el más im- Entity
portante y de la que depende la eficiencia fi- Representa a los objetos de nuestro mundo y la asociación de nuestro ninja al nodo me-
nal del motor. Se crea mediante la línea de formados por mallas (archivos con extensión diante:
código: mesh). En el directorio media/models del OG-
RE3D se incluyen unos pocos. Dichos mo- nodoNinja->attachObject(ninja)
sceneMgr= root->createSceneManager delos se crearán con cualquier herramienta
(ST_GENERIC) de diseño como 3DStudio o Blender, para los Serán entonces los nodos los que se posicio-
cuales ya existen exportadores que convier- nen en el mundo y no las entidades en sí.
El parámetro pasado a dicha función se re- ten el formato propio de dichas aplicacio- Estas son entonces las clases básicas de
fiere al tipo de gestor de escenario que se nes en el mesh que necesita OGRE. OGRE3D (por supuesto tiene muchas cosas
quiere crear y dependerá del tipo de entorno Nuestro ninja será un Entity que se crea más) necesarias para empezar a hacer algo
3D que tengamos. Existen otros tipos ade- mediante la función: básico. Antes de pasar a explicar el resto del
más de ST_GENERIC, como ST_INTERIOR código es necesario conocer qué sistema de
para niveles de juego en interiores, ST_EX- ninja =sceneMgr->createEntity(“ninja1 coordenadas utiliza OGRE3D, que es el co-
TERIOR para entornos representados me- ”,”ninja.mesh”). mún en este tipo de aplicaciones. OGRE3D
diante mapas de alturas… En este ejemplo utiliza un sistema de coordenadas dextrógi-
no nos vamos a preocupar de este parámet- El primer parámetro es el nombre que le da- ro, en el cual el eje Z apunta hacia fuera de
ro y podemos dejarlo en ST_GENERIC para remos a la entidad y el segundo es el nom- la pantalla, el eje Y hacia arriba y el eje X
la mayoría de nuestras aplicaciones sen- bre del fichero que contiene el modelo del hacia la derecha. La notación para indicar
cillas. ninja. vectores es la usual (x,y,z). En la Figura 3
se muestra dicho sistema de coordenadas.
Light Por esa razón el ninja se sitúa en la posición
Representa las luces que tengamos en nues- (0,0,0), la cámara se sitúa en (0,100,-400), es
tro entorno. Se pueden crear de varios tipos decir, hacia el fondo de la pantalla. Con el fin
y para nuestro caso hemos creado una luz de que la cámara pueda ver a nuestro ninja
puntual mediante el codigo: tenemos que decirle que apunte hacia él,
y esto lo hacemos mediante la función set-
luz=sceneMgr->createLight(“luz1”) Direction(0,0,1) donde le decimos a la
cámara que coloque su eje z (que correspon-
El tipo de luz se establece mediante la fun- de a la línea de visión) en dirección Z del
ción: mundo positivo, es decir, estará mirando
hacia fuera de la pantalla, hacia nosotros.
luz->setType(Light::LT_POINT) Una vez colocados todos los elementos
en su lugar pasamos a realizar el bucle que
Figura 3. Sistema de coordenadas utilizado por Es muy importante señalar que al poner luces se encargará de llevar a cabo las tareas que
OGRE3D en la escena se ralentiza mucho la velocidad apuntamos al comienzo de esta sección: rotar

60 Linux+ 5/2007
w para programadores
Desarrolla tus propios juegos desde 0 en GNU/Linux con OGRE3D

código será casi siempre así por lo que bastará


normalmente un cortar y pegar en las nuevas
aplicaciones que creéis.
Es muy importante establecer bien el
fichero resources.cfg que se tiene que encon-
trar en el directorio de nuestra aplicación.
En dicho fichero se indican los directorios
donde nuestra función cargaRecursos tiene
que buscar los recursos utilizados. En el
Listado 4 se muestra el contenido de dicho
fichero para el resources.cfg incluido en los
ejemplos de OGRE3D. Aunque de ahí nos
sobren muchas cosas para nuestra aplica-
ción, en este artículo no le daremos más
vueltas al asunto y lo usaremos tal cual.
Hay que tener en cuenta que debes colocar
esos recursos en el lugar adecuado o susti-
tuir lo que aparece en resources.cfg por tus
propios directorios. Es muy fácil equivo-
carse en este paso (siempre se queda algún
directorio sin copiar, se pone mal algún
Figura 4. Capturas de pantalla de varios juegos desarrollados con Ogre3D que muestran algunas de las
nombre,…) y al arrancar la aplicación úni-
capacidades de este motor
camente nos saltará una excepción con muy
continuamente nuestro ninja respecto a su velocidad posible, por lo que dicho código no poca información de lo que ocurrió. Para sa-
eje Y y salir cuando pulsemos la tecla ES- se ejecutará igual de rápido en distintos PC. ber de donde viene el problema el OGRE3D
CAPE. Además animo a eliminar la luz que crea- nos deja el fichero OGRE.log en el directorio
La rotación respecto al eje Y la realiza la mos anteriormente (basta con pasar false a la de nuestra aplicación donde va dejando
función yaw. Podemos rotar un SceneNode función luz->setVisible) para comprobar información de lo que hace. De esta forma
en torno a cualquiera de sus tres ejes: X la gran diferencia de velocidad entre tener examinando lo último escrito en ese fichero
(pitch), Y(yaw), Z(roll), existiendo funciones o no tener luz. podemos saber o al menos intuir qué es lo
miembro en SceneNode para cada una de El resto del código no es necesario comen- que falló.
esas rotaciones. tarlo ya que es autoexplicativo. Este primer ejemplo nos permite com-
La comprobación de tecla pulsada se Por último nos queda mencionar la fun- prender el funcionamiento básico de OGR-
hará mediante la función isKeyDown de la ción cargaRecursos(). Dicha función, que E3D, así como realizar nuestros primeros
clase InputReader. El objeto eventProcessor que se muestra en el Listado 3, se encarga de ir pasos con este motor 3D. En siguientes ar-
creamos al comienzo del código contiene in- recorriendo los directorios donde tenemos tículos veremos cómo cargar nuestras pro-
ternamente un objeto de tipo InputReader que los recursos de nuestra aplicación (modelos, pias mallas realizadas desde Blender, ani-
obtendremos mediante el código: texturas, materiales,…) e ir cargándolos. Ese marlas, gestionar los eventos, etc.

eventProcessor->getInputReader()

Es intuitivo darse cuenta que la función is- Sobre los autores


KeyDown consulta si la tecla indicada por Daniel Barrientos Carrera (danbar@uem.es) Hombre-Máquina. Actualmente desarrolla su
parámetro (los códigos correspondientes se es Ingeniero Superior en Informática por la doctorado en la Universidad Politécnica de
pueden consultar en la ayuda que viene con Universidad de Valladolid y actual docto- Madrid. Su bitácora personal se encuentra
OGRE) está pulsada, en cuyo caso nos de- rando en la Universidad Carlos III de Ma- en http://www.enriquepuertas.com.
vuelve true. drid. Actualmente trabaja como profesor en José Carlos Cortizo Pérez (jccp@ainetso-
El renderizado de la escena se realiza en la Universidad Europea de Madrid, donde lutions.com) es Ingeniero Superior en Infor-
la llamada root->renderOneFrame(), que entre otras cosas imparte clases en el Mas- mática y actualmente realiza su doctorado
como su nombre indica renderiza (dibuja) ter en Desarrollo y Diseño de Videojuegos. en la Universidad Carlos III de Madrid. Es pro-
la escena que hay en ese momento y retor- Es experto en visión artificial y artífice del fesor en la Universidad Europea de Madrid
na. Hay que tener en cuenta también que el sistema de control automático de las velas donde, entre otras cosas, imparte la asigna-
EventProcessor captura eventos en cada cua- del Desafío Español. tura de Motores de Juegos en el Master en
dro renderizado, por lo que si eliminamos la Enrique Puertas Sanz (enrique.puertas@ Diseño y Desarrollo de Videojuegos. Así mis-
llamada a renderOneFrame no responderá el uem.es) es Ingeniero Superior en Informática mo, es miembro fundador e investigador prin-
teclado. por la Universidad Europea de Madrid donde cipal de AINetSolutions (http://www.ainetso-
Como se puede ver, nuestro código no actualmente imparte clases en temas como lutions.com) empresa dedicada a ofrecer ser-
realiza ningún control de frames por segundo Taller de Software Libre y Comunicación vicios de minería de datos, seguridad, etc.
sino que simplemente renderiza a la máxima

www.lpmagazine.org 61
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Gestión de Configuración
Software con Perforce
José B. Alós Alquézar

Si como se vio en el Nº 29 de Linux+, la utilización


de sistemas de control de versiones como CVS
y Subversion permite una gestión colaborativa
de un proyecto de software, existen dos necesidades no
cubiertas cuando aumentamos el nivel de abstracción.
Imagínese el diseño de un sistema complejo, integrando
diferentes subsistemas que a su vez pueden descomponerse
en una multitud de proyectos de software con ciclos
de desarrollo diferentes, como ocurre en la fabricación
de automóviles o aeronaves, en los cuales no solamente
es importante registrar los cambios acontecidos en cada
uno de estos proyectos, sino que también sería deseable
coordinar los cambios y actividades de desarrollo existentes
entre los diferentes proyectos que integrarán dicho sistema.

E
ste es el contexto en el cual debemos modificar • Coordinación de las actividades de desarrollo entre
linux@software.com.pl

el tradicional enfoque de programación centra- los distintos proyectos de software.


da en un único proyecto de software y pensar • Determinación de un ciclo de desarrollo de software
en el proyecto de sistemas y a tal objeto apare- de forma independiente para cada proyecto.
cen las metodologías relacionadas con la Gestión de Confi- • Establecimiento de líneas base o baselines entre las di-
guración de Software y el Control de Configuración; activida- ferentes versiones aplicables en producción para cada
des conocidas bajo los acrónimos SCM (Software Configura- uno de los sistemas implicados.
tion Management) y CC (Configuration Control), respectiva-
mente. Perforce es la nueva apuesta multiplataforma para los sis-
Los sistemas de control de versiones (CVS) se enmar- temas SCM de arquitectura cliente-servidor y disponible
can dentro de una familia general de utilidades denomi-
nadas Software Control Management (SCM) tools y cuyo
ámbito de aplicación abarca la coordinación de varios Sobre el autor
proyectos encaminados a la obtención de un producto
José B. Alós es administrador de sistemas, especializa-
final.
do en SunOS 5.x/HP-UX/AIX desde 1999 de la mano de
Si bien los sistemas de control de versiones cumplen
EDS, desarrollando su trabajo en Telefónica de España,
dos misiones fundamentales; en primer lugar controlar
S. A. U., y lleva trabajando con sistemas GNU/Linux
los cambios que se efectúan sobre un conjunto de fiche-
desde los tiempos del núcleo 1.2.13. Ha sido profesor
ros y por otro coordinar la labor de los diferentes usua-
de la Universidad de Zaragoza. Está especializado en
rios que trabajan sobre éstos, el diseño y producción de
sistemas de Alta Disponibilidad y posee un doctorado
sistemas complejos integrados por múltiples proyectos
en Ingeniería Nuclear.
de software plantean las siguientes necesidades:

62 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Lo que deberías saber...


• Conocimientos de sistemas Unix a ni-
vel de desarrollador,
• Sistemas de control de versiones CVS
o SVN a nivel usuario y administrador,
• Conocimientos básicos sobre ingenie-
ría del software y Control de Configura-
ción,
• Configuración de servidores HTTP Apa-
che 2.x.

de versiones RCS radica en el tratamiento


y registro de los cambios o alteraciones reali-
zados sobre los ítem configurables (CI). La for-
malización del modelo de gestión de cambios,
recomienda el registro y auditoría de todas
Figura 1. Descripción de los elementos básicos de un sistema SCM y cada una de las modificaciones realizadas
para una amplia variedad de entornos como Del mismo modo, otras metodologías de sobre un elemento configurable y éste es el
GNU/Linux, MacOS, UNIX y, por desconta- desarrollo de software, y que pueden com- papel de los documentos de cambio o Change-
do MS Windows, que se ofrece como alterna- plementar los aspectos recogidos en el pre- Docs.
tiva a soluciones propietarias como la suite sente artículo pueden encontrarse dentro del
Merant PVCS Dimensions. ámbito militar a partir de las especificaciones Modelo de Proceso
de la norma MIL-STD 498 que reemplaza a la Todas estas operaciones y procesos deben es-
Fundamentos de la Gestión norma DOD-2167A desde 1994. tablecerse en un documento denominado Soft-
de Configuración de Software ware Configuration Management Plan (SCMP)
La Gestión de Configuración de Software Elementos lógicos de los que contiene ejemplos para:
(SCM) es un conjunto de procedimientos sistemas SCM
recogidos formalmente en ANSI/IEEE Std. El sujeto principal de las herramientas de Con- • Sistemas computacionales complejos.
610.12-1990 en los que se materializa la disci- trol de Configuración es el Ítem Configurable • Pequeños proyectos de software.
plina para aplicar una administración técnica o CI, que puede ser también un agregado de • Mantenimiento de programas.
y organizativa destinada a: varios CIs que pueden implementar código • Desarrollo y mantenimiento de software
fuente, documentación, documentos de cam- para dispositivos empotrados.
• Identificar y documentar la arquitectura bio, baselines y releases tal y como se ilustra
funcional y características físicas de un CI. en la Figura 1. Los modelos de gestión propuestos afectan
• Control de cambios de estas característi- tanto a los ítem configurables (Cis) como a los
cas. • Items Configurable (Cis): Es un objeto defi- cambios que se producen sobre ellos, defi-
• Grabar e informar el proceso de cambios nido de forma unívoca sujeto a contabili- niendo todos los aspectos relacionados con su
a lo largo del ciclo de desarrollo. dad y auditoría separada bajo los proce- ciclo vital. En sistemas complejos de orienta-
• Verificar el cumplimiento de las especifi- dimientos de gestión de configuración de ción industrial un posible modelo de proceso
caciones y requisitos. software. Un item configurable (CI) puede para la gestión de cambios podría venir dado
ser un elemento de hardware, software, por la Figura 2.
Por ello, el propósito fundamental de SCM documentación técnica o un conjunto de
es planificar, organizar, controlar y coordinar varios Cis.
identificación almacenamiento y cambios • Baselines: Son CIs revisados, aprobados
acontecidos a lo largo del ciclo de vida de un y declarados como punto de partida para En este artículo aprenderás...
proyecto de software tal y como ANSI/IEEE desarrollos ulteriores. • Los fundamentos, necesidades y apli-
Std. 1042-1987 IEEE Guide to SCM. • Variantes: Es una colección de CIs que of- caciones del Control de Configuración
recen funcionalidades similares de un mis- (CC) y la Gestión de Configuración de
• Las actividades fundamentales del Con- mo producto o sistema complejo, como Software (SCM),
trol de Configuración son. por ejemplo, modificaciones en el aspecto • La implementación de un sistema SCM
• La identificación de la configuración. exterior, en las prestaciones o en accesorios cliente-servidor mediante el empleo
• Almacenamiento de los ítem configura- adicionales no contemplados en el mode- de Perforce en sistemas GNU/Linux,
bles o CIs. lo base. • Utilización colaborativa y gestión de
• Control de los cambios en la configuración. cambios mediante Perforce,
• Contabilidad del control de la configura- Documentos de cambio • La utilización de Perforce como siste-
ción. Quizá el elemento diferencial de los sistemas ma de control de revisiones.
• Ejecución de las releases de CIs. SCM con respecto a los sistemas de control

www.lpmagazine.org 63
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Tabla 1. Variables de configuración de Perforce SCM Fast System de modo que cada servidor puede gestionar
Variable Descripción una colección de DEPOTS destinados a dife-
P4CHARSET Conjunto de caracteres para ficheros Unicode rentes proyectos de software que requieran
coordinación entre sí. Los ficheros y directorios
P4COMMANDCHARSET Juegos no UTF-16 o UTF32 utilizados
se recuperan por parte de los clientes en las uni-
P4CLIENT Nombre del workspace cliente utilizado
dades de almacenamiento local en un espacio
P4DIFF Localización del programa diff(1)
denominado WORKSPACE y que no es más
P4EDITOR Editor invocado por Perforce para operaciones que implican el trabajo que una copia parcial o total de un DEPOT.
con formularios Un workspace, o más correctamente client
P4HOST Hostname del equipo local de trabajo workspace, es un conjunto de directorios en el
P4LANGUAGE Reservada para integradores de sistemas equipo cliente donde se editan, añaden o eli-
P4MERGE Localización del programa merge para la consolidación de cambios minan ficheros gestionados por Perforce. Cada
entre diferentes ramas de desarrollo. workspace está identificado por un nombre
único que puede ser definido mediante la va-
P4PASSWD
riable de entorno P4CLIENT.
P4PORT Puerto TCP utilizado por el servidor Perforce
Las listas de cambios o changelists son las
P4USER Nombre de usuario en el servidor Perforce unidades básicas de trabajo con Perforce ya que
todas las operaciones de edición de ficheros o
En donde aparece la presencia de una en- plementar sistemas casi completos de gestión Cis, comunes a todos los sistemas SCM son rea-
tidad abstracta encargada de proponer con las de configuración de software de una forma lizadas mediante su concurso. Las changelists
especificaciones proporcionadas por los clien- no directa; esto es, elementos como baselines, presentan una doble finalidad:
tes y la información de los equipos implicados releases y variantes no están definidos como
en el proceso de desarrollo de los cambios elementos lógicos, cosa que sí que ocurre en los • Organizar el trabajo de los clientes en
pertinentes, denominada Engineering Change productos o suites destinados a ser herramien- unidades lógicas agrupando cambios rea-
Proposal (ECP). Estos modelos de proceso de- tas SCM como Perforce que es el objeto a tratar lizados sobre los CIs.
ben ser implementados de acuerdo con las ne- a continuación. • Garantizar la integridad del trabajo de
cesidades de cada sistema a desarrollar sobre edición, asegurando que los cambios rea-
las herramientas SCM. La herramienta SCM Perforce lizados sobre los ficheros o CIs son realiza-
Perforce Software es una compañía norteame- dos en el depot de forma conjunta.
Clasificación de las ricana con sede en Alameda (California) que
herramientas SCM fue fundada en 1995 por Chirstopher Seiwald, Las operaciones que involucran elementos
El estándar ANSI/IEEE Std. 1042-1987 con- con el objetivo prioritario de desarrollar una lógicos en Perforce que implican cambios en
templa dos categorías de herramientas destina- herramienta adecuada para la gestión de con- el repositorio o depot son atómicas; es decir, no
das al control de configuración de software: figuración de software (SCM) capaz de satis- existe la posibilidad de que se realicen de forma
facer los requisitos exigidos a una herramienta parcial o incompleta y, si tienen lugar, se reali-
• Herramientas básicas. Permiten definir avanzada toda vez que proporcione la agilidad zan de forma íntegra.
estructuras, identificación y almacena- y rapidez de manejo y administración de la que
miento de los ítem configurables o Cis, Arquitectura funcional
adolecen otras herramientas disponibles en el
así como su almacenamiento estructura- mercado. Aun cuando no se trata de softwareComo se ha explicado anteriormente, Perforce
do. Además deben tener un sistema de libre, Perforce Software, Inc., ofrece en su site
SCM Fast System está dotado de una arquitec-
bibliotecas que permite insertar, extraer la posibilidad de descargar de forma gratuita y
o remplazar objetos y obtener informes. completa todos los productos cliente-servidor
Listado 1. Ejecución del comando p4 info
• Herramientas avanzadas. Además de las para plataformas GNU/Linux, SunOS, MacOS
funciones y características de las herra- y por supuesto, MS Windows. $ ./p4 info
mientas básicas, permiten además: Con respecto a otros sistemas comerciales,
User name: t602010
– Implementar sistemas de bloqueos como Serena PVCS Dimensions, Perforce Fast Client name: ares
o exclusión mutua con las librerías SCM System no depende de la utilización de Client host: ares.ono.com
del sistema. motores RDBMS propietarios. Client unknown.
– Minimizan el consumo de recursos Current directory: /home/t602010/
de software y hardware. Conceptos básicos Perforce
– Permiten además operaciones de tipo Perforce Fast SCM System posee una arquitec- Client address: 127.0.0.1:35559
undo (rollback operations). tura cliente-servidor multiplataforma en la cual Server address: localhost:1666
se articulan cuatro elementos lógicos básicos Server root: .
Todas las herramientas destinadas al control que permiten la implementación de las estruc- Server date: 2007/02/12 22:15:20
de configuración deben también tener la capa- turas y entidades definidas por los estándares +0100 CET
cidad de comparar diferentes revisiones de un y recomendaciones vigentes sobre la gestión de Server version: P4D/LINUX26X86/
mismo CI; esto es, incorporan las capacidades configuración de software. 2006.2/113956 (2007/01/09)
de las herramientas RCS. De hecho las herra- El repositorio o depot es la unidad funda- Server license: none
mientas CVS y SVN pueden utilizarse para im- mental con la que trabaja el servidor Perforce

64 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

• Resolución de conflictos inteligente en • Disponibilidad de plugins para los prin-


Listado 2. Configuración editable del workspace
operaciones de merging. cipales IDE del mercado como Eclipse,
cliente ws_1
• Permite la operación a través de proxies MS .NET Developer Studio, MS Visual
Client: ws_1 y cortafuegos. Basic, Metrowerks CodeWarrior,...
Owner: p4user • Número ilimitado de workspaces, limita- • Integración de metadatos para Windows
Host: ares.ono.com do por la capacidad del servidor y actua- Explorer en plataformas MS Windows.
Description: lizados bajo demanda. • Desarrollo de aplicaciones cliente me-
Created by p4user. • Integración de seguimiento de defectos diante el API C/C++ de Perforce.
Root: /home/t602010 (defect tracking) para sistemas Bugzilla,
Options: noallwrite noclobber SourceForce, TeamTrack, VA Software, Todo ello, sin contar además con el excelente
nocompress unlocked entre otros. soporte de formatos gráficos integrado que
nomodtime normdir • Notificación automática de cambios rea- permite la visualización directa así como la
SubmitOptions: submitunchanged lizados en los items configurables (CIs). integración con productos de terceras partes
LineEnd: local • Autentificación integrada basada en pas- como Adobe Photoshop, Maya, Autodesk 3D
View: swords o tickets según se desee acceso por o Softimage XSI.
//project_C/... //ws_1/project_C/ tiempo ilimitado o no, respectivamente.
... Operaciones en Perforce SCM
//project_B/... //ws_1/project_B/ Además, la base de datos que actúa como Fast System
... backend está integrada en el servidor y po- De forma análoga a los sistemas de control de
//project_A/... //ws_1/project_A/ see capacidades transaccionales o de journa- versiones como CVS y Subversion, Perforce
... lling, que permiten la recuperación inmedia- incorpora también las operaciones de check-
ta frente a fallos espúreos de índole física in y check-out con ligeras modificaciones en
tura cliente-servidor escalable y multiplatafor- con control de acceso de usuarios (UAC) ba- cuanto a terminología.
ma descrita en la Figura 3 que integra como sado en vistas, puntos de control imple-
backend una base de datos. mentados mediante ficheros ASCII para • Sync: Transferencia de los ficheros desde
Este enfoque facilita notablemente las facilitar el seguimiento e incluso soporte de el repositorio hasta el workspace local,
operaciones de mantenimiento y administra- autentificación externa para LDAP y Micro- • Submit: Transferencia de los ficheros
ción así como el desarrollo distribuido, eli- soft Active Directory. desde el workspace de usuario al repo-
minando las dependencias no solamente del Como colofón al abanico de prestaciones sitorio,
sistema operativo sino también de las herra- del producto, y pensando exclusivamente en • Revert: Descartar las modificaciones rea-
mientas empleadas en el proceso de desarro- los desarrolladores, Perforce SCM Fast System lizadas sobre las copias locales en el work-
llo. Tal es así que se ofrecen tres tipologías de permite además: space.
clientes Perforce:

• Cliente en línea de comandos (CLI).


• Cliente visual.
• Cliente WWW.

disponibles para plataformas GNU/Linux,


Unix, OpenVMS y MS Windows.

Capacidades básicas y funcionalidad


Al margen del soporte completo cliente-servi-
dor para plataformas GNU/Linux, FreeBSD,
Apple Darwin/MacOS, SunOS, HP-UX e inc-
luso OpenVMS con soporte de internaciona-
lización Unicode, a nivel operativo Perforce
SCM Fast System ofrece las siguientes presta-
ciones en las operaciones básicas:

• Transacciones atómicas, para eliminar el


peligro de corrupción en operaciones de
tipo sync (commit).
• Permite operaciones de checkout concu-
rrentes o de carácter exclusivo, así como
soporte pleno de etiquetado de versiones
de CIs.
• Modelo de branching interfichero único
e ilimitado para el desarrollo paralelo. Figura 2. Modelo general de gestión de cambios de software

www.lpmagazine.org 65
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Resulta interesante resaltar el salto cualitativo que crea en primer lugar la base de datos ma-
que supone el paso de una herramienta CVS terializada en un conjunto de 21 ficheros mos-
a otra de carácter SCM con la incorporación de trados a continuación. Es muy importante
operaciones undo; inexistentes en estos pro- arrancar el servidor Perforce en el mismo direc-
ductos e incluso en otras herramientas comer- torio en el que está ubicado éste, puesto que los
ciales destinadas a la gestión de configuración ficheros que albergan la base de datos se crean
de software. en este directorio siempre y cuando el servidor
P4D detecte que éstos no existen aún.
Perforce en sistemas GNU/Linux
$ ls db.*
Instalación y configuración del servidor db.archmap db.depot db.integed db.rev Figura 4. Autentificación de usuario en el cliente P4V
Una instalación mínima de Perforce SCM db.revsx db.working servidor Perforce está atendiendo peticiones.
Fast System requiere la descarga de forma db.change db.domain db.label db.revcx Este proceso puede consolidarse mediante la
gratuita y sin necesidad de registro para db.trigger utilización de las variables de entorno P4PORT,
sistemas GNU/Linux desde la URL http: db.changex db.have db.locks db.revdx P4CLIENT, y P4USER.
//www.perforce.com/perforce/downloads/ db.user
linux26x86.html para un kernel 2.6 en arqui- db.counters db.integ db.resolve Instalación y configuración
tecturas IA32. En el caso del servidor P4D, db.revhx db.view de los clientes Perforce
una vez obtenido este fichero, únicamente es Empezaremos en primer lugar por el cliente
necesario crear un directorio en el que se al- Únicamente es preciso, en distribuciones con P4 orientado a línea de comandos. Una vez rea-
bergará éste, junto con los ficheros de la base capacidades de cortafuegos activadas, asegu- lizada su descarga, es necesario realizar los si-
de datos Perforce y establecer el permiso de rarse que el puerto utilizado está abierto al guientes pasos en un directorio de nueva crea-
ejecución sobre el mismo. tráfico TCP/IP con lo cual, el proceso queda ción destinado a albergar a los clientes CLI,
concluido. GUI y Web.
$ mkdir Perforce
$ cp p4d Perforce Clientes Perforce • Establecer el permiso de ejecución del
$ chmod +x p4d Desde la perspectiva del desarrollador, Perfor- cliente P4:
ce se comporta como un sistema de revisión $ chmod +x p4
Debido a que por defecto, P4D utiliza el de versiones (RCS) en el cual, el desarrollador • Definir la variable de entorno P4CON-
puerto 1666/tcp, la instalación y arranque sincroniza (sync) ficheros con el repositorio o FIG en los ficheros .profile para los intér-
puede realizarse con un usuario no UID=0 depot, y los modifica en su equipo local dentro pretes de comandos Korn/Bash o deri-
una vez ubicados en el directorio de insta- de su workspace mediante la utilización de los vados:
lación: clientes Perforce orientados a línea de coman- P4CONFIG=$HOME/.p4config
dos, GUI o WWW. Por este motivo, para poder export P4CONFIG
$ cd Perforce trabajar con el servidor, se precisa únicamente o bien, en entornos con C-shell:
$ nohup ./p4d & conocer la dirección IP y el puerto en el cual el setenv P4CONFIG $HOME/.p4config

Figura 3. Arquitectura general de Perforce SCM Fast System

66 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Perforce admite la utilización de ficheros de


configuración mediante la especificación de
un fichero mediante la variable de entorno
P4CONFIG,

• Editar el fichero .p4config y definir como


mínimo las variables P4PORT y P4CLIENT,
que reflejan el puerto TCP en el que está
escuchando peticiones el servidor P4D y el
workspace cliente utilizado por el usuario:
P4PORT=1666 Figura 6. Correspondencia entre depots y workspaces
P4CLIENT=ws_1 lugar un superusuario interno con capacidad $ p4 passwd t602010
para arrancar, parar y administrar el servidor. Enter new password:
El fichero de configuración definido por la Re-enter new password:
variable P4CONFIG admite las variables re- $ p4 protect Password updated.
cogidas en la Tabla 1.
Una vez concluidas estas operaciones, es que edita el fichero de configuración con las Ahora el comando p4 protect no se puede eje-
el momento de verificar el funcionamiento del entradas: cutar sin especificar la clave de superusuario:
cliente P4 mediante la ejecución del comando
p4 info tal y como se muestra en el Listado 1. Protections: $ p4 -P su_passwd protect
para una conexión del cliente directa- write user * * //...
mente en el servidor Perforce. super user t602010 * //... A continuación es preciso establecer un espacio
en disco adecuado a nuestras necesidades.
Primeros pasos con Perforce Es de vital importancia definir un usuario, ya Una vez verificado el correcto funciona-
Una vez configurados cliente y servidor, es que por defecto cualquier usuario de nuestro miento del cliente, es el momento de crear
preciso en primer lugar proceder a inicializar el servidor GNU/Linux podría convertirse de nuestro entorno de trabajo mediante la reali-
entorno del servidor P4D, definiendo en primer facto en superusuario del servidor P4D: zación de las siguientes operaciones:

• Creación de un usuario Perforce en la


tabla Protections mediante el comando:
$ p4 user -f p4user
User: p4user
Email: p4user@ares
FullName: Jose B. Alos
y crear acto seguido un grupo denomi-
nado p4users e incluirlo en éste median-
te la sucesión de comandos:
$ p4 group p4users
$ p4 protect
Protections:
write group p4users * //...
super user t602010 * //...
• Establecer una clave de usuario para
p4user mediante el comando:
$ p4 passwd
como superusuario Perforce. Una vez con-
cluidos estos trámites, el usuario puede
efectuar la conexión al servidor mediante
el comando:
$ p4 -u p4user login
Enter password:
User p4user logged in.
Ahora ya es posible utilizar el cliente P4
o mejor aún, el cliente visual P4V y co-
nectarse con el usuario Perforce p4user
ejecutando el comando $ p4v & que pro-
vocará la aparición en nuestro servidor
X11 del cuadro de diálogo mostrado en
Figura 5. Ventana principal del cliente visual P4V la Figura 4.

www.lpmagazine.org 67
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Todos estos resultados pueden obtenerse de ser utilizado por el cliente, debe materializar-
Listado 3. Adición del fichero main.c
una forma más intuitiva mediante el cliente se en una estructura de ficheros y directorios.
a la changelist
visual p4v. Por supuesto, es posible disponer en un
Change 1 created with 1 open mismo workspace de ficheros y directorios
file(s). Primeros pasos con Perforce. pertenecientes a varios depots para usuarios
Submitting change 1. Operaciones básicas que estén trabajando con varios proyectos de
Locking 1 files ... Una vez creado el usuario p4user, es el mo- software simultáneamente.
add //project_C/main.c#1 mento de hacer uso de éste e iniciar sesión
Change 1 submitted. con el servidor Perforce P4D. Para ello, es Creación de workspaces e importación
preciso iniciar la sesión con el servidor P4D de ficheros y directorios
y crear un workspace cliente, que será utiliza- A fin de facilitar las tareas y evitar la prolifera-
Una vez realizada la autentificación de forma do por defecto. Utilizando el cliente orientado ción de opciones de usuario en la línea de co-
satisfactoria, aparece la pantalla principal de a comandos: mandos, conviene establecer adecuadamente
la interfaz gráfica de usuario tal y como se las variables de entorno necesarias en el fiche-
visualiza en la Figura 5. $ p4 -u p4user login ro $HOME/.p4config para ganar en agilidad
En el que por defecto, aparece el depot Enter password: a la hora de trabajar con la herramienta.
raíz. Ahora es posible crear un nuevo depot User p4user logged in. Establecer el workspace de trabajo ws_1
como superusuario Perforce mediante el co- mediante la variable de entorno P4CLIENT
mando: crear una especificación del workspace cliente en el fichero .p4config.
e introducir la variable de entorno P4CLIENT
$ p4 depot project_A a ws_1 en el fichero de configuración $HOME/ P4CLIENT=ws_1
Depot depot 2007/02/12 local depot/ .p4config apuntado por la variable de entor-
... 'Default depot' no Ahora es posible añadir ficheros al depot des-
Depot project_A 2007/02/13 local de el workspace cliente; así, una vez creado el
project_A/... 'Created by t602010. ' $ p4 -u p4user client fichero main.c

El estado de los depots en el servidor puede en un fichero de texto editable mediante vi(1) $ cd $HOME/project_C
visualizarse mediante el comando p4 de- dado en el Listado 2, teniendo en cuenta que $ p4 -u p4user add //project_C/main.c
pots. el campo Client y Root, referentes al works- //project_C/main.c#1 - opened for add
pace cliente y el directorio local en el cual se
$ p4 -u p4user depots almacenan los ítem son obligatorios. por supuesto, pueden añadirse más ficheros
Depot depot 2007/02/12 local depot/ Es preciso, llegado a este punto, estable- antes de realizar la incorporación de éstos al
... 'Default depot' cer una correspondencia entre las asigna- depot, mediante la reiteración de esta opera-
Depot project_A 2007/02/13 local ciones o maps entre depots y workspaces. Así, ción.
project_A/... 'Created by t602010. ' considerando el ejemplo precedente dicha Enviar el fichero seleccionado al depot
Depot project_B 2007/02/13 local relación se muestra en la Figura 6. //Project_C del servidor Perforce mediante
project_B/... 'Created by t602010. ' Habida cuenta que el directorio raíz en el la operación p4 submit.
Depot project_C 2007/02/13 local equipo cliente ares es ws_1 y su directorio raíz
project_C/... 'Created by t602010. ' es /home/t602010 y un depot P4D para poder $ p4 -u p4user submit

Listado 4. Adición de ítem al depot //Project_C

$ p4 -u p4user add
//project_C/docs/README
//project_C/docs/README#1
//- opened for add
$ cd ..
$ ls
docs main.c Makefile
$ p4 -u p4user submit
Change 2 created with 2 open
file(s).
Submitting change 2.
Locking 2 files ...
add //project_C/Makefile#1
add //project_C/docs/
//README#1
Change 2 submitted.
Figura 7. Lista de cambios asociada al fichero main.c

68 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

del equipo de desarrollo teniendo en cuenta


que los privilegios asignables variarán según
la función a desempeñar por éstos.

• Desarrolladores,
• Integradores,
• Verificadores.

Evidentemente, la labor en la que nos vamos


a centrar es en el trabajo de los desarrolla-
dores. Para la utilización en una actividad
normal de desarrollo de un proyecto alma-
cenado en un depot se requieren satisfacer las
siguientes secuencias de pasos conducentes a
disponer de la imagen local del/de los depots
deseados en el equipo local; esto es, disponer
de un workspace cliente.

• Establecer el workspace cliente a utilizar,


• Obtener los ficheros deseados desde el
depot asociado a este workspace,
• Realizar las modificaciones pertinentes
Figura 8. Descripción del depot //project_C después de la adición de main.c sobre estos ficheros,
que hace aparecer una lista de cambios gestionado por Perforce SCM Fast System • Remitir los ficheros modificados al depot
o changelist asociada al fichero ilustrada en y que permitirá conducir todos los aspec- asociado
la Figura 7. tos relacionados con el ciclo de vida del
Una vez salvado el contenido de la chan- desarrollo de acuerdo a las características Para ello, sera necesario que el usuario esta-
gelist, permite consolidar la primera versión y prestaciones proporcionadas por los siste- blezca una serie de variables en el fichero de
del fichero main.c en el depot //project_C mas SCM. configuración apuntado por la variable de
con una lista de cambios asociada tal y como entorno P4CONFIG especificando el servidor
muestra el Listado 3. El ciclo de desarrollo Perforce a utilizar, su usuario y el workspace
Esta operación puede realizarse también de software cliente.
con el cliente P4V de una forma más intuiti- La utilización colaborativa de un proyecto
va, pero antes de realizar la operación sub- de software gestionado mediante Perforce P4PORT=ares:1666
mit, que alojará la revisión inicial del fiche- requiere en primer lugar de la definición de P4USER=p4user
ro main.c en el depot //project_C del ser- usuarios para cada uno de los componentes CLIENT=ws_dev
vidor Perforce, es preciso crear una lista de
cambios -changelist- que deje constancia de
la operación realizada. En cualquier caso,
una vez realizada la operación, la visión
del ítem incorporado al depot aparece en la
Figura 8.
Esta misma operación puede realizarse
con todos los ficheros que van a formar parte
de la revisión inicial de un determinado pro-
yecto de software, de forma que podamos
disponer de una estructura completa del mis-
mo. Así, para incorporar los ficheros Makefile
y docs/README, asociados a este proyecto,
basta con ejecutar la siguiente secuencia de
comandos recogida en el Listado 4.
Esta adición múltiple se materializa me-
diante una única changelist en la que apare-
cen reflejados los dos ficheros incorporados
y que pueden visualizarse cómodamente
mediante el cliente visual P4V tal y como se
muestra en la Figura 9.
En estas condiciones, se dispone ya de la
revisión inicial de un proyecto de software Figura 9. Changelist correspondiente a los ficheros Makefile y docs/README

www.lpmagazine.org 69
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Listado 5. Contenido del workspace cliente ws_dev En el supuesto de que no se hubieran


deshecho los cambios, es posible remitir los
$ ls -lR cambios realizados al repositorio o depot del
.: servidor P4D asociado al workspace ws_dev
total 16 mediante la operación p4 submit tal y co-
drwxrwxr-x 2 t602010 t602010 4096 Feb 18 12:51 docs mo se indica a continuación:
-r--r--r-- 1 t602010 t602010 110 Feb 18 12:51 main.c
-r--r--r-- 1 t602010 t602010 76 Feb 18 12:51 Makefile $ p4 submit
Change 3 created with
./docs: 1 open file(s).
total 4 Submitting change 3.
-r--r--r-- 1 t602010 t602010 38 Feb 18 12:51 README Locking 1 files ...
edit //project_C/main.c#2
Change 3 submitted.
De acuerdo con los cuatro puntos recogidos $ p4 diff main.c
anteriormente el primer paso será crear el ==== //project_C/main.c#1 - /home/ La apariencia visual que observará un usua-
workspace cliente ws_dev. t602010/project_C/main.c 1a2 rio de la herramienta P4V tras la realización
$ p4 clientA continuación, ejecutan- > #include <stdlib.h> de estas operaciones se plasma en la Figura
do el cliente visual P4V, con los valores de 6a8 11, en la que pueden apreciarse los cambios
conexión citados anteriormente, aparece un > printf("Another dummy line to test realizados a lo largo de la vida del proyecto
cuadro de diálogo ilustrado en la Figura 10 edit features under SCM Perforce\n"); albergado en el depot //project_C median-
que faculta para obtener una copia local de te las changelist, que se numeran de forma
los ficheros integrantes del workspace cliente Es posible también deshacer los cambios correlativa.
en el equipo local. realizados mediante la operación p4 revert, Hasta aquí se ha descrito en una imagen
Y así obtenemos una copia de los ficheros no presente en los sistemas RCS descritos simplificada el núcleo de actividades a reali-
de dicho depot con permisos de lectura. anteriormente. zar por un desarrollador sobre un proyecto
De este modo, puede iniciarse la acti- de software gestionado mediante Perforce.
vidad propia del proceso de desarrollo de $ p4 revert main.c Puesto que en la práctica, la realidad suele
software concerniente en la realización de //project_C/main.c#1 - was edit, presentar situaciones más complejas en las
cambios y modificaciones sobre los ficheros reverted cuales intervienen varios desarrolladores
afectados. o equipos involucrados, es preciso realizar
Dicha operación vuelve a establecer el modo una breve introducción a estas prácticas
Modificación, análisis y remisión solo-lectura para el fichero main.c, por lo que y analizar la gestión de bloqueos así como
de cambios la realización de modificaciones ulteriores, la resolución de conflictos ocasionados por
Partiendo de la copia local del depot solicitado requiere la repetición del proceso de edición una actividad concurrente en el proceso de
mediante el workspace cliente ws_dev, es posi- completo. desarrollo.
ble iniciar la actividad de desarrollo mediante
la utilización de Perforce. Para ello es preciso
en primer lugar activar el modo de edición de
los ficheros a modificar.

$ p4 edit //ws_dev/project_C/main.c
//project_C/main.c#1 - opened
for edit

Ahora puede editarse el fichero seleccionado


y realizar los cambios pertinentes. Dichos
cambios pueden ser contrastados con los exis-
tentes en el depot del servidor P4D mediante
la operación p4 diff tal y como se muestra
a continuación:

Figura 10. Cuadro de diálogo para la obtención de


una copia local de workspace Figura 11. Descripción final del depot //project_C

70 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

Tabla 2. Permisos y privilegios en Perforce SCM Fast System


Listado 6. Especificaciones de la branch pro-
Nivel Descripción ject_C-rel-1-0
list Es posible ejecutar comandos que permiten visualizar metadatos Perforce aunque
no se pueden ver ni modificar los contenidos de los ficheros. Branch: project_C-rel-1-0

read El usuario puede visualizar metadatos y leer ficheros mediante comandos como p4 Update: 2007/02/22 00:11:32

client o p4 sync Access: 2007/02/22 00:11:32


Owner: p4user
open A los permisos read, se añade la capacidad de abrir y editar ficheros de un depot en
Description:
un workspace, pero no permite su reescritura en el depot mediante p4 submit ni el
Created by p4user.
bloqueo mediante p4 lock.
Options: unlocked
Write Además de los permisos open, write permite añadir y eliminar ficheros en el depot.
View:
Este nivel permite el uso de todos los comandos Perforce con la única excepción
//project_C/... //project_C/
de p4 protect, depot, obliterate y verify.
rel_1_0...

Estrategias de colaboración y resolución aceptar los cambios propios en detrimento


de conflictos de los realizados por otro usuario, proceder Las tres primeras líneas afectan al usuario
Generalmente, en grandes proyectos de soft- a la inversa o incluso unificar (merge) los dos p4user, cuyo workspace cliente utilizado
ware no existe un único usuario trabajando ficheros modificados en un único fichero está especificado en la dirección IP 195.
con la totalidad de los ítem de un proyecto, que será remitido al depot. Este enfoque es 42.39.17. De este modo, ella puede escri-
y en muchas ocasiones, pueden existir varios conocido como three-way merge process y se bir ficheros ubicados en el depot //pro-
usuarios trabajando sobre un mismo conjunto ilustra en la figura adjunta. ject_C y en cuando a lectura posee per-
de ficheros. Por ello resulta interesante des- Las diferencias entre versiones son ges- misos para consultar todos los ficheros del
cribir de forma sucinta las operaciones que tionadas de forma independiente por Perfor-
pueden tener lugar en este contexto. ce mediante la definición de la variable de en-
torno PDIFF con las operaciones p4 resolve
Terminología
• Sincronizar el workspace definido con el y p4 diff.
repositorio para obtener un fichero o con- • Item Configurable (CI): Entidad lógi-
junto de ficheros almacenados en el de- Permisos y usuarios en Perforce ca mínima en un proceso de gestión
pot. Perforce SCM Fast System cuenta con un sis- de configuración de software y que
$ p4 sync -f //project_C/main.c#1 tema de autentificación integrado basado en puede descomponerse en varios
//project_C/main.c#1 - updating / claves de acceso, que garantizan el acceso du- CIs.
home/t602010/project_C/main.c rante un tiempo ilimitado o tickets, que limi- • Baseline: Entidad lógica que señala el
sync complete. 1 file affected. tan éste. punto de finalización de una actividad
La opción [-f] permite realizar la sincro- La filosofía de permisos está orientada y el inicio de otra dentro de un sistema
nización en el supuesto de que se haya a las operaciones básicas de una herramienta de gestión de software.
borrado la copia local del fichero solicita- SCM, siendo estos acumulativos; es decir, • Integración: Proceso consistente en
do. cada uno de ellos incluye también a los pre- crear nuevos ficheros a partir de unos
• Resolución de conflictos. En el caso de cedentes tal y como se muestra en las Tablas ya existentes o propagar los cambios
que dos usuarios editen el mismo fiche- 2 y 3. de una colección de ficheros a otros
ro simultáneamente, y los cambios intro- En cuanto a los niveles de privilegios (merging).
ducidos por uno de ellos interfieren con empleados descritos en la Tabla 3 y defini- • Branch: Ramificación de un proyecto
otros realizados en un instante anterior dos con propósitos de administración, se tie- de software asignable a un equipo de
del ciclo de desarrollo, Perforce requiere nen. desarrollo en un sistema de Control
que una changelist sea remitida y no per- Un ejemplo de aplicación de permisos es de Configuración.
mitirá, debido al carácter atómico de és- el siguiente: • Merging: Proceso de reunificación de
tas, que dos changelist que afecten al una rama con el árbol de desarrollo
mismo fichero aparezcan en el depot. read user * 195.42.39.17 //... principal de un sistema de Control de
write user p4user 195.42.39.17 // Configuración.
La resolución de conflictos es una de las fa- project_C • Depot: Repositorio asignable a una par-
cetas más brillantes de Perforce SCM Fast read user p4user * //... te o subsistema asociado a proyectos
System, ya que éste permite decidir entre super user t602010 //... de desarrollo de software. Es una ver-
Tabla 3. Privilegios y permisos de administración en Perforce sión mejorada del concepto de reposi-
torio en sistemas RCS.
review Este nivel está concebido con propósitos de monitorización para revisar los procesos
• Release: Conjunto de CIs asociados
demonio mediante el comando p4 review.
a un proyecto de software y destinados
admin Concede los permisos de administración sobre los metadatos Perforce pero no sobre
a su puesta en producción. General-
la operación del servidor, incluyendo los niveles write y review.
mente, una release viene caracteriza-
super Da permisos totales de administración para gestionar depots, usuarios, grupos da a través de una baseline.
y triggers.

www.lpmagazine.org 71
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

//project_C/rel_1_0docs/README#1 -
branch/sync from //project_C/docs/
README#1
//project_C/rel_1_0main.c#1
- branch/sync from //project_C/
main.c#1,#2
que utiliza el fichero de especificaciones
descrito en el Listado 6 como requisito
previo.

Una vez finalizado el procedimiento de crea-


ción, el cliente visual muestra la apariencia
recogida en la Figura 12.
que representa la totalidad de los ficheros
seleccionados para la ramificación o branch
utilizada para la release 1.0 del proyecto al-
macenado en el depot //project_C y que ha
servido como ejemplo a lo largo del presente
artículo.
La propagación de cambios es un aspec-
Figura 12. Creación de la branch project_C-rel-1-0
to más complejo que por falta de espacio no
servidor Perforce. De este modo, una ope- development branch (rama de desarrollo), que va a ser contemplado y que permite el apro-
ración como: pueden ser utilizados para: vechamiento integral de las capacidades
brindadas por Perforce en la gestión del ci-
$ p4 -u p4user edit //project_C/main.c • Crear ramas de desarrollo para cada re- clo de desarrollo de sistemas complejos me-
lease del software e integrar cambios pa- diante las operaciones p4 integrate y p4
estaría permitida, mientras que si intenta efec- ra el control de nuevas funcionalidades y resolve.
tuar la operación sobre otro depot diferente eliminación de errores.
obtendrá un error al carecer de privilegios • Etiquetar los ficheros necesarios en el Etiquetas en Perforce
para ello. Sin embargo, si intenta sincronizar proceso de construcción de una nueva Las etiquetas o labels en Perforce son elemen-
los contenidos de su workspace cliente con release del software. tos lógicos asimilables a los tags presentes en
los del depot ubicado en el servidor: CVS o Subversion y que permiten asignar un
Considerando el depot como un repositorio en nombre a un conjunto de revisiones de fiche-
$ p4 -u p4user sync //project_C/main.c el que pueden coexistir varios proyectos de ros distintos necesarios para satisfacer un
software, resulta lógico crear un subdirecto- objetivo, como por ejemplo una release del
puesto que sólo se requieren permisos de rio o codeline para cada proyecto en lugar de software o un estado de desarrollo.
lectura, la operación se efectuará correcta- aplicar el enfoque tradicional de los sistemas Su utilización es más sencilla que las
mente. Del mismo modo, si intenta trabajar RCS de crear un depot para cada proyecto a fin codelines y branches descritas anteriormente
con otro equipo que no posea la dirección de recuperar el contexto de desarrollo de sis- y permiten en cierto modo, la emulación de
IP recogida, la operación edit fallará debido temas en el cual las herramientas y procesos las baselines. En nuestro caso, para etiquetar
a que éstos están adscritos a la dirección SCM encuentran su marco natural. A título las últimas versiones de nuestro proyecto de
195.42.39.13. de ejemplo se describen las operaciones ne- ejemplo almacenado en el depot //project_C
cesarias para crear una codeline de desarrollo
Aspectos avanzados. Codelines que va a ser empleada para la release 1.0 del
e integración proyecto confinado en el depot //project_C.
El concepto de baseline o línea base aparece Acrónimos y abreviaturas
recogido en ISO/IEC 498 y es con diferencia • Crear una rama para albergar la release • CC: Configuration Control,
uno de los más importantes dentro de la inicial de nuestro proyecto, v. gr. rel_1_0. • ECM: Engineering Change Proposal
gestión de configuración de software (SCM) $ p4 branch project_C-rel-1-0 o Propuesta de Cambio de Ingeniería,
y su necesidad viene justificada de forma Branch project_C-rel-1-0 saved. • RCS: Revision Control System,
inmediata. Imagínese un proyecto integrado que crea un fichero de especificaciones • RDBMS: Relational Database Mana-
por multitud de ficheros con diferentes ver- con el contenido recogido en el Listado 6. gement Server,
siones y modificaciones no coincidentes en el • A continuación, la creación efectiva de la • SCCS: Source Code Control System,
tiempo. A la hora de realizar una nueva ver- ramificación project_C-rel-1-0 se efectúa • SCM: Software Configuration Manage-
sión para incorporar nuevas funcionalidades mediante el comando: ment,
a éste, ¿cómo identificar las versiones de los $ p4 integrate -b project_C-rel-1-0 • SCM: Software Configuration Manage-
ficheros con los cuales se desea trabajar? A tal //project_C/rel_1_0Makefile#1 ment,
efecto, Perforce incorpora una aplicación del - branch/sync from //project_C/ • SVN: Subversion.
concepto de baseline denominada codeline o Makefile#1

72 Linux+ 5/2007
w para programadores
Gestión de Configuración Software (SCM) en sistemas GNU/Linux con Perforce

werks CodeWarrior de cara a facilitar el tra-


bajo de los desarrolladores. Incluso incluye
un API C/C++ para la programación de ac-
tividades encaminadas a definir un modelo
de proceso diferente.
Además, Perforce incluye un servidor
HTTP denominado p4web que, por defecto
atiende las peticiones en el puerto 5500/tcp
cuyas prestaciones y funcionalidades son
similares a la del cliente visual P4V, lo que
garantiza tanto la posibilidad de acceso
independiente de la plataforma así como la
falta de necesidad de instalar un cliente de-
dicado, ya que este papel será desempeñado
por un navegador tal y como se muestra en
la Figura 13.
Otro aspecto a descubrir es la capacidad
de generación de informes mediante la utili-
dad P4Report, que permite también en este
caso prescindir de herramientas de terceras
partes como Crystal Reports para la mayor
parte de las aplicaciones.
En cualquier caso, se hace patente que
el aprovechamiento de las numerosas ca-
pacidades proporcionadas por Perforce de
cara a la implantación de un sistema SCM
Figura 13. Cliente HTTP de Perforce SCM Fast System de carácter empresarial, requiere el estudio
de la documentación proporcionada de for-
con la denominación rel-1-0 debe ejecutarse el Conclusiones ma gratuita por el proveedor en http://www.
comando: Dentro de la familia de herramientas y sui- perforce.com/perforce/technical.html así como
tes destinadas a la gestión de la configura- la consulta de los foros de discusión pre-
$ p4 tag -l rel-1-0 ción de software (SCM), Perforce se presen- sentes en Internet, siendo la pretensión de
//project_C/... ta como una alternativa multiplataforma, este artículo la introducción de los usuarios
//project_C/Makefile#1 - added rápida, eficaz e independiente de un servi- interesados en la gestión de configuración
//project_C/docs/README#1 - added dor RDBMS propietario a otros productos de software a una herramienta alternativa
//project_C/main.c#2 - added comerciales como Serena PVCS Dimensions a otras de carácter comercial, con unas
o Rational ClearView satisfaciendo las cuatro prestaciones y costes realmente competi-
Las etiquetas aplicadas pueden eliminarse de premisas básicas: tivos.
forma total o parcial con el comando p4 tag
-d -l rel-1-0 y pueden también monito- • Identificación de items configurables (CIs)
rizarse para verificar los cambios realizados y definición de componentes de baseli-
a nivel local mediante el comando: nes. Referencias en Internet
• Control de la Configuración (CC) articu-
• Introducción a los sistemas SCM
$ p4 tag -n -l rel-1-0 //ws_dev/... lando las cuatro fases de inicio, prepa-
y conceptos generales:
//ws_dev/... - label in sync. ración, evaluación y aprobación de los
http://scm.tigris.org
cambios propuestos.
• The Project ACME for Software
E incluso puede obtenerse una lista de las • Auditoría de la Configuración cuyo obje-
Development Home Page:
etiquetas aplicadas a los ficheros de un deter- tivo es determinar el grado de coherencia
http://www.cmcrossroads.com/
minado workspace cliente: del software con su baseline de partida.
bradapp/acme/scm-defs.html
• Contabilidad de la Configuración, que
• Colección de enlaces y recursos
$ p4 labels permite cuantificar la evolución de un
sobre sistemas y conceptos SCM:
Label rel-1-0 2007/02/18 'Created by sistema complejo integrado por varios
http://www.rspa.com/spi/SCM.html
p4user.' proyectos de software.
• Perforce SCM Fast System
Home Page:
Las etiquetas en Perforce simplifican la ges- Perforce además cuenta con amplias posi-
http://www.perforce.com
tión y localización de líneas base y su genera- bilidades de integración en entornos de de-
• Serena PVCS Dimensions
lización permiten una inmediata localización sarrollo integrados (IDE) como Eclipse, MS
Home Page:
de modificaciones de carácter colectivo a los Visual Studio, WebSphere Studio y Metro-
http://www.serena.com
usuarios del sistema.

www.lpmagazine.org 73
w proyectos linux
Linux en Argentina

Tuquito 2, un desarrollo argentino


Ariel M. Corgatelli

Tuquito-2 es una distribución GNU/Linux que


implementa la tecnología livecd (funciona desde cd), esto
permite al usuario tener en su computadora un sistema completo
en cuestión de minutos, con todo el software y hardware
configurado y listo para usar, sin necesidad de modificar
en absoluto la computadora, ganando tiempo a la hora
de realizar tareas concretas.

E
l uso de Tuquito no requiere de asistente (wizard) más que intuitivo. Algunas vídeo, Amsn para el acceso a las redes MSN,
ningún nivel de experiencia, está de sus características son: detección automá- soporte para tecnología disponible en equi-
destinado a todo tipo de usuarios. tica de los discos rígidos de nuestra compu- pos portátiles (ACPI, PCMCIA, CPUFREQ,
También puede instalarse en tu tadora dejándolos disponibles en nuestro es- hibernación,etc.), soporte para la escritura
computadora mediante dos tipos de instala- critorio con tan solo un clic, soporte de impre- en sistemas de ficheros NTFS, soporte para
ción, Completa o Básica, teniendo todo confi- soras de varios modelos antiguos y nuevos, la conexión a Internet con winmodems (los
gurado y listo en el disco rígido en un tiempo soporte de scanners gracias a xane, soporte más comunes), soporte para la conexión a In-
mínimo. de webcams incluyendo los modelos de In- ternet con modems para ADSL (ethernet),
Tuquito cuenta con 2 Gigabytes de apli- tel, Genius; acceso a cdroms, diskettes, con software para compartir conexión a Internet
caciones en un CD común de 650 Megabytes, un clic en el escritorio, detección automática a otras computadoras, soporte para conexio-
con una amplia selección de paquetes en las de cámaras digitales, pendrives, dispositi- nes de red inalámbricas (WIFI), recursos com-
áreas de ofimática, ingeniería, multimedia, vos hotplugs (usb), compatible con archivos partidos mediante SAMBA, conexión remota
Internet, programación y ciencias. de MSOFFICE soportando los sistemas de de escritorio y escritorio compartido, soporte
La estética instantánea de Tuquito, per- archivos de Windows (Fat32 - NTFS). Cuen- y software para la sincronización de Palms /
mite disfrutar de un sencillo y amigable en- ta con las clásicas herramientas: Firefox PDA, soporte de webcam en clientes de men-
torno de trabajo. como browser, Evolution como organizador sajería (AMSN, Kopete), implementación de
En la Figura 2 vemos el nuevo panel de personal más el cliente de correo; Quanta, una nueva consola en el escritorio accesible
instalación en donde la misma se realizará excelente editor de programación, Mplayer presionando la tecla [F12], administración de
de forma gráfica desde el comienzo y con un que es uno de los mejores reproductores de usuarios mediante Kuser, administración de
paquetes de sistema mediante Kpackage, in-
tegración con el escritorio para la emulación
de aplicaciones para sistemas Ms-Windows
mediante Wine, software para descarga de ar-
chivos (Gestor de descarga, FTP, clientes P2P,
torrents), inclusión de Udev para la detección
de dispositivos, supresión de SuperMount,
implementación de UnionFs (Modo LIVECD)
y muchas más opciones disponibles.
Como browser vamos a encontrar al po-
pular Firefox en su versión 1.5, que es facti-
ble actualizarla sin mayores problemas por
supuesto, recordemos que hablamos de una
distribución basada en Debian.

Primeros pasos con Tuquito


GNU/Linux
Para utilizar Tuquito-2 GNU/Linux, se debe
bootear, inicializando nuestra computadora
desde el cd. Si la opción de booteo no se en-
cuentra disponible la podemos habilitar des-
Figura 1. Bienvienido a Tuquito de el Setup (Bios) de nuestra computadora.

74 Linux+ 5/2007
w proyectos linux
Linux en Argentina

Una vez inicializado el cd, dispondremos Instalación


de un menú con varias opciones para distin- de Tuquito-2 GNU/Linux
tas formas de arranque y configuración. Para instalar Tuquito-2 GNU/Linux podre-
También podremos configurar el hard- mos seleccionar la opción INSTALAR, la cual
ware para un correcto arranque, llegado el ca- se desarrollará en tres etapas para poder rea-
so de que no lo detectara automáticamente. lizar la explicación de una manera más clara
Las opciones principales son: y didáctica.

Normal Primera Etapa


Realiza un arranque con una configuración Instalación automática e instalación manual:
del sistema y hardware automática. Por ejem- El tipo de instalación automática es recomen- Figura 3. Tal cual lo dijimos, insertamos una cámara
plo: resolución gráfica 1024x768, detección dada para usuarios de mínimos conocimien- digital en nuestro equipo con Tuquito 2 y la misma
automática de vídeo, audio, red, etc. tos, en donde casi todos los pasos son auto- fue detectada de forma automática siendo montada
máticos, con la única salvedad de realizar en en nuestro escritorio
SafeMode todos los casos el particionamiento de forma
Esta opción arranca el sistema con una confi- manual con cfdisk, luego la detección del Una vez creadas las particiones debemos
guración genérica, que deberá arrancar en el hardware y configuración de menú de inicio guardar los cambios (Escribir) y salir del pro-
caso en que se llegase a tener problemas con (grub) se realiza de forma automática. grama de partición (Salir).
las otras opciones. Por ejemplo: resolución grá- Sobre la instalación manual, es recomen-
fica 800x 600, driver de vídeo genérico (VESA), dada para usuarios con conocimientos avan- Tercera Etapa
se lo recomienda para computadoras anti- zados ya que deberá pasar por varias fases de En esta etapa, podremos elegir dos tipos de
guas. configuración. instalación completa o básica.
Para realizar la instalación completa de-
Instalar Segunda Etapa bemos contar con un espacio mínimo de 2 GB
Desde esta opción podremos instalar Tuqui- La segunda etapa consiste en modificar la libres en donde se copiará todo el contenido
to-2 GNU/Linux en la computadora. En las tabla de particiones para alojar Tuquito. de aplicaciones en nuestro equipo, y en lo
otras opciones, Tuquito funciona en modo Para ello deberemos crear dos particiones que se refiere a la instalación básica como su
LIVECD. con un programa (cfdisk) que ofrece la insta- palabra lo indica es bien básica, incluyendo
También se encuentran los sub-menús lación. los paquetes clásicos que encontraremos en
que contienen opciones predefinidas, con las Las particiones a crear son las siguientes: cualquier distribución Linux tal como brow-
cuales podremos personalizar un poco más ser, evolution, kopete, son solamente algunos
su arranque en modo livecd o instalación. • Linux Swap de ellos, siendo posible luego realizar la ins-
Dichas opciones son completamente edi- talación de los paquetes no presentes desde
tables, permitiendo combinar todas estas a gus- Esta partición es la denominada de intercam- el sistema de empaquetamiento provisto por
to del usuario. bio, utilizada por Tuquito, para agilizar un la distribución.
Una vez inicializado con cualquiera de poco más sus tareas siendo la más clásica en Lo que podríamos decir que es muy inte-
estas opciones, podremos ver en forma de- todas las distribuciones. resante es la operatividad de esta distro con
tallada el arranque de Tuquito, presionando Requiere aproximadamente el doble de la integridad de todo el software+hardware, ya
[F2]. la memoria RAM. Por ejemplo si se dispone que por ejemplo en lo que se refiere a soft-
Una vez que Tuquito finaliza la detección de 64MB de RAM, la partición Swap debe ser ware instalado si hay algo que no encontra-
y configuración en nuestra computadora, de 128MB. mos instalado con tan solo hacer un clic en el
inicializará un entorno gráfico, en donde Para darle este tipo de formato desde el icono correspondiente el mismo sistema se
podremos empezar a trabajar. cfdisk debemos seleccionar la nueva parti- encarga en solicitar el cd para la instalación
ción creada y darle el tipo de formato Swap, del mismo.
eligiendo la opción Tipo y tipeando el nú- La nueva versión de Tuquito implemen-
mero 82. ta muchas mejoras que se hicieron posibles
gracias a la colaboración de muchos usuarios
• Linux Nativa que aportaron sus experiencias con la prime-
ra versión de Tuquito-k (nos manifestó Mau-
En este tipo de partición se instalará Tuquito ro). Es por esto que la nueva versión de Tu-
con todos sus directorios, aplicaciones y con- quito, denominada Tuquito 2 (la evolución
figuraciones, al crear una nueva partición de la especie), está orientada para los usua-
desde cfdisk, ésta ya se crea por defecto del rios de escritorio, priorizando las utilidades
tipo Nativa. multimedia como los reproductores de au-
El espacio de esta partición dependerá dio y vídeo, como así también las utilidades
del tipo de instalación que elegimos (tercera que permiten la interconexión de disposi-
Figura 2. Componentes de KDE etapa). tivos.

www.lpmagazine.org 75
w proyectos linux
Linux en Argentina

Ariel Corgatelli: Cuéntanos un poco del


proyecto Tuquito.
Mauro Torres: Tuquito a lo largo de los
años creció mas allá de lo que pude imaginar,
al principio nació como una solución a un
problema específico, después se extendió a las
masas y luego, y esto es lo mas interesante de
la historia, se transformó en una forma de vi-
da tanto para mí como para muchos tuquite-
ros (usuarios de Tuquito).
Esto se debe a que Tuquito no es sola-
mente una distribución de Linux, va mas allá
de eso, Tuquito es una comunidad de perso-
nas que quieren mejorar el mundo o por lo
menos el lugar que lo rodea, por eso parti-
cipamos de muchos eventos, proyectos, que
creemos beneficiosos para la comunidad.
La guerra de la libertad se lucha de muchas
maneras, la nuestra es por Tuquito, por el
software libre.
Figura 4. En esta imagen vemos todas las categorías que incluye Tuco, no podemos negar que es muy
Ariel Corgatelli: ¿Cuántas personas traba-
interesante instalar con tan solo hacer un clic en el software deseado
jan para llevar adelante Tuquito y el nuevo
Funciones adicionales añade una mayor adaptabilidad del software proyecto OLPC?
Hasta este momento no contamos ninguna al usuario. Mauro Torres: Actualmente en la comu-
novedad para cualquier usuario de Linux en Merece la pena mencionar también el nidad staff de Tuquito contamos con unas 50
general, pero desde ahora vamos a enume- nuevo script desde el formato gráfico #insta- personas, repartidas en las áreas de desarro-
rar las ventajas o funciones adicionales que lar-tuquito, en donde además de poder usar llo, diseño, documentación y difusión.
trae Tuquito 2. cfdisk podremos utilizar qtparted siendo es- En el actual proyecto Tuquito OLPC for-
Tuquito 2 permite guardar los cambios te último un front gráfico más simple de uti- mé un grupo fijo de 7 personas onsite (más la
realizados en un dispositivo extraíble (pen- lizar. comunidad), donde trabajamos 5 horas al día
drive), de manera que al iniciar nuevamente de lunes a viernes, ya que tengo como finali-
el LIVECD tenemos el escritorio tal cual se lo Entrevista a Mauro Torres dad poder aportar lo más posible al proyecto
dejó al guardar la sesión, conservando todas La entrevista ha sido realizada el día 28 de porque el futuro de nuestros niños debería
las configuraciones realizadas por el usua- febrero en Capital Federal (Argentina), luego ser una obligación de todos.
rio, como así también los programas insta- de la presentación del proyecto OLPC. Ade- Los miembros del grupo activo son:
lados. más de la entrevista, Mauro Torres nos mos-
Contaremos con Tuco como instalador de tró todas las funciones del prototipo 49 de los • Mauro Torres, autor y coordinador gene-
programas más fácil en donde el usuario po- 50 que se encuentran dando vuelta por todo ral.
drá instalar programas con unos cuantos clics, el mundo. • Chris Arenas, Desarrollo y difusión.
sin que esto requiera tener conocimientos de
un sistema GNU/Linux, siendo este sistema
muy similar a Klik pero nativo y desarrollado
por el grupo Tuquito.
Algunos Conceptos Previos
Tuquito 2, brinda al usuario la posibili-
Booteo dio de almacenamiento normalmente CD-
dad de elegir usar una distribución 100% li- ROM o disquete, de forma temporal a mo-
En informática, el booteo (arranque) es un
bre. Dependiendo de la decisión del usuario, do de demostración. Generalmente para
proceso que inicia el sistema operativo cuan-
estarán o no disponibles algunas utilidades permitirlo se descomprime una parte en
do el usuario enciende un sistema informáti-
que no son libres pero que se incluyen para la memoria RAM del ordenador, para usar
co. En inglés se conoce como booting. Fue
mejorar la adaptación de los nuevos usua- esta memoria como disco duro virtual, sin
traducido del termino en inglés boot, como
rios al sistema. necesidad de una instalación. Algunos
arranque o inicialización de un ordenador
La distribución cuenta con la nueva ver- liveCD vienen con una utilidad que puede
o dispositivo, concretamente suele referirse
sión de Garfio (www.garfio.org.ar), la cual im- instalar opcionalmente, si el usuario así lo
al arranque del sistema operativo.
plementa nuevas características. Una de las desea, el sistema operativo en el disco
más relevantes es la posibilidad de instalar LiveCD duro.
nuevo software en Tuquito mientras se lo está LiveCD es una característica para permitir Fuente: http://www.wikipedia.org
utilizando como LIVECD. Esta característica, ejecutar un sistema operativo desde un me-
combinada con la utilidad de Guardar Sesión,

76 Linux+ 5/2007
w proyectos linux
Linux en Argentina

También estamos trabajando en un panel


de control, la nueva versión de Tuco (insta-
lador de paquetes de Tuquito), e infinidades
de novedades, realmente estará muy prome-
tedor.
Ariel Corgatelli: ¿Qué tipo de apoyo tiene
el grupo Tuquito?
Mauro Torres: Tuquito actualmente cuen-
ta con el apoyo del gobierno de Tucumán
(República Argentina), universidades de dis-
tintos países y principalmente con el apoyo
de toda la gente de la comunidad.
Ariel Corgatelli: ¿Algo más que nos quie-
ras contar?
Mauro Torres: Solamente me resta agrade-
certe Ariel por esta oportunidad de difundir
el trabajo que estamos realizando con mucho
esmero.
Y para terminar me gustaría invitar a to-
dos los interesados a participar de nuestro
proyecto Tuquito y Tuquito OLPC, sería muy
Figura 5. En esta imagen me encuentro junto a Mauro Torres, en la entrevista realizada en un local de comi-
interesante que la comunidad crezca cada
das rápidas de Buenos Aires
vez más y podamos llevar esta tan adictiva
• Gustavo Cortez, Difusión y documenta- Ariel Corgatelli: ¿Qué diferencia hay entre y sana carrera a la casa de todos.
ción. Tuquito y las demás distros basadas en De-
• Gonzalo Delgado, Desarrollo y progra- bian? Conclusión
mación. Mauro Torres: La principal diferencia de Desde hace más de un año me contacté con
• Gonzalo Odiard, Desarrollo y programa- otras distribuciones es la usabilidad, es muy Mauro Torres para prestar mi apoyo en Tu-
ción sencillo y transparente hacia el usuario ya que quito y de forma automática me vi envuelto
• Daniel Córdoba, Desarrollo y programa- apunta a los usuarios finales. en una campaña de envíos gratuitos dentro
ción. Otra diferencia muy importante es que de Argentina en donde envié mas de 600
• Nicolás Montoza, Desarrollo y progra- utiliza garfio, otra de las aplicaciones desarro- Cds sin cargo alguno para el destinatario.
mación. llada por mí, que le permite a Tuquito bootear De forma casi sorprendente los pedidos se
• Claudio Ceballos Paz, Desarrollo y pro- desde livecd y ser instalable, garfio le da a Tu- multiplicaron día a día con lo que tuve que
gramación. quito una velocidad mayor en tiempo y ejecu- abandonar dicha campaña. Sin importar esta
• David Rodriguez, Desarrollo y adapta- ción desde livecd que otras distribuciones. acción me encontré con un grupo maravillo-
ción del sistema operativo base. Ariel Corgatelli: ¿A qué perfil de usuarios so en donde la meta es el trabajo colaborativo
está destinado, y por qué? principalmente, es gente excelente en donde
Pueden informarse más del proyecto en Mauro Torres: Tuquito está orientado a los se han puesto una meta que es bien lograda,
nuestro blog http://olpcblog.tuquito.org.ar y en usuarios finales, debido a que fue concebida y ésta es ser la distribución argentina más
el wiki http://olpc.tuquito.org.ar. en ese ámbito y está totalmente testeada por simple de utilizar con todas las necesidades
estos tipos de usuarios. Tuquito es y está he- que cualquier usuario pueda requerir. Con
cho para usuario finales. todo me gustaría invitar a todos los lectores
Ariel Corgatelli: ¿Qué tipo de cambios de habla hispana a que se descarguen la dis-
traerá la versión 3 de Tuquito? tro y la prueben, es excelente, ésta es mi con-
Mauro Torres: La versión 3 traerá cam- clusión final.
bios muy innovadores en el mundo libre,
traerá una instalación gráfica muy intuitiva
y atractiva (ver screenshot) en donde sola-
mente se instalará Tuquito en muy pocos En la red
pasos, contará con lo que llamo sesiones vir- • Sitio oficial de Tuquito:
tuales, lo que le permitirá al usuario tener en www.tuquito.org.ar
Internet todo su home y aplicaciones insta- • Descarga de Tuquito 2:
ladas, entonces con el livecd en la mano en www.tuquito.org.ar/?page_id=60
cualquier computadora con Internet podrá • Miembros que componen el grupo:
Figura 6. En esta imagen pueden ver todo el panel tener su configuración, archivos, progra- www.tuquito.org.ar/?page_id=9
de configuración que tendrá Tuquito 3 mas etc...

www.lpmagazine.org 77
w entrevista
Entrevista a Richard Stallman

Entrevista
a Richard
Stallman
Richard Stallman lanzó el movimiento de software libre
en 1983, y en 1984 comenzó el desarrollo de un sistema
operativo libre, el sistema GNU. Desde la liberación Puedo decir que España me
en 1992 del núcleo Linux, el sistema GNU y el núcleo gusta mucho, por mis amigos,
Linux se usan juntos en la combinación GNU/Linux. por los montes, por la comida,
Cuando se habla de Linux, usualmente es asunto por sus edificios antiguos...
de esta combinación, GNU con Linux.

Linux+: ¿Cómo y cuándo empezó tu aventura • Libertad 1: libertad de estudiar y cam- tivo libre. Unos años más tarde, cuando
con el Software Libre? ¿Cuáles fueron los prin- biar el código fuente del programa, pa- componentes de GNU como por ejemplo
cipios? ra que haga lo que quieras. GNU Emacs y GCC comenzaron a tener usu-
Richard Stallman: En 1981 murió mi anti- • Libertad 2: libertad de ayudar a tu pró- arios, pensaba en servir bien a los usuarios.
gua comunidad de libertad y solidaridad, des- jimo, es decir, de distribuir copias del Pero no imaginaba como sería el mundo
truido por la empresa Symbolics. Después, mien- programa a los demás, cuando quieras. de hoy. No tengo mucho talento de ima-
tras trabajaba para negarle el fruto de su acto • Libertad 3: libertad de contribuir a tu co- ginar el futuro, pero sí el de ver las ame-
de destrucción, busqué una manera de crear munidad, es decir, de distribuir copias nazas actuales a la libertad, y de combatir-
de nuevo una buena comunidad libre. de tus versiones cambiadas, cuando quie- las.
Se sugirió este método: desarrollar un ras. L+: ¿Cómo aprendiste español, visitas a me-
nuevo sistema operativo libre. La existencia de nudo España o América Latina, tienes algún país
este sistema les proporcionaría a los usuarios Negarles estas libertades no es ético: todos preferido?
la libertad y la posibilidad de la solidaridad. los programas deben respetarlas. Es decir, RS: Aprendí español con libros, cuando
Por lo tanto en 1983 anuncié el plan de desa- deben ser libres. Un programa privativo, vi que sería bastante fácil, comenzando con
rrollar un sistema operativo libre, de tipo Unix. que priva de estas libertades al usuario, es mi conocimiento de francés. Comenzar con
Lo llamé GNU, es decir, GNU No es Unix (un un problema social. La meta del Movimien- libros es el único método que funciona para
acrónimo recursivo, algo muy divertido para to de Software Libre es corregir este proble- mí.
los programadores). Fue también el comienzo ma: es decir, es la liberación del ciberespacio No tengo país preferido, como no tengo
del Movimiento del Software Libre. y de todos sus habitantes. Para respetar siem- canción preferida ni comida preferida. Hay
La idea básica del Movimiento de Soft- pre la libertad de todos, todo el software de- varios aspectos de un lugar, de una canción,
ware Libre es que el software debe respetar be ser libre. o de una comida, que pueden ser agradables
la libertad del usuario. Hay cuatro libertades L+: ¿Pensabas que iba a tener tanta repercu- o no. Por lo tanto, no puedo ordenar todos en
esenciales: sión el movimiento del Software Libre cuando lo una sola dimensión.
iniciaste? Puedo decir que España me gusta mu-
• Libertad 0: libertad de ejecutar el progra- RS: Al comienzo, no pensaba más allá cho, por mis amigos, por los montes, por
ma como quieras. de la meta de desarrollar un sistema opera- la comida, por sus edificios antiguos, y por

78 Linux+ 5/2007
w entrevista
Entrevista a Richard Stallman

la música tradicional como la de La Mus- L+: ¿Qué opinas del acuerdo alcanzado entre con nuestra palabra y con nuestro compor-
gaña. Novell y Microsoft? tamiento.
L+: Mucha gente confunde el sistema com- RS: Es un ataque a la libertad garantiza- En nuestra comunidad actual, no se dice
pleto GNU/Linux con el núcleo, Linux. ¿Podrías da por la GNU GPL. Hay muchos licencias ni se hace bastante, porque muchos tratan el
explicar la diferencia entre estas dos cosas? libres: cada uno respeta las cuatro libertades software privativo como legítimo.
RS: El núcleo es uno de los componen- del usuario que reciba un programa bajo ella. Por ejemplo, casi todas las distribuciones
tes esenciales de un sistema de tipo Unix. La característica especial de la GNU GPL es de GNU/Linux contienen programas priva-
En 1992, el sistema GNU era casi completo: practicar el izquierdo de copia (copyleft, en tivos. ¿Qué dice esta práctica al usuario?
de los componentes esenciales, solamente inglés). La GNU GPL exige que cada copia Dicen, con su ejemplo, que el software pri-
faltaba el núcleo. En aquel año el desarro- distribuida la misma licencia y que cada vativo es legítimo. Si distribuyes un progra-
llador de Linux, el Sr. Torvalds, cambió uno que reciba un programa ejecutable tam- ma, dices implícitamente que no te parece
la licencia de Linux, adoptando la Licen- bién reciba el código fuente. Por lo tanto, inmoral. Casi todas las revistas dedicadas
cia Pública General de GNU (GNU GPL) el programa debe ser libre para todos sus al sistema GNU/Linux contienen publici-
como su licencia, (la GPL es una de las li- usuarios. dad de programas privativos. ¿Qué dicen al
cencias de software libre). Luego Linux Para asegurar que el programa llega a tus usuario? Dicen, con su ejemplo, que el soft-
fue libre, y pudo llenar el último hueco en manos con las cuatro libertades, tenemos que ware privativo es legítimo. Sugerir el uso de
el sistema GNU. La combinación, es de- prohibirles a todos los intermediarios que un programa dice implícitamente que no
cir el sistema GNU con Linux o GNU/Li- corten las libertades antes de darte tu copia. es inmoral.
nux, es el sistema al que se dedica esta re- Y es lo que la GNU GPL hace. La decisión reciente de Ubuntu de
vista. L+: ¿Te parece bien que se incluya parte de promover más aun el software privativo
L+: ¿Has usado alguna vez en tu vida el siste- código privativo (por ejemplo unos drivers para no me sorprendió. Si algún proyecto acep-
ma operativo Windows? En caso afirmativo, ¿hace una tarjeta gráfica), dentro de alguna distribu- ta una vez distribuir el software privativo
cuánto que no lo usas? ción, para favorecer el desarrollo de entornos como para cualquier fin, incluso el de ayudar el
RS: He usado Microsoft Windows de Beryl? éxito de otros programas libres, lo trata co-
vez en cuando en varios lugares que visi- RS: Si alguien da un paso hacia al Mundo mo legítimo. Hacerlo mientras dice o pien-
taba, pero nunca he sido usuario de Win- Libre, aunque no llegue, puede ser progreso, sa que el software privativo es un pro-
dows. En 1983, cuando decidí desarrollar pero no necesariamente. Sí es progreso si es blema social es una contradicción, por lo
GNU, no había Windows. un paso en un viaje que llega al Mundo Libre. tanto usualmente cesa pronto de decirlo
L+: ¿Crees que Windows Vista supondrá un Pero si el viaje termina con ese paso, el paso y de pensarlo. Después los desarrolladores
paso atrás en el impulso y la importancia del soft- no sirve. del proyecto no verán ningún problema
ware libre? ¿Según tu opinión, será el último SO Un paso parcial probablemente será útil en promover más aun el software privati-
privativo de Microsoft? siempre que se recuerde el destino del viaje: vo, cada vez que parezca útil para el mero
RS: No veo el porvenir, pero se ve que el escaparse del software privativo, y usar éxito.
propósito de Windows Vista es imponer al únicamente el libre. La idea que el software Este camino no llega nunca a la libertad:
usuario más Gestión Digital de Restriccio- privativo no es una solución sino el proble- es un fracaso que tenemos que evitar. Nues-
nes (DRM en inglés). (Véase badvista.org). ma que corregir no se debe olvidar nunca. tro futuro no es cierto, pero es completamente
A muchos no les gusta Windows Vista, lo Para que se recuerde, debemos sostenerlo cierto que los que acepten la legitimidad del
que puede convencer a muchos a que migren
a GNU/Linux. Pero Microsoft tendrá más
poder sobre los usuarios que aceptan Win-
dows Vista.
La DRM frecuentemente se respalda
con la tivoización. La tivoización es la prác-
tica de construir una máquina de manera
que versiones cambiadas del software no
puedan funcionar: la máquina detecta que
ha cambiado y se apaga.
No se hace únicamente con Windows.
Incluso se hace con programas libres, bajo
la GNU GPL. Distribuyen el código fuente,
y puedes cambiarlo e instalar tu versión
cambiada, pero cuando lo haces, la má-
quina deja de funcionar. Es una manera
de negarte la libertad número 1 en el sen-
tido práctico, mientras teóricamente la res-
petan.
Para asegurar la libertad real de cada
usuario, la versión 3 de la GNU GPL prohibi-
rá la tivoización. Richard Stallman en España

www.lpmagazine.org 79
w entrevista
Entrevista a Richard Stallman

software privativo no harán el esfuerzo nece- cómo se instala, sino en el hecho que insta- triste que no funcione bastante para reco-
sario para escaparse de él. le y sugiera programas privativos. Lo hace mendarse, pero no es un desastre: el Mundo
L+: Cambiando un poco el tema, ¿cómo ves desde el comienzo, y recientemente han Libre ya tiene otros núcleos, Linux siendo
al software libre en España? ¿Está en una posi- decidido hacerlo más aun. uno si se elimina los blobs.
ción buena en comparación con otros países? El hablar de fidelidad al software libre L+: Pasando un poco a los temas menos oficia-
RS: España tiene un movimiento entre no tiene sentido. El software libre es ética- les, mucho se habla de tus peculiares costumbres:
los más fuertes del mundo, con el liderazgo mente legitimo, mientras el privativo no lo no usar coche, no usar móvil, viajar con un col-
de Extremadura y mucho entusiasmo po- es, porque nos proporciona la libertad y la chón, etc. ¿Podrías contarnos un poco sobre ellos,
pular. Pero al mismo tiempo hay oposición solidaridad social. Son la libertad y la soli- a qué se deben?
fuerte dentro de nuestra comunidad misma, daridad las que merecen nuestra fidelidad, RS: Me gusta conducir, pero no quiero
por parte de los que hablan en nombre del y apoyar el software libre es la manera de pagar los costes de un coche, por lo tan-
código abierto. realizarlas en el campo informático. to no lo tengo. Al hacer economías, reduz-
Si el lector presta atención cuidadosa L+: ¿Existe algún tipo de negociación con co la cantidad de dinero que tengo que
a su discurso, verá que niega el valor de la los desarrolladores del núcleo para que utilicen la ganar, de forma que pueda hacer lo que
libertad. Da por supuesto que la elección licencia GPL 3? Sabemos que muchos de ellos la quiero.
del programa a usar debe seguir única- recibieron muy bien. Viajo con un colchón inflable porque
mente las ventajas prácticas, sin atención RS: Los desarrolladores de Linux co- no puedo dormir sobre una cama dura. Me
a la libertad. Unos sí apoyan el desarrollo menzaban a hablar un poco con nosotros produce dolor en los hombros y las piernas,
y uso de unos programas libres, pero sólo cuando salió la noticia del acuerdo ame- y el dolor me despierta. He elegido la solu-
por sus ventajas prácticas, como para decir nazador de Novell y Microsoft, que llevó ción más fácil y cómoda.
que el ser libre no cuenta para nada. a muchos a apreciar nuestro esfuerzo para Un teléfono móvil sería muy cómodo,
Su apoyo práctico es útil y no sugiero prohibir tales acuerdos con la versión 3 de pero lo rechazo porque es una herramienta
rechazarlo, pero tenemos que asegurar que la GNU GPL, y comenzaron a desear que Li- de vigilancia y seguimiento. El sistema nota
no pasen por el verdadero movimiento, que nux se distribuya con esa versión. Los de- en cada momento dónde estás, y lo graba,
su oposición profunda se vea como oposi- sarrolladores de Linux lo tomaron como y puede darla al Gran Hermano meses
ción, que el público comprenda que en el presión, rompieron el contacto, y no lo han o años después. El teléfono sigue emitiendo
debate ético están de acuerdo con Micro- retomado. señales de ubicación mientras está desacti-
soft y no con nosotros. L+: ¿Por qué Linus Torvalds no quiso acep- vado: para que no lo haga, hay que quitarle
L+: ¿Qué opinas sobre los proyectos de al- tar la GPL 3? ¿Cómo es tu relación con él? la pila.
gunas autonomías españolas de crear distribu- RS: No puedo hablar por él, pero ha di- También puede ser activado para escu-
ciones GNU/Linux adaptadas a los centros de cho que se opone a nuestra meta de asegu- charte cuando no has llamado ni contestado
estudio, como Guadalinex en Andalucía, Mo- rar la libertad a cada usuario. Dijo que con- una llamada. Se puede hacer por la empre-
linux en Castilla-La Mancha y Lliurex en Valen- sidera legítima la tivoización, y rechaza nues- sa de servicio, por la policía, o por cualquier
cia? ¿Crees que es una buena idea? tro intento de prohibirla. cracker que haya aprendido el código de co-
RS: Montar una sola distribución para L+: ¿La Free Software Foundation va mando necesario.
las escuelas y agencias de España, como a dar soporte a gNewSense? ¿Se va a contribuir Es el deber de cada ciudadano el no ali-
gnuLinEx, me parece útil, pero no veo por con infraestructura (servidores) a dicha distribu- mentar al Gran Hermano.
qué cada región debe tener su propia dis- ción? Con el mismo motivo no compro los
tribución. (Salvo gnuLinEx y Lliurex, todos RS: Ya les hemos provisto infraestructura productos con tarjeta de crédito. Los compro
los nombres hacen referencia a Linux y no a los desarrolladores de gNewSense. anónimamente con efectivo.
a GNU, lo que no es tratarnos bien.) L+: ¿Qué 3 puntos más fuertes crees que tiene L+: ¿Cómo es tu vida diaria y las activida-
L+: ¿Qué país es, según tu opinión, el que ahora mismo gNewSense y qué cosas piensas que des que te gusta realizar cuando tienes tiempo
más está apoyando al software libre? necesita urgentemente? libre?
RS: El país que apoya más el software El punto más fuerte de gNewSense es RS: Paso mi tiempo libre leyendo o con
libre como país (estado) es Venezuela, don- el de ser completamente libre, de no distri- mi novia. También me gusta mostrarles la
de el presidente Chávez ha decretado que buir ni sugerir ningún software privativo, música y los libros que me gustan a los de-
las instituciones del ejecutivo migren. En incluso han eliminado los blobs de fir- más. Me gustaba bailar pero ya no puedo,
cuanto al apoyo popular, he visto mucho en mware no libre que están presentes en el por tendinitis del pie que no secura.
Argentina, Brasil, Colombia, España, India código fuente de Linux, en forma de bina- Me gusta mucho inventar juegos de pa-
y Venezuela. rio disfrazado como números en el código labras, y parodias de canciones, como Guan-
L+: ¿Crees que los proyectos como el insta- fuente. tanamero (http://stallman.org/doggerel.html#
lador para instalar Ubuntu desde Windows, son Uso Ututo, otra distribución libre; por Guantanamero).
positivos para el software libre o es una infidelidad lo tanto, no conozco los detalles técnicos de L+: ¿Te gustaría decir algo a nuestros lec-
a éste? gNewSense. tores?
RS: El poder instalar un sistema libre L+: ¿Cuándo será Hurd una meta tan viable RS: No aceptes ninguna excusa para no
desde Windows, como manera de escapar- como Linux?¿Crees que veremos pronto resulta- luchar por tu libertad.
se de Windows, me parece bueno, aunque dos iguales?
no conozca en absoluto los detalles de ese RS: El HURD (manada) de GNU es el
programa. Lo malo en Ubuntu no está en núcleo que comenzamos en 1990. Me pone

80 Linux+ 5/2007
w
Páginas
recomendadas

www.diariolinux.com www.elguille.info www.gatolinux.blogspot.com

www.opensourcespot.org www.hispabyte.net www.linuxdata.com.ar

www.linuxhispano.net www.linuxsantafe.com www.usla.org.ar

Páginas recomendadas
www.mundopc.net
El tema principal del siguiente número de Linux+ será:
w
Internet e Intranet
El próximo número incluirá los siguientes
artículos:
• Tráfico web
Cómo aumentar el movimiento en tu portal

• Django
Desarollo web con Python
• Squid 2.6 en la PYME
Primeros pasos en la implementación • Para principiantes
de GNU/Linux Linux para uso hogareno
• Bonding + 802.1q • Para programadores
Redundancia de red, el mínimo de tarjetas Continuamos el tema de desarollo
del juego en Linux
• Antispam Open Source
SpamAssassin y ClamAV

DVD1 : Gentoo Linux 2007.1


Distribución Linux versátil y rápida orientada a desarrolladores y profesionales
de la red, incluye un sistema avanzado de administración de paquetes Portage

DVD2 : Musix 0.99


Sistema Operativo Multimedia destinado a músicos, técnicos sonidistas,
DJs, cineastas, disenadores gráficos, y usuarios en general: una enorme
colección de programas libres

Programas comerciales: BinarySEC for Apache


Firewall para aplicaciones web. Aprende el tráfico legítimo de todas aplicaciones
o sitios web basados en Linux Apache y detiene el tráfico anormal o sospechoso.

La Redacción se reserva derecho a modificar sus planes


w
w