Linux Magazine - Edición en Castellano, Nº 16

100
Voz sobre IP Linphone Kphone Asterisk Skype Live Distros Quake 4 Marabunta SSL-Explorer Anubis Marabunta La nueva tecnología para redes *realmente* anónimas p48 Pstoedit Convierte gráficos vectoriales p45 NÚMERO 16 P.V.P 6,95 OpenOffice 2.0 Evaluamos la nueva versión de esta Suite WWW.LINUX - MAGAZINE.ES LINUX MAGAZINE NÚMERO 16 Edición en Castellano VOZ SOBRE IP Herramientas de telefonía en Internet Crea una centralita doméstica con Asterisk p14 Llama desde Linux con Linphone y Kphone p19 Configura Skype para tus llamadas p24 SSL-Explorer Redes Privadas Virtuales sencillas p39 Anubis Encriptación Global para tu correo p62 Gimp Consigue fotos perfectas p72 Juegos Quake IV: Stroggs hasta en la sopa p84 Distros Live Encuentra la herramienta perfecta en nuestra selección p40 CentOS 4.2 completo Linux empresarial a bajo coste Versiones de 32 y 64 bits

description

Puesto a la venta abril 2006. Tema de Portada: Voz sobre IP. DVD: CentOS 4.2.

Transcript of Linux Magazine - Edición en Castellano, Nº 16

Page 1: Linux Magazine - Edición en Castellano, Nº 16

Vo

z sob

re IP

Linp

ho

ne

Kp

ho

ne

Aste

risk S

kyp

e Live

Distro

s Qu

ak

e 4 M

ara

bu

nta

SS

L-Ex

plo

rer A

nu

bis

MarabuntaLa nueva tecnología para

redes *realmente* anónimas p48

PstoeditConvierte gráficosvectoriales p45

NÚMERO 16 • P.V.P 6,95 €

OpenOffice 2.0Evaluamos la nueva versión de esta Suite

W W W . L I N U X - M A G A Z I N E . E S

LIN

UX M

AGAZIN

E

NÚMERO 16

Edición enCastellano

VOZSOBRE IP

Herramientas de telefonía en Internet

Crea una centralita doméstica con Asterisk p14

Llama desde Linux con Linphone y Kphone p19

Configura Skype para tus llamadas p24

SSL-ExplorerRedes Privadas Virtuales sencillas p39

AnubisEncriptación Global para tu correo p62

GimpConsigue fotos perfectas p72

JuegosQuake IV:

Stroggs hasta en

la sopa p84

Distros LiveEncuentra la herramienta perfecta

en nuestra selección p40

CentOS 4.2completo

Linuxempresarial abajo coste

Versiones de32 y 64 bits

Page 2: Linux Magazine - Edición en Castellano, Nº 16
Page 3: Linux Magazine - Edición en Castellano, Nº 16

Yo creo que es porque no sabemos

explicarnos. La cantidad de dudas

que despierta el software libre en

la mente del ejecutivo corporativo medio

es asombrosa. Y parece que no haya

ninguna cantidad de conferencias, ponen-

cias y congresos, capaces de levantar el

velo de misterio y confusión.

La viabilidad del software libre en la

empresa se puede demostrar de manera

empírica. Basta con un “mire usted el mer-

cado”. Ahí tenemos IBM, Red Hat, HP,

Mercadona, Gas Natural y miles de empre-

sas más que implementan soluciones

libres. Estúdiese sus modelos de negocio (o

el de sus proveedores, según el caso) y ten-

dremos uno o varios modelos viables.

Pero, ni por esas. Quizás pueda venirle

bien al lector con ganas y tiempo de evan-

gelizar la siguiente lista de dudas que se

me ha planteado a lo largo de los años, y

que sirve como excusa antiprocesal para

demorar la adopción del software libre:

El problema es el control

Si todo el mundo puede meterle mano al

código ¿cómo se puede controlar eso? ¿No

acabarán como los programas de la mula,

llenos de spyware, troyanos y viruses?

Esta objeción es fruto del descono-

cimiento de la manera de trabajar de la

comunidad del software libre. Las jerar-

quías, controles de versiones, filtros

humanos y tecnológicos, y sofisticados

mecanismos de depuración y auditoría

garantizan la calidad del código libre de

manera mucho más efectiva que cualquier

control de una empresa dedicada al soft-

ware propietario. Bdale Garbee describió el

proceso de coordinación de un grupo de

desarrolladores como “pastorear gatos” y

si hay algo en lo que los líderes de proyec-

tos destacan es en crear protocolos que les

permitan ser excelentes pastores de gatos.

¡Ah! ¿Y no hemos mencionado lo de la

transparencia del código al ser abierto?

El problema son las ideas

Pero ¿y mi idea? ¿Mi maravillo$a idea

con la que voy a ganar un millón de pavos?

Si la gente puede copiar y distribuir

mi maravillo$a idea, ¿dónde quedo

yo con mi gallina de los huevos de

oro? El empresario del ramo que

confíe el éxito de su empresa en

que no le copien la idea, va dado.

Es más: va muy dado. Estamos

hablando de software, no de un

artefacto físico que consume

recursos para su replicación. Si los

chinos pueden copiar y, de hecho,

copian relojes, vaqueros, juguetes,

colonias, motos, bicicletas, cámaras, televi-

sores, coches e, incluso, maquinaria

pesada para el procesamiento de cartón,

que lo he visto yo, ¿no podrán con unos

pocos miles de líneas de código? Aún si el

largo brazo de la ley pudiera llegar tan lejos

como el lejano oriente y se pudiera obligar

a esos seres inescrutables de ojos rasgados

a seguir las reglas del juego occidental que

impidiera el pirateo directo, no hay

ninguna ley que impida el pirateo de ideas

y que su competidor saque una versión

mejorada, más rápida y con más funciona-

lidades de tu “killer app” a un cuarto de su

precio.

Bienvenido al libre mercado, donde

dormirse en los laureles significa claudicar

ante el sueño eterno.

El Problema es el dinero

Pero si tengo que regalar mi producto…

Me gustaría coger al idiota que dijo que el

software libre es gratuito y hacerle copiar

“Libre no es igual a gratis” hasta que sólo

le quedasen muñones sangrantes. Nadie

ha dicho que haya que regalar nada, pero

claro, según UNA licencia de software

libre, ha de proveer usted a sus clientes de

copias del código fuente y permitirle que lo

modifique y redistribuya a su vez. Vaya

puñeta.

Pero, vamos a ver, yo sé cambiarle el

émbolo del depósito de un retrete, ¿quito

por ello el trabajo al fontanero del barrio?

Probablemente por una cosa tan pequeña,

ni siquiera se dignaría a moverse de

delante del televisor. Ahora bien, si he de

levantar el suelo del baño en busca de una

fuga en una tubería, puede que me lo

piense. No hay nada ni físico ni legal que

me lo impida: puedo comprar las he-

rramientas y el material necesario a un pre-

cio razonable, puedo blandir un pico…

Pero sería mejor llamar al especialista.

Lo mismo ocurre con el software. Ahí

fuera están las herramientas para el desa-

rrollo de cualquier cosa, pero hay empresas

que desarrollan software, y hay empresas

que lo utilizan. Para éstas, para sus

clientes, de poco les sirve el código fuente.

Si lo que teme es al intrusismo por parte

de terceros y no encuentra dentro de usted

la seguridad de poder ofrecer el mejor ser-

vicio para su propio producto, puede que

no sea el especialista que declara ser y, en

tal caso, ¿qué hace usted aquí? Que yo

sepa a los buenos fontaneros nunca les

falta trabajo. Sea usted el mejor

“fontanero” de su producto, el que tiene

todas las respuestas, el que mejor mante-

nimiento da, y verá como no le faltan

clientes. Y a esos cóbreles, cóbreles todo y

sin pudor. No se corte.

Lo dicho: Libre no es igual a gratis. Me lo

escriba cien veces.

3

EDITORIAL

3Número 16W W W . L I N U X - M A G A Z I N E . E S

Estimado Lector de Linux Magazine

Nos sentimos orgullosos de nuestrosorígenes como publicación, que seremonta a los primero días de la revo-lución Linux.Nuestra revista hermana,la publicación alemana Linux Maga-zin, fundada en 1994, fue la primerarevista dedicada a Linux en Europa.Desde aquellas tempranas fechashasta hoy, nuestra red y experienciahan crecido y se han expandido a lapar que la comunidad Linux a lo anchoy largo del mundo. Como lector deLinux Magazine, te unes a una red deinformación dedicada a la distribucióndel conocimiento y experiencia téc-nica. No nos limitamos a informarsobre el movimiento Linux y de Soft-ware Libre, sino que somos parteintegral de él.

ME LO ESCRIBA CIENVECES

Paul C. Brown

Director

Page 4: Linux Magazine - Edición en Castellano, Nº 16

4 Número 16

CONTENIDOS • Linux Magazine nº 16

W W W . L I N U X - M A G A Z I N E . E S

27 LivedistrosUn buen número de distribuciones live

de Linux te están esperando en Internet.

La elección correcta depende de tus

necesidades.

32 OpenOffice 2.0Después de muchas versiones pre-relea-

se y de informes preliminares, al fin ha

llegado el nuevo OpenOffice.

36 CentOSLa estabilidad y longevidad de las distri-

buciones empresariales de Linux cues-

tan su buen dinero…¿o no tanto?

38 LibrosAnalizamos los títulos “Programación

con Smalltalk” y “Guadalinex v3” de la

editorial Editlin.

39 SSL ExplorerSSL-Explorer proporciona una interfaz

basada en web para configurar una red

privada virtual.

42 Menu SystemUno se olvida de que está trabajando

con un ordenador cuando navega por

los ficheros de audio, imágenes y videos

favoritos con Mpeg Menu System.

45 Pstoeditpstoedit nos permite convertir archivos

Postscript y PDF a formatos de imagen

vectorial.

48 MarabuntaLa privacidad y anonimato en Internet es

un mito... hasta ahora. David Gascón nos

revela su último invento para mantener

la identidad en secreto: Marabunta.

52 PerlEste mes veremos cómo evitar la trage-

dia de la pérdida de archivos con un sis-

tema de control transparente basado en

Perl.

57 PythonDespués de tanto framework, librerías y

plataformas web enormes ya era hora de

que alguien nos diese algo divertido.

61 La Columna de CharlyHTTPing podría ser la herramienta

perfecta para comprobar la salud de

su servidor web.

62 Anubis

El servicio de manipulación de correo

Anubis permite la encriptación centra-

lizada del correo saliente.

13 Voz sobre IPEste mes os mostramos algunas de las

herramientas más populares para la tele-

fonía por Internet bajo Linux.

14 Asterisk

Un viejo ordenador es todo lo que se

necesita para construirse uno mismo

un servidor telefónico personal.

19 LinphoneSi deseas llamar a amigos que se

encuentran en países lejanos, no des-

cuelgues el teléfono: enchufa los auricu-

lares y arranca Linphone.

22 KphoneSe puede hablar con el mundo con una

tarjeta de sonido normal y corriente, con

una cuenta de un proveedor de telefonía

de Internet y con Kphone.

24 SkypeEl famoso Skype es una opción VoIP gra-

tuita pero no libre. Aprende a configu-

rarlo adecuadamente bajo Linux.

DESARROLLO

LINUX MAGAZINE

3 Editorial

6 DVD Linux Magazine

8 Inseguridades

10 Noticias Kernel

12 Correo

94 Eventos

94 Información de Contacto

95 Subscripciones

97 Linux Local

98 Próximo Número

EVALUACIÓN

PRÁCTICO PRÁCTICO

PORTADA

Page 5: Linux Magazine - Edición en Castellano, Nº 16

5Número 16W W W . L I N U X - M A G A Z I N E . E S

84 Juegos: Quake IV

Llega a Linux todo un clásico de los

first-person-shooters: Quake 4 trae más

armas, más efectos, más sonidos y más

malos a quienes masacrar.

86 Konsultorio

Si tienes algún problema de

configuración, o simplemente quieres

conocer mejor cómo funciona Linux,

Klaus Knopper, el creador de Knoppix,

te ayuda.

89 Opinion

Pia Waugh, vice-presidenta de Linux

Australia, nos da su parecer sobre las

mujeres en el software libre, el lugar que

ocupan y las dificultades a las que se

enfrentan.

90 OSWC2006

La recta final de la segunda edición de la

OSWC se celebró en Málaga en febrero.

Linux Magazine estuvo allí.

COMUNIDAD

MÁS DETALLES EN LA Pág 6

70 Kpowersave

KPowersave ofrece a los usuarios de

KDE una interfaz sencilla y fácil para

configurar los opciones de admi-

nistración de energía.

72 Gimp

Gimp te ayudará a mejorar la calidad de

tus menos-que-perfectas imágenes digi-

tales.

74 Fortune

El programa Fortune presenta un refrán

o una broma cuando arrancas una

sesión en tu terminal. También puedes

adjuntarlo a tu firma de correo para ale-

grar tus mensajes.

76 Educación

Squeak puede ser el entorno educativo

definitivo. Comenzamos su análisis para

su aplicación en las aulas en este artícu-

lo de Juan Rafael Fernández.

81 Linea de Comandos: Ispell

Nadie está a salvo de gazapos y de los

enredos con palabras. Correctores de

ortografía como Ispell y Aspell se

encargan de mantener las letras en su

lugar correcto.

� Distribución completaCentOS 4.2

� Estabilidad empresarial abajo coste

� Compilado a partir de lasfuentes de distribucionescomerciales líderes del mer-cado

� Versiones de 32 y 64 bits

� Soporta sistemas de ficheroACL, herramientas de migra-ción SAMBA, clustering, etc.

LINUX USER

Page 6: Linux Magazine - Edición en Castellano, Nº 16

CENTOS 4.2

DVD LINUX MAGAZINE

6 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Si está buscando una distribución orien-

tada a la empresa, pero no está dispuesto a

pagar un precio elevado, puede ser usted el

perfecto candidato para probar CentOS.

CentOS es una distro empresarial plena-

mente funcional, estable y lista para usar

sin el elevado coste económico. Estamos

orgullosos de ofrecer CentOS 4.2 como el

DVD de este mes en Linux Magazine.

CentOS se basa en el código fuente de

Red Hat Enterprise Linux. El DVD de este

mes es el equivalente a Red Hat Enterprise

Linux 4 update 2, un sistema Linux pun-

tero que podemos encontrar con precios

que varían desde 179 a 1499 dólares.

Esta distribución Linux, con toda la

potencia empresarial, es ahora suya de

En los últimos años hemos asis-

tido a la aparición de un nueva

especie en el ecosistema Linux:

las distribuciones empresariales. Las

distros empresariales se han creado

para cubrir la demanda del mundo de

la empresa y se han diseñado para con-

seguir un rendimiento estable y una

larga vida útil. Estas cualidades son

altamente apreciadas en el entorno

corporativo y por esta razón, las dis-

tros empresariales tienen un precio ele-

vado.

manera totalmente gratuita. Simplemente

tiene que introducir el DVD de Linux Maga-

zine y comenzar la instalación. Además, el

DVD de este mes viene con las versiones de

32 y 64 bits de CentOS.

¿Por qué CentOS?El selecto pedigrí de CentOS hace de Cen-

tOS 4.2 la herramienta perfecta para las

aplicaciones de servidor. Podemos usar

CentOS como servidor Web, servidor de

correo, servidor de bases de datos o servi-

dor de aplicaciones. CentOS incorpora

todas las sofisticadas funcionalidades de

compatibilidad con Windows incluidas en

Red Hat Enterprise Linux. Podemos usar

CentOS como controlador de dominios pri-

marios o secundarios, o como servidor de

clientes Windows basado en Samba y SMB.

CentOS es también un sistema de escrito-

rio Linux plenamente funcional. Encon-

traremos la mayoría de las herramientas de

escritorio más populares, como OpenOf-

fice.org 1.1.2, Mozilla 1.7.12, Firefox 1.0.7,

Evolution 2.0.2, Gaim 1.3.1-0.el4.3, X-chat

2.4.0, Konqueror 3.3.1, Gimp 2.0.5-5,

Gnome 2.8 y KDE 3.3.

Ya sea trabajando en un servidor empre-

sarial, en un servidor para la oficina o

incluso en un sistema común de escritorio,

encontraremos en CentOS una distribución

estable, de alto rendimiento, fácil de

administrar y de utilizar. Abra su DVD de

este mes y dispóngase a explorar el fasci-

nante mundo de CentOS, el Linux empre-

sarial de la comunidad.

Figura 1: Una interfaz gráfica de usuario nos guía en la instalación y

primer arranque.

Figura 2: CentOS es una plataforma realmente completa para

desarrolladores de software.

El CentOS Project lo compone un

equipo de 11 desarrolladores. Estos

desarrolladores donan su tiempo y

recursos al proyecto, y no se les com-

pensa de ninguna manera.

La descarga de CentOS es totalmente

gratuita. Sin embargo, si tienes la posi-

bilidad de donar algo de dinero al

proyecto, será apreciado enormemente.

EL CentOS Project desea poder mandar

desarrolladores la los principales

encuentros de Software Libre del

mundo para que representen a CentOS

en estos eventos.

Así mismo hay 14 servidores controla-

dos en estos momentos por el proyecto

CentOS que han sido donados por

proveedores de servicios de todo el

mundo. Usamos estos servidores para

distribuir CentOS a más de 70 mirrors

públicos por todo el mundo, propor-

cionar semillas de Bittorrent, hospedar

nuestra página Web, proporcionar

nuestra DNS y servicios de lista de

correo y dar soporte a cualquier otra

cosa que se haga desde el proyecto

CentOS. Si usted usa CentOS y puede

donar un servidor (y ancho de banda) a

nuestro proyecto, o donar servicios de

mirror para el proyecto de CentOS,

estas donaciones serán verdadera-

mente apreciadas.

Si esta usted interesado en donar

tiempo, dinero o espacio en servidores,

por favor diríjase a:

http://www.centos.org/donate/

Cómo puedes ayudar

Page 7: Linux Magazine - Edición en Castellano, Nº 16

DVD LINUX MAGAZINE

7Número 16W W W . L I N U X - M A G A Z I N E . E S

DESTACAMOS

CentOS puede funcionar como susti-

tuto de dominios Server Message

Block (SMB) utilizando Samba 3.0.10.

CentOS y Samba pueden usarse

como un controlador de dominios

primarios o secundarios SMB

seguro, servidor de ficherso SMB o

servidor de impresión SMB. CentOS

incluye también OpenLDAP 2.2.13 y

las smbldap-tools de IDEALX S.A.S

(http://www.idealx.org/).

Podemos usar CentOS como servidor

de correo de Internet con Sendmail

8.13.1, Postfix 2.1.5, o Exim 4.43.1.

También se incluye el sistema de

webmail Squirrelmail 1.4.3, junto con

Dovecot 0.99.11 y Cyrus-Imapd 2.2.12

para el soporte POP3 e IMAP.

En cuanto a servidor Web, incluye

Apache 2.0.52 y php 4.3.9.

CentOS nos ofrece las bases de datos

MySQL 4.1.12 y PostgreSQL 7.4.8.

Otros servidores de bases de datos

de terceros como Oracle 8i, 9i y 10g,

e IBM DB2, funcionan en CentOS,

aunque no están soportados oficial-

mente por los proveedores.

CentOS incluye también el servidor

FTP vsftpd 2.0.1, el servidor RADIUS

freeradius 1.0.1 y NFS 1.0.6.

En cuanto a aplicaciones de escrito-

rio, tenemos OpenOffice.org 1.1.2,

Mozilla 1.7.12 , Firefox 1.0.7, Evolu-

tion 2.0.2, Gaim 1.3.1, X-chat 2.4.0,

Konqueror 3.3.1 y Gimp 2.0.5, así

como los escritorios Gnome 2.8 y

KDE 3.3.

Figura 3: El SO CentOS es un sistema de escritorio completamente

funcional.

Figura 4: CentOS incorpora un cortafuegos integrado.

AYUDA Y SOPORTECentOS es un proyecto basado en la comunidad y la ayuda se proporciona por

parte de voluntarios. Para ayuda y soporte, podemos acudir a los foros de la

página Web en: http://www.centos.org/modules/newbb/. Podemos también acudir

a las listas de correo: http://lists.centos.org/mailman/listinfo

Podemos además pasarnos por los canales del IRC de CentOS en irc.freenode.net

(#centos, #centos-devel, #centos-mirror, #centos-ppc, #centos-sparc), y la base de

datos de bugs de CentOS en http://bugs.centos.org/.

¿DVD DEFECTUOSO?Si tu DVD está defectuoso será reemplazado

por uno nuevo. Por favor envía un email a

[email protected]

Page 8: Linux Magazine - Edición en Castellano, Nº 16

INSEGURIDADES

Schlagwort sollte hier stehenLINUX USERINSEGURIDADES

� scponlyEl paquete scponly es una shell

restringida que permite unos pocos

comandos predefinidos. A menudo se

usa como un complemento a OpenSSH

para proporcionar el acceso a usuarios

remotos sin la necesidad de cesión de

privilegios remotos.

Max Vozeler descubrió que el

comando scponly permite a los

usuarios crear un entorno chroot en

directorios arbitrarios. Además, Pekka

Pessi informó acerca de otro problema

de seguridad: scponly validaba

insuficientemente los parámetros de la

línea de comandos a scp o al comando

rsync.

Un atacante local podría obtener

privilegios de superusuario mediante un

chroot a directorios arbitrarios que

contengan enlaces duros a programas

setuid. Un usuario remoto de scponly

también podría enviar parámetros

maliciosos a scp o al comando rsync que

le permitirían eludir las restricciones de

la shell y ejecutar programas arbitrarios. �

Referencia Gentoo: GLSA-200512-17

�ApacheEl Servidor HTTP Apache es un

servidor de web popular y libremente

disponible.

Una fuga de memoria en de la versión

worker MPM permitiría que atacantes

remotos causaran una denegación de

servicio (consumo de memoria)

mediante conexiones abortadas. El

Proyecto de Vulnerabilidades y

Exposiciones Comunes (Common

Vulnerabilities and Exposures o CVE –

http://cve.mitre.org) ha asignado a este

problema el nombre CVE-2005-2970.

Esta vulnerabilidad sólo afecta a los

usuarios que están usando la versión

worker MPM no predeterminado.

Se descubrió un fallo en el módulo

mod_imap en el uso de la directiva

Referer con mapas de imágenes. Con

determinadas configuraciones del sitio,

un atacante remoto podría realizar un

ataque de scripting multisitio si la

víctima es forzada a realizar una visita

a una URL maliciosa usando

determinados buscadores de web.

(CVE-2005-3352)

Se descubrió un fallo de puntero

NULL en mod_ssl que afectaba a las

configuraciones de servidores donde

un host virtual SSL es configurado con

un acceso de control y un documento

cliente de error 400. Este fallo se

traduciría sólo en una denegación de

servicio si se usa la versión worker

MPM no predeterminado. (CVE-2005-

3357) �

Referencia Mandriva: MDKSA-2006:007

Referencia Red Hat: RHSA-2006:0159

� xpdf,gpdf,kpdf

xpdf,gpdf y kpdf son visores para

ficheros PDF (Portable Document

Format).

Distribuidor Fuente Seguridad ComentarioDebian Info:http://www.debian.org/security/ Los avisos de seguridad actuales se in-

Lista:http://www.debian.org/debian-security-announce/ cluyen en la página de inicio. Los avisos

Referencia:DSA-…1) se proveen como páginas HTML con

enlaces a los parches. Los avisos también

incluyen una referencia a la lista de

correo.

Gentoo Info:http://www.gentoo.org/security/en/index.xml Los avisos de seguridad actuales para

Foro:http://forums.gentoo.org/ la lista Gentoo en el sitio web de

Lista:http://www.gentoo.org/main/en/lists.xml seguridad de Gentoo enlazan desde la

Referencia:GLSA:… 1) página principal. Los avisos se presentan

en HTML con códigos para fusionar las

versiones corregidas.

Mandrake Info:http://www.mandrakesecure.net Mandrakesoft posee su propios sitio web

Lista:http://www.mandrakesecure.net/en/mlist.php que versa sobre temas relacionados con

Referencia:MDKSA:… 1) la seguridad.Entre otras cosas,incluye

avisos seguridad y referencias a las

listas de correo.Los avisos son páginas

HTML,pero no contienen enlaces a los

parches.

Red Hat Info:http://www.redhat.com/errata/ Red Hat archiva los fallos de seguridad

Lista:http://www.redhat.com/mailman/listinfo/ bajo lo que denominan erratas.A

Referencia:RHSA-… 1) continuación los problemas para cada

versión de Red Hat se agrupan.Los avisos

de seguridad se proveen como una

página HTML con enlaces a los parches.

Slackware Info:http://www.slackware.com/security La página de inicio contiene enlaces al

Lista:http://www.slackware.com/lists/(slackware-security) archivo de seguridad de la lista de correo.

Referencia: [slackware-security]… 1) No existe información adicional sobre

seguridad en Slackware.

Suse Info:http://www.suse.de/en/private/support/ Ya no existe un enlace a la página de

security/index.html seguridad tras un remodelado en el sitio

Parches:http://www.suse.de/en/private/ web de SuSE.Existe información en la

download/updates Lista:suse-security-announce lista de correos y los avisos. Los parches de

Referencia:SUSE-SA… 1) seguridad para versiones individuales de

SuSE Linux se muestran de color rojo en el

sitio de actualizaciones generales.

Contiene una corta descripción de la

vulnerabilidad que soluciona el parche.1) Todos los distribuidores muestran correos de seguridad en el campo Subject.

POLITICAS DE SEGURIDAD DE LAS DISTRIBUCIONES MAYORITARIAS

8 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Page 9: Linux Magazine - Edición en Castellano, Nº 16

INSEGURIDADES

que posiblemente ejecutara código

arbitrario. El Proyecto de

Vulnerabilidades y Exposiciones

Comunes (Common Vulnerabilities and

Exposures o CVE – http://cve.mitre.org)

ha asignado a estos problemas los

nombres CVE-2005-3191, CVE-2005-

3192 y CVE-2005-3191. �

Referencia Red Hat: RHSA-2005:878

� cURLcURL es una herramienta para la

obtención de ficheros de servidores

FTP, HTTP, Gopher, Telnet y Dict

usando cualquiera de los protocolos

soportados.

Stefan Esser descubrió un error off-

by-one en un bucle. Es posible ejecutar

código arbitrario sobre la máquina de

un usuario si éste consigue que se

ejecute un bucle con una URL

cuidadosamente manipulada. El

Proyecto de Vulnerabilidades y

Exposiciones Comunes (Common

Vulnerabilities and Exposures o CVE –

http://cve.mitre.org) ha asignado a este

problema el nombre CVE-2005-4077. �

Referencia Debian: DSA-919-1 curl

Referencia Gentoo: GLSA-200512-09

Referencia Mandriva: MDKSA-2005:224

Referencia Red Hat: RHSA-2005:875

� VMware WorkstationVMware Workstation es una potente

máquina virtual para desarrolladores y

administradores de sistemas.

Tim Shelton descubrió que

vmnetnatd, el módulo host que

proporciona la red estilo BAT para

sistemas operativos huéspedes de

VMware es incapaz de procesar

peticiones EPRT y PORT FTP

incorrectas.

Usuarios de sistemas operativos

huéspedes maliciosos que usan la red

NAT o Workstation VMware locales

podrían explotar esta vulnerabilidad

para ejecutar código arbitrario en el

sistema host con privilegios elevados. �

Referencia Gentoo: GLSA-200601-04

Se han descubierto algunos fallos en

estos visores de PDFs. Un atacante

podría construir un fichero PDF

cuidadosamente manipulado que haría

posible que el visor se colgara o que

posiblemente ejecutara código

arbitrario cuando se abriera. El Proyecto

de Vulnerabilidades y Exposiciones

Comunes (Common Vulnerabilities and

Exposures o CVE – http://cve.mitre.org)

ha asignado a estos problemas los

nombres CVE-2005-3191, CVE-2005-

3192 y CVE-2005-3191. �

Referencia Gentoo: GLSA-200512-08

Referencia Red Hat: RHSA-2005:867

� CUPSEl Common UNIX Printing System

(CUPS) proporciona una capa de

impresión portable para sistemas UNIX

y Linux.

Se descubrieron algunos errores en la

manera en la que CUPS procesa los

PDFs. Un atacante podría construir un

PDF haciendo que CUPS se colgara o

Page 10: Linux Magazine - Edición en Castellano, Nº 16

Estabilidad y DesarolloAdrian Bunk ha propuesto una sencilla

reforma al método actual del desarrollo del

kernel. En estos momentos, el árbol oficial

del kernel dispone de unas semanas de

aceptación de código nuevo, seguido de

unas semanas de esfuerzos de

modificación y estabilización. Se prosigue

la estabilización en el árbol w.x.y.z

después del lanzamiento oficial, que

implementa estrictas restricciones a la hora

de la aceptación de parches.

Según las propuestas de Adrian, esto

seguiría siendo igual, pero después de cada

lanzamiento oficial, el árbol w.x.y.z

anterior relajaría las restricciones de

parches para que el proceso se pareciese

más al de la época en que las versiones

pares buscaban la estabilidad y las impares

buscaban el desarrollo.

Una vez se liberase la versión 2.6.17, por

ejemplo, Adrian sugiere que el árbol

2.6.16.z continue su desarrollo de la

misma manera en que se desarrollan los

árboles 2.4 y 2.2, buscando la estabilidad

global a la vez que se aceptan

cautelosamente retroportes y

actualizaciones adicionales.

La idea actual de Linus Torvalds y André

Morton, así como la de otros

mantenedores primarios, es que las

distribuciones Linux son las que tienen

que responsabilizarse de la estabilización

del kernel para sus propios lanzamientos.

Se reconocen oficialmente las

distribuciones como parte integral del

proceso de desarrollo que cuida de la

estabilidad. Esta decisión no se basa en una

consulta a los fabricantes de distribuciones.

Simplemente reconoce que las

distribuciones liberan kernels fuertemente

parcheados, que la mayoría de la gente

utiliza kernels de distribuciones y que las

pruebas de estabilidad se incluyen en las

modificaciones de cada distribución.

El árbol w.x.y.z se creó para tratar los

problemas de estabilidad más

recalcitrantes del árbol principal. Se

impusieron estrictas limitaciones a este

árbol, precisamente porque Linus no

deseaba que se convirtiera en otra rama de

desarrollo. A la luz de lo cual, la propuesta

de Adrian parece sugerir que la actual

indiferencia hacia la inestabilidad del

modelo de desarrollo no ha funcionado, y

que se debe volver a un modelo más

similar al que había antes. No es

sorprendente que éste haya sido un tema

polémico pero que sin duda, volverá a

surgir.

Una de las mayores objeciones a la idea

de Adrian es que sería una labor más

tediosa y aburrida de lo que cualquiera

pudiera soportar. Linus lo ha dicho de las

propuestas iniciales para el árbol w.x.y.z y

la gente se lo está diciendo ahora a Adrian.

El problema con ese argumento es que

hemos tenido muchas series estables que

han funcionado. Y la objeción de Linus de

que las estabilización es “aburrida” es más

un reflejo de sus gustos personales que el

interés del desarrollo del kernel. En todo

caso, sí han habido numerosos intentos de

crear un árbol estable al viejo estilo.

Sin embargo, incluso los mantenedores

del árbol w.x.y.z , un proyecto mucho más

restringido, afirman que los problemas de

un esfuerzo de estabilización más activa

son casi insuperables. Por otra parte, la

sugerencia de Adrian indica que hay

algunos desarrolladores del árbol w.x.y.z

que encuentran que el depositar las tareas

de estabilización en las distribuciones es

insuficiente.

Licencia IncorrectaSe ha admitido código de Silicon Graphics

que inadvertidamente contenía

notificaciones muy restrictivas en materia

de copyright que, a efectos prácticos, ha

puesto al kernel en posición de violación

de copyright durante varios meses. Resulta

que el ingeniero de SGI que donó el código

simplemente se olvidó de cambiar los

términos de la licencia a los de la GPL en el

fichero de cabecera. . Este descuido fue un

error sin mala intención que se corrigió

facilmente, pero el hecho es que este tipo

de error ocurre como media un par de

veces al año.

Linus Torvalds ha implementado una

especie de sistema de seguimiento, donde

cada revisor “firma” la calidad y legalidad

de cada parche. Este sistema de revisión se

creó especificamente para evitar futuros

inconvenientes de ataques tipo SCO y para

que Linus pudiera encontrar fácilmente los

verdaderos orígenes de cualquier tipo de

código en el kernel y evitar así violaciones

de la legalidad.

A pesar de que el sistema de

seguimiento no es perfecto, tal vez no

tiene por qué serlo. El ataque de SCO tenía

como intención dañar a Linux, y tuvo éxito

en el sentido en que los desarrolladores del

kernel tuvieron que adoptar un poquito

más de burocracia para su protección.

Un sistema perfecto entrañaría incluso

más burocracia y haría que fuese incluso

más difícil que desarrolladores, (sobre todo

nuevos desarrolladores), contribuyeran al

desarrollo del kernel.

NOTICIAS DESDE ELKERNEL

Schlagwort sollte hier stehenLINUX USERNOTICIAS DEL KERNEL

La lista de correo del kernel de Linux comprende lo princi-

pal de las actividades de desarrollo de Linux. El volumen

del tráfico es inmenso, alcanzándose a menudo los diez

mil mensajes semanales. Mantenerse al día de todo lo que

sucede en el desarrollo del kernel es casi imposible para

una sola persona.

Sin embargo Zack Brown es uno de los pocos valientes

que lo intentan y a partir de ahora, podrá leerse lo último

de las discusiones y decisiones con respecto del kernel de

Linux llevados de la mano de este experto.

Zack ha publicado un resumen online semanal llamado

“The Kernel Traffic Newsletter” durante cinco años. Linux

Magazine te trae ahora la quintaesencia de las actividades

del kernel de Linux del mayor especialista en el tema.

10 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Page 11: Linux Magazine - Edición en Castellano, Nº 16

MiniconfigLa nueva característica miniconfig, que

apareció en el kernel 2.6.15, está

llamando mucho la atención a los

desarrolladores. Miniconfig permite a los

usuarios especificar sólo las

características del kernel que desean. El

proceso de compilación se encarga a

posteriori de resolver todas las

dependencias.

Debido al hecho de que los ficheros

miniconfig son mucho más sencillos que

los ficheros config tradicionales, tienden

a ser portables de una versión del kernel

a otra, se pueden editar a mano sin

romper nada, y al leerlos, se ven de un

vistazo todas las características

principales que soportará el kernel.

Rob Landley está invoulcrado en

mucho del trabajo que se esté llevando a

cabo para extender miniconfig. Ha

implementado un nuevo objetivo de

compilación make miniconfig con el

cual, en vez de utilizar un fichero

miniconfig para generar un fichero

config antes de la compilación, se genera

un nuevo kernel directamente del propio

miniconfig, lo que es mucho más

conveniente que el mecanismo incluido

por defecto en la versión 2.6.15.

Rob también ha escrito un script que

genera ficheros miniconfig a partir de un

fichero config completo. Lo que hace en

esencia es eliminar todas las

dependencias de un fichero config hasta

que sola quedan las características

primarias. En estos momentos, el script es

muy lento, al utilizar el método iterativo

de reconstruir el fichero config completo

después de cada eliminación para ver

cómo afecta al conjunto. A pesar de su

lentitud, funciona, y existe la posibilidad

de encontrar métodos más veloces para la

generación de ficheros miniconfig.

Suspensión de Software enEspacio de UsuarioPavel Machek recientemente ha

implementado una versión prototipo de

suspensión de software que coloca

mucha de su funcionalidad fuera del

kernel, y sólo una mínima parte tiene

una interfaz con el núcleo. La parte de la

interfaz de hecho se sigue discutiendo, al

ser muy dificultoso elegir entre las

numerosas, pero imperfectas, opciones

disponibles.

Dave Jones ha dicho que si los planes

de Pavel tienen éxito, Red Hat podría

modificar su propia versión de

suspensión de software, ya que su kernel

dispone de un rootkit para la prevención

de parches que podría interferir con la

escritura a regiones de memoria

arbitrarias. También hay que destacar

que Dave considera la suspensión de

software en espacio de usuario una mala

idea, se mire como se mire.

Sin embargo, la gente de Red Hat se lo

puede tomar con calma, ya que la

aceptación de los parches de Pavel no

necesitarán de la eliminación de

cualquier característica existente. Ambos

métodos de suspensión podrían coexistir

pacíficamente durante una buena

temporada antes de la toma de cualquier

decisión.

Nigel Cunningham también está

trabajando en una versión de suspensión

que plantea a su vez nuevos problemas.

Por un lado, se incluye mucho código en

el kernel. Por otro, de tener razón Pavel,

mucho de lo que hace el código de Nigel

podría realizarse en espacio de usuario.

La gente involucrada en el desarrollo

de la suspensión de software no parece

llevarse muy bien y muchas de la

discusiones tienden a acabar en

enfrentamientos directos.

Una lástima. �

NOTICIAS DEL KERNEL

Page 12: Linux Magazine - Edición en Castellano, Nº 16

12

Resumiendo: Los que hacemos Linux

Magazine creemos que nuestra publi-

cación es como el cerdo de las revistas

de Linux: todo se aprovecha. Los con-

tenidos bien valen el precio de porta-

da, y los DVDs están estupendos para

los que necesitan software bueno y

rápido (nosotros mismos los uti-

lizamos para nuestra máquinas).

Lo único que no tenemos claro es la

utilidad de nuestro director.

Distros NacionalesBuenos días,

Ante todo felicitaros por vuestra revista

que, en mi modesta opinión, la considero

la mejor de las existentes para nuestro SO

favorito.

Lo que os quiero pedir es que

publiquéis algo sobre la distribución que

se está creando en Castilla – La Mancha,

“Molinux”, y si es posible que la incluyáis

en el DVD.

Saludos y gracias,

Julio

El problema es que nosotros publi-

camos nuestros DVDs conjuntamente

con la versión internacional de la revista,

Linux Magazine International y por ello

las distros que escogemos han de tener

relevancia internacional.

Y no es que dudemos de la calidad de

la distro manchega. De hecho lo hemos

probado en la redacción y nos ha pare-

cido muy interesante. Además, reciente-

mente hemos publicado el JuegaLinEx

de la Junta de Extremadura a nivel

mundial, como DVD de portada en más

de 50.000 copias de revistas tanto en

inglés como en castellano y volveremos

a incluir nuevas distros nacionales a

medida que vayan alcanzando su

madurez.

LM

tros que se podían considerar punteras

y populares eran, a saber: SuSE, Red

Hat/Fedora, Mandrake (antes de ser

Mandriva) y Debian. Cuenta: cuatro.

Era lógico pensar que esto era lo que

demandaría el lector y por tanto, lógico

también pensar en sacar cuatro DVDs

al año y santas pascuas. Por otro lado

nos imaginábamos ahorrándonos el

quebradero de cabeza de tener que

pensar en cómo llenar con software de

calidad y útil un DVD todos los meses.

Pero las cosas han cambiado. Ahora

tenemos Ubuntu, ahora tenemos

JuegaLinEx, ahora tenemos CentOS,

ahora tenemos un montón de distros

que o bien ya existían, y han consegui-

do en este tiempo una madurez y com-

plejidad como para reclamar su hueco

en el mercado, o han nacido y han

alcanzado una popularidad inusitada

en pocos meses. Ahora, cuando nos

planteamos qué incluir en el DVD

hemos de preguntarnos: De entre todo

lo que hay ¿qué ponemos?

Por otro lado, el mercado manda y,

sí, nuestra intención era vender en

base a la calidad de nuestros con-

tenidos, pero, si bien podemos decir

que eso creemos haberlo conseguido,

hemos de complementar nuestras ven-

tas con la del comprador eventual,

aquel que pasa por el quiosco y se dice

“¡Hombre! ¡Tal distro por 6 euros! Me

lo compro”. El hecho de que todas las

revistas de Linux salgan con algo,

debería ser indicativo de que, por sí

sola, una revista de estas característi-

cas nunca se vende lo suficiente.

En cuanto a lo de los 64 bits. Pues ya

hemos publicado DVDs de portada

para estos sistemas, y el de este mes no

es una excepción. El DVD de CentOS

que incluimos en este número, aparte

de aportar un sistema de corte empre-

sarial de bajo precio al ecosistema

Linux, viene con versiones de 32 y 64

bits.

Correo del Lector

ACCESO DE ESCRITURA

Schlagwort sollte hier stehenLINUX USERCORREO

12 Número 16 W W W . L I N U X - M A G A Z I N E . E S

DVD o no DVD, esa es lacuestiónEstimado Linux Magazine,

Sigo la revista desde hace ya algunos

meses y, si bien me gusta bastante, no

acabo de entender vuestra política con

respecto al DVD, que ha variado, y

mucho, desde que empezásteis a pu-

blicar.

De cuatro DVDs al año habéis pasado

a DVD por número, con la consiguiente

subida del precio de la revista y la

suscripción ¿Qué pasó con vuestra

declaración de intenciones en el primer

número sobre “vender por el contenido,

NO por el DVD”?

La otra cosa es que, si insistís en salir

todos los meses con DVDs, al menos

podríais de vez en cuando incluir una

distro de 64 bits, que cada vez somos

más los que utilizamos este tipo de sis-

temas.

Un saludo

Javier

Querido Javier,

Hemos oído de todo: que incluyamos,

que no incluyamos, que si los DVDs

acaban de posavasos, que eso para qué

si tengo Internet, que si podéis incluir

lo de más allá que no tengo Internet,

que para qué le seguís el juego a la

competencia, etcétera, etcétera.

Pues bien, allá por los albores de la

civilización tal y como lo conocemos

(es decir, hace un año y medio) las dis-

LM

Puedes enviar tus comentariosy sugerencias a:

[email protected]

www.alm

ogon.de

Page 13: Linux Magazine - Edición en Castellano, Nº 16

características avanzadas que podemos

encontrar en los sistemas de telefonía

propietarios.

Os mostramos también Linphone y

Kphone, un par de sencillas y ver-

sátiles aplicaciones VoIP. Y termi-

namos viendo cómo configurar el

extremadamente famoso cliente Skype,

en este caso en su versión para Linux.

Si estás preparado para pedir línea

hacia el mundo de la VoIP, o incluso si

sólo deseas experimentar un poco, no

te pierdas el tema de portada de este

mes acerca de telefonía bajo Linux. �

Herramientas VoIP para Linux

UNA LLAMADA ALMUNDO

Voz sobre IP • PORTADA

Número 16W W W . L I N U X - M A G A Z I N E . E S

Voz sobre IP (VoIP) hace refe-

rencia al conjunto de tec-

nologías que proporcionan

comunicaciones de voz sobre redes

TCP/IP. Por supuesto, la mayor red

TCP/IP es la propia Internet, y el obje-

tivo último de la industria VoIP ha sido

siempre encontrar una manera de uti-

lizar Internet para las llamadas habi-

tuales.

Con los primeros esfuerzos en VoIP

hubo que enfrentarse a numerosos

retos, incluidos problemas con la cali-

dad de servicio, con el hardware y una

habitual escasez de ancho de banda.

Pero si estamos más o menos atentos a

Internet, deberíamos saber que este

tipo de problemas ya han sido supera-

dos. Los servicios telefónicos por Inter-

net se popularizan con rapidez por

todo el mundo.

Es muy fácil conseguir que dos orde-

nadores se comuniquen. El problema

es hacer que un ordenador habilitado

con VoIP realice una llamada a un

número de teléfono tradicional. Para

acceder a la red telefónica conven-

cional, tendremos que suscribirnos a

algún servicio telefónico por Internet.

Las tarifas varían en función de nues-

tra ubicación y de los servicios que

necesitemos. Pero, en cualquier caso,

venga la llamada desde una cabina en

Alaska, venga desde un ordenador de

la habitación de al lado, esa llamada

llegará hasta nuestro ordenador como

Voz sobre IP.

Linux siempre ha sido rápido a la

hora de integrar nuevas tecnologías, y

la revolución VoIP no ha sido la excep-

ción. Hoy día se encuentran

disponibles diferentes herramientas

para acceder a la era de la telefonía por

Internet. Vamos a tratar algunas de

estas herramientas en nuestro tema de

portada de este mes: Voz sobre IP.

Empezaremos echando un vistazo al

servidor de telefonía Asterisk. Asterisk

nos permite configurar un servidor de

telefonía en casa, de manera que todos

los teléfonos de nuestro hogar

puedan compartir una única

conexión a Internet. El

servidor de aplicaciones

Asterisk nos propor-

ciona un punto de

configuración

único e incor-

pora muchas

13

Este mes os mostramos algunas de las herramientas más populares para la telefonía por Internet bajo Linux.

POR JOE CASAD

Asterisk................................................ 14

Linphone..............................................19

Kphone................................................ 22

Skype................................................... 24

TEMA DE PORTADA

Page 14: Linux Magazine - Edición en Castellano, Nº 16

gratis. Razón suficiente para mirar

atentamente la tecnología implicada.

Primero, el RegistroSi decide comenzar a usar Internet como

un servicio telefónico, pronto descubrirá

que no se puede simplemente descolgar el

teléfono y empezar a hablar. Por el

contrario, primero hay que registrarse con

un proveedor de servicios VoIP que

proporcione las credenciales necesarias

para acceder al sistema y así

conectarse al servidor SIP del

proveedor. SIP es el nombre del

protocolo que utiliza la

telefonía VoIP. Tras concluir

este paso, se necesita un

teléfono VoIP (un softphone. es

decir, un teléfono software,

puede ser una buena opción).

Una vez que se haya

comenzado a utilizar la

tecnología VoIP, puede que nos

preguntemos si tiene sentido

instalar VoIP en toda la casa.

Aunque es probable que, una

única máquina con acceso a

VoIP no cubra todas nuestras necesidades.

Sin embargo, es bueno saber que el

sistema de telefonía VoIP utilizado por la

mayoría de los profesionales está

disponible en Internet. Su nombre es

Asterisk [1], el cual ha llegado a ser

sinónimo de telefonía software. Asterisk

ofrece diversas opciones útiles, incluyendo

la posibilidad de actuar como un sistema

telefónico completo para toda la casa.

Imaginemos que se desea que los niños

puedan usar el teléfono, pero aún se está

anclado al sistema de telefonía tradicional

y no pretende pasarse a un sistema más

moderno como la RDSI. VoIP es una buena

elección en este caso: permite realizar

llamadas a redes PST, y dependiendo de la

elección del proveedor de VoIP, puede

obtenerse un número de teléfono con

prefijo, y todo en la misma ganga.

Saltando ObstáculosDespués de realizar la configuración para

convertir el PC en un servidor telefónico,

se deseará sacarle partido. Cuanto más

compleja es una aplicación, más empinada

es su curva de aprendizaje, y Asterisk no

La tecnología que soporta el

intercambio sencillo de datos de

audio a través de Internet ofrece

muchos beneficios. La calidad de la voz en

las conexiones por Internet a menudo es

mejor que la calidad ofrecida por las líneas

convencionales, a pesar de los rumores

que hay en contra. Además, la Voz sobre IP

(o VoIP para abreviar) hace que las

llamadas telefónicas transatlánticas, que

solían costar una pequeña fortuna, sean

PORTADA • Asterisk

14 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 1: Los teléfonos VoIP actuales disponen de característi-

cas interesantes al igual que los teléfonos tradicionales: diver-

sas líneas en el visor y teclas con funciones programables son

bastantes comunes.

Telefonía con el Sistema Asterisk

HABLANDO

Un viejo ordenador es todo lo que se necesita para cons-

truirse uno mismo un servidor telefónico personal. POR

MARTIN LOSCHWITZ

Page 15: Linux Magazine - Edición en Castellano, Nº 16

es la excepción que confirma la regla. Hay

que instalar y configurar Asterisk; y a

pesar de ser un servidor de telefonía,

habrá que pedirle al programa que actúe

como un contestador automático virtual.

El objetivo de este artículo no es mostrar

cómo hay que configurar Asterisk como

servidor VoIP, así que el lector no debe

esperar que tras leerlo pueda ser capaz de

competir con Freenet o Sipgate. Para

configurar Asterisk de la forma descrita

aquí se necesita una cuenta VoIP en un

proveedor. La ventaja de la configuración

de este artículo comparada con un

escenario “normal” de VoIP es que se

estará usando Asterisk como un sistema de

telefonía central para los usuarios de una

casa, y además, varios PC podrán tener

acceso a VoIP a través del servidor

Asterisk.

PreparaciónLa configuración de Asterisk es

importante para una red local con varios

equipos. En esta clase de situaciones, el

acceso a Internet normalmente hace uso

de NAT y de un cortafuegos. La

presencia del cortafuegos complica la

configuración de Asterisk. SIP no es

compatible con NAT, así que habrá que

abrir unos cuantos agujeros al

cortafuegos para permitir el uso de SIP.

Los puertos que se necesitan abrir

dependerán del proveedor que se haya

escogido y la mayoría de ellos disponen

de FAQs que resuelven las dudas

respecto a los cortafuegos.

Como regla básica, se puede suponer

que hay que abrir el puerto 5060/tcp, ya

que éste es el puerto principal del

protocolo SIP. Asterisk manejará NAT

por nosotros. Hay que revisar la

documentación del proveedor de servicio

VoIP para obtener instrucciones más

detalladas sobre la configuración de los

cortafuegos.

Instalando AsteriskLa instalación de Asterisk no tiene

ninguna ciencia, ya que la configuración

se hará posteriormente. La mayoría de las

distribuciones incluyen actualmente el

paquete Asterisk que se puede obtener

utilizando la herramienta de instalación

de paquetes del distribuidor. Debian

simplemente llama al paquete asterisk y

se puede ejecutar apt-get o aptitude para

comenzar la instalación.

Asterisk se integra bien en Debian, en

el resto del artículo supondré que se tiene

instalado Debian, pero la configuración

de Asterisk para sip.conf y extensions.conf

es idéntica, independientemente de la

distribución que se tenga. Aquéllos que

prefieran compilar Asterisk desde el

código fuente pueden consultar el cuadro

“Compilando Asterisk” para un HOWTO.

Después de instalar Asterisk en

Debian, debería disponer de varios

ficheros .conf en el directorio

/etc/asterisk. Asterisk es una aplicación

minimalista: comprende unos doce

pequeños módulos, que se cargan al

vuelo conforme se necesiten. El núcleo

de Asterisk, un programa compacto,

contiene las funciones principales de los

diversos módulos. Hay un fichero de

configuración dedicado a cada módulo y

sólo a ese módulo. Esto evita la

necesidad de tener un fichero de

configuración gigantesco, aunque tiende

a llenar el directorio /etc/asterisk. La

mayoría de los ficheros no tienen interés,

ya que pertenecen a partes de Asterisk

que un usuario normal no tendrá que

modificar. Los dos ficheros que habrá

que modificar son sip.conf y

extensions.conf.

¿Quién, Dónde, Qué?La mayoría de los proveedores VoIP, como

GMX y Freenet, utilizan el protocolo SIP.

Pero hay otros protocolos, como IAX2 y

SCCP. Este ejemplo se centrará en SIP; el

módulo que se necesita es chan_sip y el

fichero de configuración correspondiente

es sip.conf.

Por un lado, la configuración en sip.conf

permite a Asterisk conectarse con el

proveedor de servicios VoIP como un

teléfono; y por otro lado, la configuración

permite a los usuarios de la red local

Asterisk • PORTADA

Si se decide compilar Asterisk a partir

de los ficheros con el código fuente, los

comandos para instalar el sistema de

telefonía del PC son los mismos sin

importar la distribución que se esté

usando. Primero hay que bajar el

archivo con el código fuente, y con el

comando tar cvfz se descomprimen. A

continuación, con el comando cd se

entra al directorio que contiene los

ficheros con el código fuente de la apli-

cación y se empieza el proceso de com-

pilación con make. Por último, te-

cleando make install se instala Asterisk

en el sistema de ficheros.

Cuidado: Los ficheros no se colocan en

el directorio /usr como cabría esperar,

sino en el directorio raíz, /. Para modi-

ficar este comportamiento hay que

abrir el fichero Makefile con un editor y

modificar la línea que comienza con

INSTALL_PREFIX= poniendo /usr/local

después del signo igual. Esto evita que

se pueda dañar inadvertidamente el

sistema de ficheros y permite que pos-

teriormente se pueda eliminar Asterisk

del sistema sin demasiado esfuerzo.

Compilando Asterisk

Page 16: Linux Magazine - Edición en Castellano, Nº 16

para las dos líneas siguientes, que

comienzan con language y hay que

añadir una línea con allow=alaw.

Si la máquina que ejecuta Asterisk

utiliza NAT para acceder a Internet,

además habrá que descomentar la línea

nat=no y cambiar no por yes: esto le

indica a Asterisk cómo tiene que tratar

las conexiones entrantes y salientes.

Asterisk se conecta al servidor SIP del

proveedor de servicios VoIP como un

teléfono simple. La configuración para

esto está también almacenada en el

fichero sip.conf. Cada línea que

contiene una configuración para el

servidor VoIP empieza por la palabra

reservada register y sigue esta sintaxis

general:

register => U

username:passwordU

@SIP server/extension

Es preciso añadir una línea para el

proveedor SIP contratado. Si se dispone

de cuentas con múltiples proveedores,

se necesitará una línea register para

cada uno de ellos.

Dejemos por el momento la línea

Extension; más adelante, le indicará a

Asterisk qué proveedor usar para

realizar las llamadas de los distintos

servidores SIP. Habrá que configurarlos

en ficheros independientes; así que hay

que teclear el nombre de la cuenta de

usuario como Extension.

El Proveedor tiene queAccederEl siguiente paso es modificar sip.conf

para permitir al proveedor VoIP enviar

comandos a Asterisk. Asterisk utiliza

también entradas peer para organizar las

llamadas salientes. Una entrada para

manejar esto podría ser como la línea

siguiente:

[VoIP Provider]

type=peer

secret=secret_password

username=username

host=VoIP server

fromuser=username

fromdomain=VoIP server

insecure=very

Se necesita una entrada como ésta pero

con nombres diferentes (el que aparece

entre corchetes) para cada línea register al

final del fichero de configuración sip.conf.

Hay que asegurarse de que las entradas

en los campos coinciden con las entradas

en las líneas register.

Añadiendo TeléfonosEl siguiente y último paso es añadir

líneas en sip.conf para permitir a los

teléfonos SIP de la red local conectarse.

Pueden ser teléfonos VoIP hardware

(Figura 1) o softphones (Figura 2). Al

final del fichero se añade primero un

título al contexto nuevo como:

[Nombre]. Se puede escoger, más o

conectarse al servidor Asterisk como

“teléfonos”.

Asterisk funciona como un servidor

proxy de sitios webs. Envía las conexiones

locales a Internet y las conexiones

entrantes a los teléfonos correspondientes

(se puede disponer de múltiples

teléfonos). Antes de considerar el uso de

Asterisk, hay que configurar primero

sip.conf. Es preciso asegurarse de que los

datos del proveedor VoIP estén a mano

para no tener que perder el tiempo

buscándolos.

GeneralLos ficheros de configuración de Asterisk

están organizados en varias secciones que

controlan distintas propiedades del

módulo en cuestión. La primera sección en

el fichero sip.conf se titula [general], al

igual que en el resto de los ficheros de

configuración del resto de los módulos, y

está rellena por defecto.

Aquí es necesario realizar varios

cambios. Con un editor hay que abrir el

fichero /etc/asterisk/sip.conf y buscar una

línea que contiene disallow=all.

Tendremos que borrar el punto y coma

(“;”) del comienzo de la línea. (El punto y

coma etiqueta a la línea como un

comentario). Esto mismo hay que repetirlo

PORTADA • Asterisk

16 Número 16 W W W . L I N U X - M A G A Z I N E . E S

01 nonumber

02 [general]

03 port = 5060

04 bindaddr = 0.0.0.0

05 disallow=all

06 allow=ulaw

07 allow=alaw

08 maxexpirey=3600

09 defaultexpirey=120

10 context=default

11 language=de

12

13 register => 5552XXX:

[email protected]/5552XXX

14

15 [sipgate]

16 type=peer

17 secret=PASSWORT

18 username=5552XXX

19 host=sipgate.de

20 fromuser=5552XXX

21 fromdomain=sipgate.de

22 insecure=very

23

24 [2000]

25 type=friend

26 secret=Password

27 mailbox=100

28 canreinvite=yes

29 context=default

30 insecure=very

31 host=dynamic

Listado 1: Ejemplo sip.conf (Sipgate)

Figura 2: Si no se desea disponer de un

aparato convencional, se pueden utilizar

teléfonos software como alternativas

siempre que se posea de tarjeta de sonido

en el ordenador y de unos auriculares con

micrófono.

Page 17: Linux Magazine - Edición en Castellano, Nº 16

menos, cualquier nombre; los nombres

de usuario pueden contener letras y

números. Una entrada completa podría

ser como la siguiente:

[2000]

type=friend

secret=password

mailbox=100

canreinvite=yes

context=default

insecure=very

host=dynamic

La solución para configurar teléfonos

adicionales es similar. Hay que

especificar un nombre de usuario y una

contraseña para cada entrada y cambiar

el número para el mailbox. Si se quiere

se pueden utilizar nombres de usuarios

numéricos e incrementarlos junto con

los nombres de los mailbox (2001, 2002,

… y 101, 102, …).

Después de configurar la directiva

[general] y crear las cuentas para el

servidor VoIP y para al menos un

teléfono cliente, se guarda el fichero

sip.conf. El Listado 1 proporciona un

ejemplo de fichero sip.conf.

Creando un DialplanEl dialplan de Asterisk es el tablero de

control para las conexiones de la

aplicación que establece por dónde

dirigir las llamadas entrantes y salientes.

Un dialplan es complejo por naturaleza,

pero manejable para la mayoría de los

usuarios.

Se almacena en el fichero

/etc/asterisk/extensions.conf. Como el

fichero por defecto en Debian contiene

una multitud de ejemplos de poca

utilidad, probablemente se prefiera

renombrarlo a extensions.conf.old y

crear uno nuevo con un editor.

Nuevamente, este fichero de

configuración tiene que tener una

sección [general] que siempre

comenzará como sigue:

[general]

static=yes

writeprotect=no

El comando estándar en extensions.conf

es exten. El comando es invocado por

las llamadas entrantes y salientes y

redirige la llamada a un teléfono de la

red local o hacia Internet. La sintaxis del

comando es la siguiente:

exten => U

called_

number,priority,action

El campo priority no se utiliza para

establecer la importancia de la llamada,

aquí, sino para definir el orden en el que los

comandos en action son ejecutados.

Por DefectoLo primero que hay que hacer es crear una

sección por defecto [default] en el fichero

extensions.conf: Asterisk utilizará esta

sección para manejar las llamadas no

definidas. Teóricamente, el fichero

extensions.conf puede dividirse en

cualquier número de secciones, pero se va

a restringir a lo esencial para mantenerlo

simple.

La primera parte de la configuración de

[default] es genérica y necesaria. Contiene

el denominado test echo, que será preciso

más adelante para comprobar la conexión

entre Asterisk y el teléfono:

[default]

exten => U

600,1,Playback(demo-echotest)

exten => 600,2,Echo

exten => U

600,3,Playback(demo-echodone)

exten => 600,4,Goto(s,6)

[default] es también el lugar donde

especificar lo que hay que hacer con las

llamadas salientes. Es conveniente usar un

número para obtener una línea externa, y

de este modo permite usar Asterisk para

llamadas internas. La siguiente línea le

indica al programa que dirija las llamadas

salientes que empiecen por 0 al proveedor

VoIP VoIP Provider:

exten => U

_0.,1,Dial(SIP/${EXTEN:1}U

@VoIP Provider)

El comando parece más críptico de lo que

realmente es: _0. indica que este comando

controla todas las llamadas que empiecen

por 0. 1 indica la prioridad (1 en este caso,

porque realmente hay poco que hacer con

una llamada saliente, aparte de redirigirla).

Dial(SIP/${EXTEN:1}@VoIP Provider)

dice que marque para llamar el comando

de marcado interno de Asterisk. SIP le dice

a Asterisk que use SIP para conectarse con

el servidor. La cadena que sigue a / es el

número a marcar. Añadiéndole :1 al

número se elimina el primer dígito (el 0

W W W . L I N U X - M A G A Z I N E . E S

Page 18: Linux Magazine - Edición en Castellano, Nº 16

La primera línea dirige las llamadas

entrantes al usuario y teléfono con el

nombre de usuario 2000. Las líneas 2 y

3 ejecutan los buzones de voz (es decir,

el contestador automático de Asterisk)

si la extensión 2000 está ocupada o

desactivada. Por último, la línea cuatro

cuelga cuando Asterisk haya

completado los tres pasos anteriores.

Hay que repetir los pasos anteriores

para cada línea register en el fichero

sip.conf. Si se necesita redirigir las

llamadas a otra extensión aparte de la

“2000”, tan sólo hay que cambiar los

números que siguen a SIP/.

Cuando se haya completado la confi-

guración del fichero extensions.conf, no

hay que olvidarse de guardar el fichero.

El Listado 2 proporciona un ejemplo de

extensions.conf configurado de esta

forma.

Ejecutando AsteriskYa habríamos acabado si los desarro-

lladores de Debian no hubiesen añadido

un obstáculo extra. No se puede

ejecutar Asterisk directamente después

de haber terminado de instalarlo. Para

cambiar este comportamiento hay que

abrir /etc/default/asterisk con un editor,

y modificar la entrada no de

RUNASTERISK por yes. Después de

habilitar este parámetro, puede

ejecutarse Asterisk mediante el

comando /etc/init.d/asterisk start.

que se pulsa para obtener una línea

externa) antes de marcar. La cadena que

sigue a @ especifica el proveedor VoIP.

Esto se puede repetir para cualquier

número de proveedores de VoIP. Use

diferentes números para obtener líneas

externas en cada caso, e inserte el nombre

del proveedor de VoIP como se especifica

en la entrada de cada proveedor en el

fichero sip.conf.

Llamadas EntrantesSi se ejecutara Asterisk en este

momento, se podrían realizar llamadas

externas (Figura 3), pero nadie podría

llamarnos. Para permitir las llamadas,

tenemos que saltar el último obstáculo.

En las líneas register del fichero

sip.conf, el último valor que se añadió

en cada línea era el nombre que

Asterisk utiliza para referenciar las

llamadas entrantes del servidor. Si se

sigue el ejemplo, el nombre será el

nombre de la cuenta de usuario del

proveedor VoIP.

Si además se añade “2000” como el

nombre del usuario del primer teléfono,

se pueden utilizar estas líneas tal como

están en el fichero, reemplazando Name

con el nombre del proveedor de VoIP

(es decir, el último trozo de la línea

register):

exten => U

Name,1,Dial(SIP/2000,15,tTr)

exten => U

Name,2,VoiceMail,u2000

exten => U

Name,102,VoiceMail,b2000

exten => Name,103,Hangup

PORTADA • Asterisk

18 Número 16 W W W . L I N U X - M A G A Z I N E . E S

01 nonumber

02 [general]

03 static=yes

04 writeprotect=no

05

06 [default]

07 exten =>

600,1,Playback(demo-echotest)

08 exten => 600,2,Echo

09 exten =>

600,3,Playback(demo-echodone)

10 exten => 600,4,Goto(s,6)

11

12 exten => 2999,1,Ringing

13 exten => 2999,2,VoicemailMain,

s2000

14

15 exten => _0.,1,Dial(SIP/

${EXTEN:1}<\@>sipgate)

16

17 exten => 5552XXX,1,Dial(SIP/

2000,15,tTr)

18 exten => 5552XXX,2,VoiceMail,u

2000

19 exten => 5552XXX,102,VoiceMail

,b2000

20 exten => 5552XXX,103,Hangup

Listado 2: Fichero de ejemplo extensions.conf

RECURSOS

[1] Asterisk: http://www.asterisk.org

ConvenienciaAsterisk posee un contestador

automático virtual que hay que habilitar.

El programa addmailbox ayudará a

realizar esta tarea. Para ello hay que

anotar el nombre de usuario al que se le

quiera asignar un buzón (2000 en el

ejemplo).

En el fichero sip.conf, se asignó el

buzón 100 a este usuario (mailbox=100).

Trabajando como root, hay que ejecutar

addmailbox en la línea de comandos. Si

el programa solicita el contexto, tan sólo

hay que poner default. Cuando solicite el

número del buzón, hay que teclear 100.

El script configurará todos los ficheros

necesarios.

Se puede utilizar apt-get install para

instalar un fichero asterisk-prompt-xx

para grabar los mensajes en el idioma de

su elección. Los mensajes en inglés se

reproducen por defecto. Tras este paso se

obtiene un sistema de buzón de voz

basado en Asterisk.

Accediendo al Buzón de VozPor último, se necesita una forma para

decirle a Asterisk que reproduzca los

mensajes que se tengan en el buzón de

voz. Para permitir la reproducción de los

mensajes del buzón de voz hay que

realizar los cambios necesarios al fichero

extensions.conf. Añádase las siguientes

líneas:

exten => 2999,1,Ringing

exten => U

2999,2,VoicemailMain,s2000

Ahora, cuando se marque 2999 desde un

teléfono interno, se conectará

automáticamente al buzón de voz del

usuario 2000. La primera vez que se

conecte, habrá que especificar una

contraseña de acceso, en las siguientes

veces se obtendrá el acceso directamente.

Si se dispone de una VPN para acceder

remotamente a su red, es posible utilizar

un softphone y el túnel VPN para acceder

al servidor Asterisk. �

Page 19: Linux Magazine - Edición en Castellano, Nº 16

suficiente para nuestro uso diario.

Podemos buscar el programa en el

apartado Telephone del menú KDE. Si

usamos Debian Testing (Etch) o Ubuntu

Linphone • PORTADA

Número 16W W W . L I N U X - M A G A Z I N E . E S

Uno de los métodos más

populares para acceder a la

tecnología VoIP es a través de los

llamados softphones. Un softphone es

simplemente un programa de ordenador

que controla el establecimiento y la

comunicación. Linphone [1] es uno de

los programas softphone más populares

para Linux. Está optimizado para el

escritorio Gnome, aunque esto no

significa que no podamos ejecutarlo bajo

KDE. En este artículo veremos cómo

instalar, configurar y arreglar problemas

con Linphone.

Por supuesto, aunque Linphone es una

herramienta software, a la hora de

usarlo, necesitamos algún hardware

básico, como unos auriculares y un

micrófono. Y si queremos usar Linphone

como un sistema telefónico completo,

necesitaremos una cuenta con algún

proveedor VoIP. Para los ejemplos de este

artículo, nos referiremos a dos cuentas

ficticias con dos proveedores: Sipsnip y

Purtel. Nuestro usuario ficticio llama a

través de la cuenta en Sissnip pero

quiere recibirlas a través de Purtel. El

procedimiento es similar con otros

proveedores.

InstalaciónEl código fuente de la versión 1.1.0 y las

librerías están disponibles en [2].

Mandriva Linux 2006 tiene la versión

1.1.0. Los usuarios de Gentoo pueden

instalar la 1.1.0 simplemente con

ejecutar el comando emerge. Suse 9.3 y

10.0 nos ofrecen la versión 1.0.0, que es

19

Telefonía por Internet con Linphone

BIEN CONECTADOSi deseas llamar a amigos que se encuentran en países lejanos, no

levantes el teléfono: enchufa los auriculares y arranca Linphone.

POR SIMONE SCHÄFER

En el caso más sencillo, el número de

teléfono será un simple número de telé-

fono seguido del dominio SIP, tal que

[email protected]. Si necesita-

mos llamar a un usuario con otro

proveedor, la manera más sencilla es,

generalmente, introducir la ID SIP

(como en [email protected])

o simplemente el número de teléfono

con Sipgate ([email protected]).

Desafortunadamente, no todos los

proveedores soportan este tipo de mar-

cado. Los clientes de Purtel pueden lla-

mar gratuitamente a los de Sipsnip,

pero no marcando el SIP ID. En su lugar,

tienen que introducir un código espe-

cial, seguido del número Sipsnip. El

código para Sipsnip es el 000555.

Números de Teléfono e

ID’s SIP

Page 20: Linux Magazine - Edición en Castellano, Nº 16

acceder a esta

información de la

cuenta y permite

modificarlas en caso

necesario. (Muchos

proveedores VoIP

distinguen entre el

número de teléfono y

el nombre de usuario,

pero Purtel es una

excepción: el nombre

de usuario es siempre

el mismo que el

número de teléfono

de Purtel).

Una vez que

hayamos introducido la información de

nuestra cuenta, ya casi hemos

finalizado. El menú Go tiene un

apartado Preferences. Pulsamos en la

pestaña SIP en primer lugar,

introducimos nuestro identificador o

dirección SIP. En nuestro ejemplo, era

penguin seguido de una arroba (“@”) y

seguido de sipsnip.com para el campo

Your sip address:. No debemos olvidar

quitar la marca en Automatically guess a

valid hostname, ya que no lo

necesitamos.

El siguiente paso es indicarle a

Linphone a qué servidor de Internet

vamos a querer conectarnos cuando

realicemos una llamada. En el panel

Remote services, pulsamos sobre Add

proxy/registrar. En la ventana que

aparece, tecleamos la dirección SIP

completa en SIP Identity y el nombre del

servidor SIP en SIP Proxy. En el caso de

los proveedores de nuestra prueba, es el

mismo que el dominio.

Ahora pulsamos en OK para

confirmar, y el programa nos pedirá

nuestro nombre de usuario y

contraseña. El programa guarda la

información, y no

será necesario volver

a introducirla de

nuevo.

Línea Directacon el MundoDespués de haber

introducido nuestros

datos, y suponiendo

que el servidor acepta

nuestro nombre de

usuario y contraseña,

ya nada nos impide

realizar nuestra

primera llamada.

Introducimos el SIP ID en SIP address en

la ventana principal. (Véase el cuadro

“Números de Teléfono e ID’s SIP” para

tener varios números). La versión 1.1.0

también nos permite seleccionar qué

cuenta VoIP usar, si tenemos más de

una.

Seleccionamos un servidor proxy en

Proxy to use. Pulsamos a continuación

sobre Call or answer para indicarle al

programa que efectúe la llamada.

Hangup or Refuse le indica a éste que

rechace o cuelgue la llamada.

Para facilitar las cosas, deberíamos

añadir un nombre para cada contacto de

nuestra libreta de direcciones, introducir

la dirección SIP, y si tenemos múltiples

cuentas SIP, especificar qué cuenta

vamos a usar con ese contacto. Tras

completar la información del contacto,

podemos pulsar sobre Select para cargar

la configuración.

Si comprobamos Show more en la

ventana de Linphone, el programa nos

mostrará las opciones para la

reproducción y la grabación. La pestaña

My online friends nos muestra una vista

general del estado de los contactos de

nuestra libreta de

direcciones. Sin

embargo, esta opción

no funcionó en

nuestras pruebas,

aunque el problema

pudo ser debido al

proveedor VoIP que

usamos.

Es una buena idea

hacer una llamada de

prueba a un número

que conozcamos en

este momento,

simplemente para

Linux 5.10 (“Breezy Badger”), en el

repositorio encontraremos la versión

1.0.1, ligeramente más reciente.

Puede que prefiramos compilar e

instalar el programa de manera manual.

En este caso, debemos asegurarnos de

que seguimos el orden correcto en la

compilación. Linphone hace uso de la

librería Libosip2 para comunicarse con

el proveedor de VoIP, por lo que

tendremos que instalar la librería

previamente. Para ello, abrimos un

terminal, pasamos a root tecleando su e

introducimos la contraseña adecuada.

Descomprimimos el archivo con tar xzf

libosip2-2.2.0.tar.gz y nos ubicamos en

el nuevo directorio (cd libosip2-2.2.0).

Los siguientes comandos compilan e

instalan la librería:

./configure --prefix=/usr

make

make install

ldconfig

Salimos del directorio Linosip2 y

pasamos a descomprimir el archivo de

Linphone. Para ello tecleamos tar xzf

linphone-1.1.0.tar.gz. Pasamos al

directorio requerido con cd

linphone-1.1.0, y para compilar e instalar

usamos los mismos comandos vistos con

la librería.

Puede que nos falten algunos paquetes

de desarrollo, como los codecs Speex.

Cada distribución tiene su método de

instalación. La mejor opción es usar el

gestor de instalación de nuestra

distribución para buscar un paquete con

un nombre similar.

Configurar una CuentaCuando lo ejecutamos, Linphone

aparece con una interfaz de usuario

bastante minimalista. Necesitamos

nuestras credenciales VoIP para

conectarnos al servidor. Además de

nombre de usuario y contraseña,

necesitamos también un dominio. Al

igual que con las direcciones de correo

electrónico, el SIP ID, es decir, nuestro

número de teléfono VoIP, comprende un

nombre de usuario y el domino.

En nuestro ejemplo, el SIP ID es

[email protected] para la cuenta de

Sipsnip. El dominio es algo distinto para

la cuenta de Purtel:

[email protected]. La página

Web del proveedor VoIP nos permite

PORTADA • Linphone

20 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 1: Linphone ofrece al usuario

un acceso rápido a la VoIP a través

de Internet.

Figura 2: Podemos usar una herramienta como Gnome-volume

para cambiar la configuración del sonido.

Page 21: Linux Magazine - Edición en Castellano, Nº 16

asegurarnos de que la configuración

funciona. Si las llamadas a fijos y

móviles también funcionan, ya tenemos

un sistema de telefonía alternativa de

bajo coste. Desafortunadamente,

podemos encontrarnos con unos cuantos

problemas que nos lo impida.

Resolución de ProblemasMuchos usuarios se hallan detrás de

algún tipo de cortafuegos que los separan

de Internet. Los protocolos que usa

Linphone pueden, ocasionalmente,

causar problemas cuando se usan con

estos dispositivos de protección.

El Protocolo de Inicio de Sesión (SIP),

es un protocolo de red que administra las

llamadas de uno o varios usuarios.

Simplemente controla el lado que

coordina, es decir, la señalización de la

llamada. El transporte de la información

se controla con el Realtime Transport

Protocol (RTP). Las direcciones de los

usuarios siguen un patrón similar al de

las direcciones de correo electrónico:

sip:user@domain. Muchos de los

dispositivos VoIP actuales usan SIP, que

ha desbancado en cierta medida al

protocolo H.323 como estándar en la

industria VoIP.

Tanto SIP como RTP utilizan el

protocolo sin conexión UDP. Este hecho,

y el que la VoIP se basa en ambos

componentes, SIP y RTP, pueden causar

problemas con las conexiones a través de

cortafuegos. SIP le indica al proveedor de

VoIP tanto la dirección IP como el puerto

por el que el llamante quiere conectarse.

Si encontramos problemas con la

conexión y no tenemos router, pero sí

cortafuegos, debemos habilitar en primer

lugar los puertos 7078/udp y 5060/udp. Si

los problemas continúan, la culpa

probablemente sea de los codecs o de la

tarjeta de sonido. Si tenemos router,

debemos reconducir estos puertos a

nuestra dirección IP interna para UDP.

Si aún así no funciona, el contratiempo

puede deberse a la configuración de la

tarjeta de sonido. Para probar esto,

podemos hacer uso de un programa de

grabación para grabar una muestra a

través de nuestro micrófono. Gnome

ofrece el Audio Recorder y KDE dispone

de la herramienta Krecord en el menú

Multimedia | Recording.

Si no se graba nada, debemos mirar el

control de volumen en primer lugar. Para

ajustar el volumen, abrimos bien Kmix o

bien Gnome-volume (véase Figura 2), en

función de nuestro escritorio. Esto nos

lleva a una lista de opciones que

dependen de nuestra tarjeta de sonido. La

pestaña Output nos permite silenciar el

micrófono, lo que es una gran idea, para

evitar escucharnos a nosotros mismos. La

pestaña Input nos permite incrementar

gradualmente el volumen del micrófono,

y posiblemente el nivel Capture.

El símbolo del micrófono bajo ambos

controles debe estar activado. Si tenemos

una pestaña Switches con la tarjeta de

sonido, podemos usar la opción

Microphone Boost para incrementar la

ganancia de la señal del micrófono.

Usamos la pestaña Options para

seleccionar un dispositivo de grabación,

esto es, nuestro micrófono. Los usuarios

de KDE deberían asegurarse de que los

LEDs verdes de Input y Capture (caso de

estar presentes) estén ambos apagados,

pero los LEDs rojos estén encendidos.

Ambos tienen que configurarse con un

alto nivel de grabación. De nuevo,

deberíamos configurar la fuente y

habilitar el “Microphone Boost” en la

pestaña Switches.

Los métodos de compresión (codecs)

raramente causan problemas con la VoIP.

Existen gran cantidad de codecs, y cabe la

posibilidad de que la persona a la que

estemos llamando no disponga en su

sistema de los mismos codecs. Sin

embargo, Linphone tiene una buena

selección, y este problema no apareció en

nuestro laboratorio.

Si encontramos otros inconvenientes,

podemos probar a cambiar el codec en la

pestaña Codecs dentro del menú

Preferences. Muchos programas prefieren

los métodos PCMU y PCMA. Podemos

mover estos métodos arriba del todo si

persisten los problemas. El códec Speex

con una frecuencia de muestreo de 16

kHz nos permitirá disponer, por lo

general, de la mejor calidad de voz.

ConclusionesLinphone ha alcanzado un nivel de

funcionalidad muy alto y el ritmo de

desarrollo está decreciendo en estos

momentos. A muchos usuarios les

gustaría ver un soporte para

cortafuegos mejorado, en forma de

protocolo STUN (véase “Detalles SIP”),

y parece ser que los desarrolladores

implementarán STUN dentro de poco.

Con esto y con todo, Linphone es un

útil y práctico softphone. �

Linphone • PORTADA

21Número 16W W W . L I N U X - M A G A Z I N E . E S

RECURSOS

[1] Linphone homepage: http://www.

linphone.org/?lang=us

[2] Página de descarga de las fuentes de

Linphone: http://simon.morlat.free.fr/

download/1.1.x/source/

[3] Página de descarga de X-Lite: http://

www.xten.com/index.

php?menu=download

[4] Versión de desarrollo de Gnome

Meeting: http://snapshots.seconix.

comFigura 3: Cuadro de diálogo donde se puede escoger el codec de audio.

Simone Schäfer estudia en la

actualidad Diseño por Orde-

nador y pasa la mayor parte del

tiempo reparando su sistema

Arch Linux. Cuando no está

haciendo esto, también disfruta

probando otras distribuciones.

LAAUTORA

Page 22: Linux Magazine - Edición en Castellano, Nº 16

puede especificarse el servidor proxy, pero

después se puede intentar probar sin este

parámetro.

El q-value especifica la calidad de la

conexión. Kphone establece la calidad

dinámicamente si se deja vacío este

campo. Reduciendo la calidad

manualmente también se reducirá el

ancho de banda que Kphone utiliza, pero

la mayoría de los usuarios se conforman

con los valores por defecto.

Contraseñas InsegurasTras introducir los datos, se pulsará el

botón Register para indicarle a Kphone

que establezca una conexión con nuestro

proveedor. El registro automático es

suficiente: después de todo, la gente

solamente podrá llamarlo por el teléfono

de Internet mientras la conexión esté

activa.

Kphone siempre pide al usuario la

contraseña cuando se registra: ésta es la

contraseña que el proveedor SIP

proporciona. Desde luego, se puede

guardar, pero hay que ser consciente de los

peligros, ya que la contraseña se almacena

sin encriptar en el fichero de configuración

de Kphone, y dicho fichero tiene permisos

de lectura para todo el mundo. No hay

forma de modificar esto, ya que Kphone

reescribe el fichero de configuración cada

vez que se cierra el programa y establece el

permiso de lectura para todo el mundo.

Una posible solución es usar el comando

chmod 700 ~/.qt para restringir el acceso al

directorio de configuración de QT. Esto

protege al fichero de configuración con la

El programa KDE Kphone, que

recientemente lo han empezado a

incluir Suse Linux y otras

distribuciones, es una aplicación sencilla

de telefonía para Linux. Kphone

proporciona una herramienta manejable

de Voz IP sobre conexiones IP.

Kphone es muy fácil de configurar.

Como se puede ver en la Figura 1, la

primera vez que se ejecuta solicita al

usuario unos cuantos parámetros: de

hecho, tan sólo hay que especificar la User

Part of SIP URL y la Host Part of SIP URL.

El Outbound Proxy sólo se requiere

cuando nos topamos con un cortafuegos

muy restrictivo para permitir las

conexiones salientes. Para cubrirnos las

espaldas, en nuestro primer experimento

PORTADA • Kphone

22 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Telefonía en Internet con KPhone

LLAMADAS DESDE ELESCRITORIO

La telefonía en Internet no tiene por qué ser complicada. Se puede

hablar con el mundo con una tarjeta de sonido normal y corriente, con

una cuenta de un proveedor de telefonía de Internet y con Kphone.

POR MIRKO DÖLLE

STUN: Simple Traversal of UDP over

NATs. Un protocolo que permite a los

dispositivos que están tras un cortafue-

gos recibir datos desde Internet sin

tener que cambiar las reglas del corta-

fuegos o del router.

GLOSARIO

Page 23: Linux Magazine - Edición en Castellano, Nº 16

contraseña de Kphone, pero permite al

administrador del sistema verlo.

Dependiendo de la configuración del

router DSL, puede que se necesite un

servidor STUN para ser capaz de realizar y

recibir llamadas con Kphone. Es probable

que el ordenador no sea capaz de

identificar la dirección IP pública y el

puerto que el router usa para las

conexiones VoIP. En este caso, el cliente

solicita el servidor STUN, que es el que le

proporciona la dirección IP y el puerto,

permitiéndole pasar los datos al destino

para poder efectuar la llamada.

Para configurarlo se pulsa la solapa

Socket en Preferences > SIP Preferences

(Figura 2). En la línea STUN Server hay que

introducir el nombre y el puerto del

servidor STUN del proveedor. Hay que

cambiar la opción Use STUN server a Yes en

la misma solapa. La misma regla es

aplicable aquí para utilizar el proxy. Será

mejor que la primera vez que se utilice el

programa se tenga activada la opción del

servidor STUN, se puede probar a

desactivarlo más adelante.

Habrá que modificar la configuración del

cortafuegos para permitir a Kphone

comunicarse con el mundo exterior y

recibir llamadas. Por ejemplo, Kphone

necesitará siempre los puertos 5004, 5060 y

10000 para los paquetes UDP. Además

habrá que habilitar los puertos UDP del

61000 al 61099 para el servidor STUN.

La Primera LlamadaKphone es fácil de usar. En el caso más

sencillo, basta con teclear la SIP URL del

destino o bien marcar un número real de

teléfono junto con sus prefijos

correspondientes en el cuadro de texto

junto al icono del teléfono en la ventana

principal de Kphone. Si se prefiere, se

puede pulsar primero el icono del teléfono.

Indicándole así a Kphone que abra la

ventana de marcado, donde se le solicitará

al usuario que introduzca un número de

teléfono o una SIP URL. Para establecer

una videoconferencia tan sólo hay que

pulsar en el icono de la cámara.

El poder o no realizar llamadas a

teléfonos de líneas convencionales vía VoIP

sólo depende del servicio que se tenga

contratado con el proveedor. Algunos

proveedores requieren que se realice un

prepago, y hasta que no se haga, sólo se

podrán realizar llamadas dentro de la red

VoIP o a una red de teléfonos VoIP

conectada a ella. Por otro lado, las llamadas

desde las redes PST a los teléfonos VoIP

pueden efectuarse sin realizar ningún

prepago y gratis. Es decir, al menos, no hay

que pagarlas: se le cobrará al que realice la

llamada a la tarifa normal de la zona donde

viva, sin importar el lugar al que se realice

la llamada.

Se aplican reglas estrictas a la forma en la

que los proveedores de servicios telefónicos

basados en Internet asignan los números

telefónicos. No se puede tener un número

con prefijo de Londres si se vive en

Munich. La mayoría de los proveedores

proporcionarán un número que contenga el

prefijo de la dirección donde se realice la

facturación.

Así mismo, el reenvío de las llamadas

efectuadas a los números de emergencia se

realizan a los servicios más próximos a la

dirección donde se lleve a cabo la

facturación o bien donde se viva. Como la

telefonía por Internet es posible desde

cualquier parte del mundo, puede ser que

al servicio de rescate le lleve algún tiempo

llegar al lugar donde se esté produciendo la

emergencia. El procedimiento que se

realiza con la telefonía móvil y telefonía fija

tiene más sentido y enviarán la llamada de

emergencia al servicio de rescate

responsable de la zona en la que esté

localizado el teléfono fijo o el teléfono

móvil.

Guía de Teléfono PropietariaKphone dispone de su propio listín

telefónico, que no es compatible con

ningún formato de agenda electrónica y se

almacena en el fichero de configuración

central ~/.qt/kphonerc. El listín telefónico

es fácil de utilizar. Hay que seleccionar

Preferences | Phone book para abrir el

editor, donde pueden asignarse uno o

varios números de teléfono a cada

contacto. Kphone muestra un pequeño

formulario de las entradas del listín en la

ventana principal bajo el cuadro de texto

donde se introduce el número de teléfono.

De hecho, solamente es necesario acceder

a la ventana del listín telefónico para añadir

un contacto nuevo, con tan sólo hacer

doble clic sobre la entrada de la ventana

principal.

Si se quiere ejecutar Kphone para recibir

llamadas, es buena idea tenerlo

minimizado. Kphone se abrirá cuando se

reciba una llamada y hará sonar una

melodía por la tarjeta de sonido o por el

altavoz interno. Una pequeña crítica es que

no se puede ejecutar Kphone

automáticamente como un servicio en el

panel de KDE. Esto haría más sencillo la

ejecución del programa en segundo plano

cada vez que se reinicie el sistema. �

Kphone • PORTADA

23Número 16W W W . L I N U X - M A G A Z I N E . E S

Figura 1: KPhone no necesita mucha infor-

mación cuando se ejecuta por primera vez,

pero hay que especificar el usuario y el host

de la URL SIP.

Figura 3: Creando una entrada en el listín

telefónico de KPhone.

Figura 2: Configurando el servidor STUN y

otros parámetros del socket.

[1] Kphone: http://www.wirlab.net/

kphone/

RECURSOS

Page 24: Linux Magazine - Edición en Castellano, Nº 16

sector desde los escritorios. Es fácil de

instalar y usar, y ofrece una calidad de

voz muy buena.

Por supuesto, algunos críticos han

puesto su punto de mira sobre Skype: es

un programa de fuente cerrada, por lo

que tenemos que creernos las promesas

de la compañía en lo concerniente a la

seguridad. El cliente usa un protocolo

cerrado y propietario, en lugar de optar

por un estándar VoIP, al menos de

momento. ¿Hace esto malo a Skype?

Uno de los logros del programa es que

los paquetes están disponibles para varias

distribuciones. Skype suele funcionar a la

primera, y normalmente no se atasca con

el NAT y los cortafuegos. No hay

alternativa si queremos hablar con la

enorme cantidad de usuarios de Skype.

Existen algunos otros clientes gratuitos

VoIP, pero con ellos no podremos

comunicarnos con los usuarios de Skype.

Puede que nos preguntemos entonces

cómo consiguen beneficios los

creadores de Skype si el cliente es

gratuito. La respuesta es que Skype

consigue la mayor parte de sus ingresos

a través de los servicios de valor

añadido (véase el cuadro “Servicios

Skype”). Skype cobra por las llamadas a

teléfonos convencionales a través de

SkypeOut, o si queremos nuestro propio

número de teléfono de los planes de

numeración nacionales con Skype.

Instalación y Búsqueda deAmigosEl proceso de instalación de la versión

1.2 es poco espectacular. La versión 1.2

es la última que se ofrece a los usuarios

de Linux. La zona de descargas de la

página Web tiene paquetes binarios

para Debian, Ubuntu, Suse, Red Hat y

Mandriva. Descargamos el paquete de

Si somos usuarios de Voz sobre IP

(VoIP) seguramente nos será

familiar la sensación de que las

distancias no paran de acortarse.

Llamar a un amigo en Japón costaba

una fortuna hace sólo unos años, pero

gracias a la VoIP ahora podemos hablar

gratis con cualquier rincón del planeta y

sin sacrificar la calidad de voz, siempre

que tengamos una conexión a Internet

de banda ancha. La tecnología VoIP está

poniendo contra las cuerdas a un buen

número de operadoras de

telecomunicaciones. Niklas Zennström,

el inventor del cliente VoIP Skype [1],

declaró recientemente en Spiegel-

Online que Vodafone está tratando de

evitar que Skype acceda a Internet a

través de su red de alta velocidad

inalámbrica. Es poco probable que esto

extrañe a Niklas Zennström: su cliente

gratuito está sacudiendo con fuerza al

PORTADA • Skype

24 Número 16 W W W . L I N U X - M A G A Z I N E . E S

De paseo con el cliente VoIP Skype

ATRACO A LASOPERADORAS

De paseo con el cliente VoIP Skype

ATRACO A LASOPERADORAS

El famoso Skype es una opción VoIP gratuita pero no libre. POR KRISTIAN KISSLINGEl famoso Skype es una opción VoIP gratuita pero no libre. POR KRISTIAN KISSLING

Page 25: Linux Magazine - Edición en Castellano, Nº 16

25Número 16W W W . L I N U X - M A G A Z I N E . E S

nuestra distribución y usamos el gestor

de paquetes para instalarlo. No será

necesario resolver requerimientos del

software, ni tendremos que habilitar

ningún puerto del router. Skype usa los

puertos 80 y 443, que se emplean para

HTTP y/o SSL, y es raro que un

administrador tenga estos puertos

cerrados para otros protocolos.

Tras completar la instalación,

pulsamos [ALt-F2] y tecleamos skype.

Este comando habilita una ventana con

dos pestañas. Si somos usuarios

nuevos, seleccionamos New Users -

Create a Skype Account. Introducimos

nuestro nombre, contraseña y correo

electrónico en los apartados adecuados,

aceptamos las condiciones de uso

(véase la Figura 2), y ya estamos

conectados. Cuando ya tenemos cuenta,

podemos conectarnos a través de la

pestaña Existing Users - Log in to Skype.

Si queremos llamar a otro usuario de

Skype, tenemos que averiguar si está en

línea en ese momento.

Pulsamos en el icono de la lupa para

abrir la herramienta de búsqueda, e

introducimos el nombre del usuario al

que queremos llamar. Si no sabemos su

cuenta de usuario, pero sabemos su

fecha de nacimiento, domicilio o

número de teléfono móvil, podemos

probar suerte en el campo Advanced.

Si nuestro amigo introdujo esta

información en su perfil, la búsqueda

debería tener éxito. En ese caso, su

nombre aparecerá en la parte inferior de

la ventana. Hacemos doble clic sobre el

nombre para arrastrarlo hasta el menú,

y usamos el apartado Add to Contacts

para añadir el nombre a nuestra lista de

contactos.

El nombre aparecerá en la lista bajo la

pestaña Contacts. A continuación se

abre un cuadro de diálogo para la

autorización. A nuestro amigo se le

pregunta si quiere hablar, y podemos

especificar si queremos que nos vea

cuando estamos conectados. El icono

junto al nombre en la pestaña Contacts

muestra el estado actual. Si el icono

está verde, nuestro contacto está

conectado. Podemos fijar nuestro

propio estado a través del pequeño

icono en la parte inferior izquierda de la

ventana. Esto permite indicar a los

potenciales llamantes que no queremos

ser molestados o que no estamos en

casa.

Skype • PORTADA

Figura 1: Podemos descargar Skype desde Internet de manera gratuita.

SkypeOut nos permite llamar a la Red

Telefónica Conmutada o a las redes de

móviles. Antes de poder llamar, sin

embargo, tendremos que comprar

crédito a través de PayPal. Podremos

realizar llamadas siempre que dispon-

gamos de crédito. Obviamente existen

distintas tarifas en función del país de

destino [3]. Aunque sólo estamos

pagando llamadas nacionales, ya que las

llamadas usan Internet hasta llegar a la

red telefónica del país de destino, existen

apreciables diferencias en el precio. Una

llamada a las Islas Salomón cuesta 1.08

Euros por minuto. Mientras que a Japón

sólo cuesta 0.02 Euros el minuto.

SkipeIn es otro servicio en el que

disponemos nuestro propio número de

la red telefónica de manera que nos

puedan llamar desde teléfonos conven-

cionales. Las tarifas son del mismo nivel

que en las operadoras tradicionales. Si

tenemos un número de Berlín, pero

resulta que estamos en Sydney, nuestros

amigos de Berlín sólo pagarán a precio

de llamada local. Podemos comprar un

bloque de diez números, que nos

costarán 30 Euros al año, o 10 Euros por

tres meses. Lamentablemente, de

momento no están disponibles números

españoles.

Skype Voicemail es una especie de con-

testador virtual. Si somos clientes de

SkypeIn, podemos optar a tener este

buzón de llamadas que garantiza que no

perdamos el rastro mientras no estamos

online.

Festoon es una herramienta que propor-

ciona soporte para vídeo a Skype,

aunque sólo en la versión para Win-

dows. En la actualidad, la versión 2.0 de

Skype para Windows ya incorpora video

de serie, aunque aún está en versión

Beta.

Skype Zones es un servicio para gente

que viaja y usuarios de portátiles. La he-

rramienta Boingo nos permite usar

Skype a través de hotspots públicos en

Internet, cafés e incluso aviones. El servi-

cio cuesta 6,50 Euros al mes, pero de

nuevo, éste está restringido a los usua-

rios de Windows.

Servicios Skype

Page 26: Linux Magazine - Edición en Castellano, Nº 16

Para usar el servicio

comercial SkypeOut,

(véase el cuadro

“Servicios Skype”),

pulsamos sobre la

pestaña Dial. A

continuación usamos

las teclas numéricas

para marcar el número

de un teléfono fijo

convencional o un

móvil. La pestaña Call

List nos muestra un

administrador de

llamadas. Desde aquí

podremos acceder

también el servicio de

buzón de llamadas:

podemos escuchar

mensajes de llamadas

que se produjeron durante nuestra

ausencia. También podemos acceder a un

resumen de llamadas que hemos

efectuado. Skype permite también

conferencias de hasta cinco participantes.

Los usuarios de Linux pueden participar

en estas conferencias, pero no pueden

iniciarlas.

Alguien a la EscuchaSi necesitamos mantener una conferencia

para discutir algún negocio importante, la

seguridad de la comunicación puede ser

un asunto importante. Definitivamente no

vamos a querer fisgones a la escucha. El

asunto de la seguridad es siempre un

problema con el software propietario.

Según Skype, la comunicación está

protegida por un algoritmo AES

asimétrico, con una clave de 256 bits. La

compañía usa una clave RSA de 1024 bits

para controlar el intercambio de claves,

aunque claro, esto no podemos

comprobarlo nosotros. Skype no parece

dispuesto, de momento, a publicar su

código fuente. Y aunque se habilite la

encriptación, ésta desaparece al llegar a la

Red Telefónica Conmutada.

Tunear SkypePodemos cambiar algunas preferencias en

cuanto a seguridad. Pulsamos sobre la

pesaña Privacy en el menú Tools, donde

podemos especificar quién puede

escribirnos en una ventana de chat o

llamarnos. Si preferimos que no todo el

mundo pueda acceder a nosotros,

podemos restringir nuestra disponibilidad

a los miembros de la lista de contactos.

En General podemos

indicarle a Skype que

busque actualizaciones

automáticas del

programa. Aquí

también podemos

especificar cuánto

tiempo debe pasar el

ordenador inactivo para

que el estado pase a

ausente. Si dejamos el

ordenador funcionando

mientras nos vamos,

podemos molestar a los

contactos que tratan de

comunicarse con

nosotros en vano.

La pestaña

Hand/Headset nos

permite especificar el

dispositivo que usa nuestra tarjeta de

sonido, que suele ser /dev/dsp. Si esto no

funciona, tendremos que probar otra

interfaz. Las pestañas Call Alerts y Chat

Alerts nos permiten especificar qué pasa

cuando recibimos una llamada o una

ventana de chat. ¿Queremos un timbre o

preferimos un mensaje? La pestaña

Advanced nos autoriza a indicar los

puertos que debe usar Skype. Si

preferimos no usar los puertos estándar,

80 y 443, podemos introducir otro puerto

a partir del 1024. Puede que tengamos que

habilitar este puerto en nuestro router.

Cuidar las AmistadesSkype es una solución VoIP práctica y

altamente funcional, para el uso

doméstico. Pero si preferimos el

software libre y los estándares abiertos,

o si nos preocupan los aspectos en

cuanto a seguridad, puede que optemos

por alguna otra alternativa entre las que

se discuten en este número. Y antes de

empezar a llamar a los amigos al otro

lado del mundo, ¡comprueba las zonas

horarias! �

Hablar…Para empezar, conectamos nuestros

auriculares a la tarjeta de sonido,

seleccionamos el nombre de la persona a

la que queremos llamar y pulsamos el

botón verde de llamada. El ordenador

llamado empezará a sonar, y el contacto

podrá aceptar la llamada. Si aparecen

problemas en la comunicación, podemos

empezar chateando. Para ello, pulsamos

con el botón derecho sobre nuestro

contacto y seleccionamos Start a Chat en

el menú (véase la Figura 3). A través de

este mismo menú podemos enviar a

nuestro amigo fotos o cualquier otro

archivo. Simplemente pulsamos con el

botón derecho, seleccionamos Send a file

y examinamos el PC en busca del archivo

a enviar. Sin embargo, este tipo de

transferencia de archivos es muy lenta.

Skype no está diseñado para la

transferencia de grandes volúmenes de

información.

Si tenemos problemas con la

comunicación porque el volumen es muy

bajo, oímos eco o no podemos escuchar a

la otra persona, esto puede ser debido a

un buen número de causas. En primer

lugar debemos verificar si los auriculares

están correctamente conectados.

¿Tenemos los controles de volumen

configurados adecuadamente? La página

Web de Skype [2] nos ofrece más ayuda,

aunque debemos señalar que la conexión

funciona generalmente sin tocar ninguna

configuración. Puede que oigamos eco

durante nuestra conversación, pero

podemos reducirlo bajando el volumen

del micrófono.

PORTADA • Skype

26 Número 16 W W W . L I N U X - M A G A Z I N E . E S

[1] Página de Skype: http://www.skype.

com

[2] Solución de problemas en Skype:

http://support.skype.com/

?_a=troubleshooter

[3] Lista de tarifas para llamadas a la

Red Telefónica Conmutada: http://

www.skype.com/products/skypeout/

rates/all_rates.html

RECURSOS

Figura 2: ¿Nuevo con Skype? Tendremos que

registrarnos en primer lugar. Para ello, intro-

ducimos nuestro nombre, dirección de email

y contraseña.

Figura 3: El menú de Skype nos

ofrece las funciones de chateo y

llamada, además de la de transfe-

rencia de archivos.

Page 27: Linux Magazine - Edición en Castellano, Nº 16

Una distribución live de Linux es

un sistema operativo completo

que arranca y funciona

exclusivamente desde un CD o DVD.

Podemos arrancar el sistema live Linux

en cualquier PC siempre que el sistema

soporte el hardware. Debido a que el

sistema live se ejecuta desde el CD o

DVD, estas distros no modifican el

contenido del disco duro.

Los usuarios de Windows que tengan

en mente cambiar a Linux pueden

probarlo sin tocar su configuración.

Podemos usar también una distro live

para comprobar si un ordenador

concreto soporta Linux o para recuperar

un sistema dañado.

Para arrancar un sistema live, sólo

tenemos que poner el CD o DVD en la

unidad y reiniciar. (Si esto no funciona,

acuda al cuadro titulado “Arranque

desde la unidad CD o DVD”).

Las mejores distribuciones live no

sólo se usan como demostración o con

objeto de recuperar sistemas. Muchos

sistemas live incorporan entornos

gráficos, suite ofimática, programas

para Internet (como navegadores,

clientes de correo y de mensajería

instantánea), y todas las herramientas

que podamos necesitar para trabajar en

Linux.

Aunque los sistemas live se diseñan

para funcionar sin tocar la

configuración permanente, muchos de

ellos pueden también instalarse en el

disco duro como cualquier otra

distribución Linux. Como los sistemas

live suelen ser menores y más simples

que los sistemas Linux normales, a

menudo resultan una solución ideal

para ordenadores viejos con discos

duros pequeños y recursos limitados.

Hemos localizado algunas de las

distribuciones live más populares y las

hemos puesto a prueba. Empezamos

con la más popular e influyente de

todas ellas, la famosa Knoppix. Puede

acudir también a la página de Linux

Magazine [1] para más información

relativa a la instalación permanente de

las distros comentadas en este artículo.

KnoppixKnoppix está considerada como LA

distribución live Linux. Fue la primera

distro en soportar una interfaz gráfica

con escritorio. Su creador, Klaus

Knopper, basó Knoppix en Debian [2].

Desde su primer lanzamiento, Knoppix

ha crecido en tamaño y en

funcionalidades. Por ejemplo, es posible

cargarlo entero en la RAM (si se

dispone de suficiente) y usar la unidad

de CD-Rom para leer otro CD. Knoppix

también permite pasarle un buen

número de comandos en el arranque,

por ejemplo, para configurar el idioma o

activar el framebuffer. Existe incluso un

comando para usar hardware braille.

27

Live Distros • EVALUACIÓN

27Número 16W W W . L I N U X - M A G A Z I N E . E S

Si pulsamos simplemente ENTER en la

pantalla de arranque, tras unos

instantes, nos encontramos ante KDE

3.4, con OpenOffice.org 2 beta, Mozilla

Firefox, The Gimp y otras aplicaciones

familiares para los fieles de Linux. La

nueva versión en DVD tiene una

increible cantidad de software,

incluyendo programas típicos en KDE

como Kopete, Kaffeine, K3B, KOffice y

Konqueror, así como los que incorpora

Gnome, como Evolution y Rhythmbox.

También encontraremos herramientas

para gráficos como Blender, Inkscape y

Sodipodi, programas multimedia como

Xmms y Xine, y un conjunto de

programas educativos. Se ha logrado un

sistema de escritorio de ensueño, basado

en CD y completamente funcional

gracias a un enorme trabajo en los

scripts que cargan los módulos y

programas, y que dan como resultado un

sistema que funciona con la precisión de

un reloj suizo.

Muchas otras distros live se basan en

Knoppix. Algunos de estos proyectos son

sólo optimizaciones, pero otros, como

Kanotix, incorporan valiosas

características. Klaus Knopper adopta a

menudo estas innovaciones de vuelta a

posteriores versiones de Knoppix.

SlaxLa principal idea tras el proyecto Slax es

proporcionar distintas pequeñas

Analizamos el panorama de las distros Live en Linux

LINUX LIVEAnalizamos el panorama de las distros Live en Linux

LINUX LIVE

Un buen número de distribuciones live de Linux te están

esperando en Internet. La elección correcta depende de tus

necesidades. POR FABRIZIO CIACCHI

Page 28: Linux Magazine - Edición en Castellano, Nº 16

BMP en lugar de Juk, Mplayer en

lugar de Kplayer y Abiword en lugar

de KOffice.

• Frodo edition- Frodo, orientada al

modo texto, es la edición “light” de

Slax, ha sido creada con la intención

de ser un sistema de recuperación

portátil que pueda alojarse en un CD

“tarjeta de visita”. (Existen otras

distribuciones, como

DammSmallLinux, que proporcionan

un entorno de trabajo completo en el

mismo espacio).

Las restantes versiones de Slax que

están aún en desarrollo son:

• Server edition- La edición Server de

Slax contiene programas usuales

para servidores como DNS, DHCP,

SMB, HTTP, FTP, MySQL, SMTP,

POP3, IMAP y SSH. Su lanzamiento

está próximo. Esta edición pretende

ser la navaja suiza de los hackers de

Linux. Contendrá las herramientas

más conocidas en el campo de la

seguridad informática, como sniffers

de red, sistemas de detección de

intrusos, etc.

• Professional edition- Esta última

edición será la unión de todas las

demás, la cual se pretende que tenga

cabida en un Mini DVD de 1.4 GB.

Esta versión incorporará también

gcc, make y las fuentes del kernel, lo

que permitirá al usuario compilar

cualquier software, incluyendo el

kernel de Linux.

Slax tiene algunas características

interesantes, como su sistema modular,

que facilita a los desarrolladores la tarea

de personalizar las diferentes versiones a

partir de una base común. Dicho sistema

modular también permite instalar

versiones especializadas de Linux a

partir de un mismo sistema base. De

momento se encuentran disponibles

cuatro versiones. (Aunque están

planeadas un total de siete). Todas ellas

tienen un tamaño menor a 185 MB, lo

que significa que Slax puede incluirse en

un Mini CD. Las versiones de Slax

disponibles de momento son:

• Standard edition- Un live CD Linux

rápido y fácil de usar. El proceso de

arranque no lleva más de un minuto,

y el sistema está listo para usar y es

fácil de configurar. Todo el software

está basado en KDE: Konqueror, Juk

como reproductor de música,

KPlayer como reproductor

multimedia, Kopete en mensajería

instantánea y KOffice en lugar del

más conocido OpenOffice.org.

• KillBill edition- Es muy similar a la

edición estándar, pero incorpora

algunos programas de emulación,

como QEMU, dosbox y WINE, para

ejecutar programas para Windows o

emular arquitecturas hardware.

Podemos instalar Internet Explorer

usando WINE o podemos probar una

CD ISO usando QEMU. (Hay un

excelente artículo referente a QEMU

en los archivos de Linux Magazine

[3]).

• Popcorn edition- La edición Popcorn

de Slax es similar a sus predecesoras:

muy fácil, muy rápida y muy limpia.

La característica fundamental de la

edición Popcorn es que KDE se ha

sustituido por XFCE, y esta

sustitución causa otros cambios en la

lista de aplicaciones. Encontraremos

EVALUACIÓN • Live Distros

28 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Para poder utilizar un live CD tendremos

que configurar nuestro ordenador para

que arranque desde la unidad de CD.

Muchos PC’s modernos arrancan desde

la unidad CD/DVD por defecto. Si nues-

tro sistema no arranca con el CD o el

DVD dentro de la unidad, debemos con-

sultar la documentación del fabricante o

fijarnos en la pantalla de arranque para

averiguar cómo entrar en el menú de

configuración de la BIOS. (Las instruc-

ciones pueden variar en función del fa-

bricante de la placa madre). Selec-

cionamos como primer dispositivo de

arranque nuestra unidad CD/DVD. Si

podemos elegir entre un lector CD y una

grabadora de CD/DVD, elegiremos la

primera, ya que, por regla general, esta

opción tiene mejor soporte para el

arranque. Guardamos los cambios en la

BIOS, introducimos el live CD y reini-

ciamos.

Recordemos que arrancar desde una

distribución Linux live no toca en abso-

luto nuestro sistema instalado. La única

manera de borrar datos del disco duro

es que manipulemos las particiones, por

lo que, si nos preocupa proteger nuestra

información, será mejor que no probe-

mos con las opciones que afectan al

disco duro, a menos que sepamos con

seguridad lo que estamos haciendo

Arrancar desde la Unidad CD o DVD

Figura 1: Knoppix 4 es una madura distribución live con una ingente

cantidad de aplicaciones.

Figura 2: Slax es una pulcro y veloz sistema Linux que ocupa muy

poco espacio.

Page 29: Linux Magazine - Edición en Castellano, Nº 16

software de manera fácil y rápida desde

la página Web de Slax. Si queremos crear

nuestro propio CD Slax, sólo tenemos

que añadir los módulos necesarios al

directorio /module. O, si queremos usar

un módulo “al vuelo”, podemos abrir un

terminal y teclear uselivemod

modulename.mo.

A menos que nos guste trabajar con vi,

puede que encontremos algunos

problemas al arrancar Slax en entornos

gráficos. En las ediciones Standard y

KillBill, es probable que tengamos que

recurrir a vi para editar el archivo

xorg.conf. vi ni siquiera se incluye en la

edición Popcorn, lo que puede causar

incluso más problemas. A pesar de estas

complicaciones, Slax es una de las

distribuciones live más potentes: es

rápida y fácil de instalar, y las diferentes

versiones cubren una amplia gama de

necesidades para distintos tipos de

usuario, si acaso con pequeños

problemas achacables a la juventud de

esta distro.

MepisMepis debe ser la única distribución

live basada en Debian que toma todo

su software del repositorio original de

Debian. El hecho de centrarse en

Debian es una gran ventaja para Mepis,

porque, en cierto sentido, Mepis ES

Debian. La desventaja es que el

software puede no estar tan actualizado

como en otras distribuciones.

Al contrario que Knoppix, que ofrece

la gama más amplia de software y

posibilidades, Mepis se concentra en

simplificar las opciones. Encontraremos

menos opciones para el arranque y la

detección del hardware, y, en general,

la filosofía de Mepis es ofrecer “lo

mejor de su categoría” en cuanto a

aplicaciones, en lugar de proporcionar

una variedad de programas que hacen

lo mismo. En consecuencia, se ha

ganado una merecida fama como

sistema simple y sencillo para los

principiantes a la hora de la instalación

y uso.

Mepis se ha convertido en uno de las

distribuciones Linux más populares y ya

tiene vida propia. La instalación es muy

sencilla, y el software incluido está bien

compensado. Es una solución

recomendable debido a su sólida base

(Debian), su vistosidad (KDE) y su

facilidad de configuración (con el Mepis

OS Center).

Mepis viene en tres versiones:

• SimplyMepis- Es la edición

estándar, con el mejor software para

el usuario Linux. SimplyMepis es

rápido, fácil de usar y fácil de

configurar. Incluye las aplicaciones

de escritorio básicas como

OpenOffice, The Gimp y demás. La

próxima versión (que se planea

lanzar pronto) vendrá con Xorg en

lugar de Xfree y con actualizaciones

de las aplicaciones de escritorio

(como OpenOffice.org 2.0 beta).

• MepisLite- Es la edición light de

Mepis, orientada a los ordenadores

más viejos y menos potentes. El

Live Distros • EVALUACIÓN

29Número 16W W W . L I N U X - M A G A Z I N E . E S

Distribution Página Web Última Versión Tamaño ISO Kernel Escritorio Suite Ofimática

Knoppix http://www.knoppix.net 4 700MB(CD) 2.6.12 KDE 3.4.1 OpenOffice 2 beta

3.2GB(DVD)

Slax http://slax.linux-live.org 5.0.6 47MB(Business Card CD) 2.6.12 KDE 3.4.1 KOffice 1.4

185MB(Mini CD)

Mepis http://www.mepis.org 3.3.1 700MB(CD) 2.6.12 KDE 3.3.2 OpenOffice.org 1.1.4

Kurumin http://www.guiadohard- 5.0 420MB(CD) 2.6.11 KDE 3.3.2 OpenOffice.org 1.1.2

ware.net/kurumin

Elive http://www.elivecd.org 0.3 660MB(CD) 2.6.11 Enlightenment OpenOffice.org 1.9.125

16 and 17

Zen http://www.zenlinux.org 1.2.3 1.1GB(Mini DVD) 2.6.11 Fluxbox 0.9.12 OpenOffice.org 1.1.4

Gnoppix http://www.gnoppix.org 1.0 650MB(CD) 2.6.10 Gnome 2.10 OpenOffice.org 1.1.3

Kanotix http://kanotix.com 2005-03 700MB(CD) 2.6.11 KDE 3.4.1 OpenOffice 2 beta

Arrancar desde la Unidad CD o DVD

Figura 3: La sencilla y práctica distribución Mepis está basada en

KDE.

Figura 4: Elive incluye el rapidísimo y atractivo gestor de ventanas

Enlightenment 17.

Page 30: Linux Magazine - Edición en Castellano, Nº 16

para salir del paso. Si instalamos Kurumin

en el disco duro, podemos configurar el

idioma que deseemos.

EliveEnlightenment es un entorno gráfico

experimental que se centra en la velocidad

y la flexibilidad. Desde el primer

lanzamiento hasta el número 16,

Enlightenment ha conseguido un entorno

gráfico realmente espectacular,

sacrificando en algunos casos la

usabilidad del sistema. La última versión,

la E17, mantiene los sensacionales

gráficos, con algo más de usabilidad y una

apariencia más limpia.

Cuando arrancamos la distro live Elive,

podemos elegir entre la E16 o la E17. La

vieja Enlightenment E16 puede parecer

algo extraña al usuario habitual de KDE o

GNOME. Enlightenment 17 es

definitivamente una opción con interfaz

gráfica más avanzada. Encontraremos una

barra de herramientas muy similar a la de

Mac OS X con lanzadores de programas, y

que destaca los iconos conforme pasamos

el ratón. Tenemos también disponible un

conjunto de applets, llamados módulos,

que verifican parámetros como la

temperatura y frecuencia de la CPU.

Elive es una de nuestras distros

favoritas del conjunto que hemos

probado, aunque sea sólo por el hecho de

que es un entorno gráfico realmente

innovador. Un consejo: si decide

instalarla, deberá actualizar

inmediatamente después de la instalación,

ya que algunos de los componentes que

funcionan desde el live CD no lo hacen

correctamente desde el disco duro.

Zen LinuxEl objetivo de Zen es proporcionar un

buen Linux live CD, que sea muy rápido

y con gran cantidad de software.

Desafortunadamente, no termina de

conseguir este objetivo. Es cierto que

incluye una buena cantidad de software

usuario ideal de esta versión es un

usuario de Windows 98 que quiere un

sistema operativo moderno y rápido.

Esta edición es una buena opción si

tenemos un Pentium II con 128 MB de

Ram.

• SoHoServer- La edición SoHo de

Mephis reduce en buena parte el

software multimedia, ofimático y de

gráficos, pero incluye programas para

servidor como Apache2, PHP4, Perl,

MySQL, ProFTPd, Bind, DHCPd,

Postfix, Dovecot, Shorewall, Squid,

DansGuardian, Webmin y Usermin.

Mepis es, en definitiva, una buena opción

para los usuarios que valoren la

simplicidad.

KuruminKurumin es una de las distribuciones más

apasionantes basadas en Knoppix. Para

empezar, Kurumin es muy rápida e

incluye una interfaz basada en KDE con

iconos Crystal enormemente atractiva. En

sólo 420 MB, Kurumin tiene todos los

programas que podamos necesitar, como

OpenOffice.org (llamado en este caso

KuruminOffice) 1.1.2, GIMP 2.2.6, Mozilla

Firefox, Thunderbird, Gaim, Skype,

aMSN, K3B, Kaffeine y Xmms. Kurumin

dispone de numerosas herramientas para

configurar adecuadamente el hardware o

algún programa en concreto.

Encontraremos también un intuitivo panel

que nos permite configurar el hardware.

Un problema que encontramos en esta

distribución fue que el arranque live

aparentemente sólo se podía realizar en

portugués, por lo que es probable que

necesitemos saber algo en esta lengua

EVALUACIÓN • Live Distros

30 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 5: Zen Linux incluye el gestor de ventanas Fluxbox y el admi-

nistrador de archivos ROX.

Figura 6: La distribución Gnoppix, basada en Gnome, incluye he-

rramientas como AbiWord.

La manera más habitual de obtener un

live CD es descargar la imagen ISO y

quemarla en un CD. Algunas de las he-

rramientas más conocidas para quemar

imágenes ISO son Easy CD Creator (para

Windows), Nero (para Windows/Linux)

o K3B (para Linux).

Linux incluye también herramientas

para grabar imágenes ISO desde conso-

la. Los comandos exactos pueden

depender de la configuración hardware

y de nuestro sistema Linux. Para grabar

una imagen de un CD, por ejemplo,

podemos teclear algo tal que:

$ cdrecord dev=/dev/hdc U

/path/image.iso

Donde hdc (o hdd) es nuestra grabadora

CD, e image.iso es el nombre del archivo

ISO (con la ruta, en su caso).

Para grabar un DVD, podemos probar:

$ growisofs -Z U

/dev/scd0=/path/image.iso

El proceso de grabación puede durar

desde 15 hasta 40 minutos, en función

del hardware y el rendimiento de nues-

tro sistema.

Quemar una imágen ISO

Page 31: Linux Magazine - Edición en Castellano, Nº 16

(por ejemplo The Gimp, OpenOffice y

otras aplicaciones estándar). Sin

embargo, la interfaz de usuario no es

demasiado intuitiva.

El sistema por defecto incluye el

gestor de ventanas Fluxbox y el

administrador de archivos ROX, con

gráficos azul metálico (y cursor azul

metálico). Esta elección no es mala,

pero cuando probamos una alternativa

como Xfce (que también se incluye), no

estaba en absoluto configurada, y esto

parecía ser síntoma de problemas

subyacentes. Zen, sin embargo, es la

única distribución que viene en formato

Mini DVD y con un conjunto de software

comparable a Knoppix.

Si queremos instalar Zen en nuestro

disco duro, debemos tener cuidado. Por

defecto, el instalador trata de instalarse

automáticamente borrando las

particiones. Si seleccionamos la

instalación personalizada, debemos

asegurarnos de lo que estamos

haciendo.

GnoppixGnoppix comenzó como un clon de

Knoppix que incluía Gnome en lugar de

KDE. El sistema Gnoppix ha crecido

desde entonces hasta convertirse en una

buena alternativa a Knoppix, aunque

con la explosión de cambios de la distro

Knoppix, Gnoppix ha quedado un poco

rezagada.

La llegada al estrellato de Ubuntu le ha

dado a Gnoppix una nueva oportunidad.

La distribución Gnoppix forma parte

ahora del proyecto Ubuntu. Este nuevo

papel supone también una cierta

limitación: Gnoppix está muy

relacionado con Ubuntu y no parece que

añada nada nuevo (en el sentido en el

que Knoppix añade características a

Debian). Gnoppix es principalmente una

versión live de Ubuntu Linux, pero al

menos es una buena herramienta para

comprobar si un sistema soporta

Ubuntu.

KanotixKanotix es un derivado de Knoppix que

se creó para proporcionar algunas

características que no ofrecía Knoppix.

Por ejemplo, Kanotix se lanzó con un

kernel 2.6, cuando en ese momento

Knoppix todavía usaba un kernel 2.4.

Con el último lanzamiento de Knoppix,

las diferencias entre estas distros se han

acortado, pero Kanotix sigue ofreciendo

algunas ventajas.

Una de sus características más

interesantes (que ha sido copiada por

otras muchas distros) es la

configuración del kernel. De hecho,

muchas distribuciones basadas en

Knoppix usan el kernel de Kanotix

porque permite una mejor detección del

hardware.

Uno de los proyectos basados en

Kanotix más prometedores es

SymphonyOS [4], una distribución live

de Linux que incluye un nuevo y

revolucionario entorno de escritorio

basado en FVWM.

ConclusionesLas distros live Linux proporcionan al

usuario una herramienta para

situaciones de emergencia y permiten a

los no usuarios de Linux probarlo antes

de instalarlo.

La elección del perfecto sistema live

Linux depende de nuestras necesidades.

Si estamos buscando un sistema ligero y

simple que sea fácil de instalar y tenga

una buena selección de lo “mejor de su

categoría” en cuanto a aplicaciones, el

ganador es Mepis. Knoppix, por otra

parte, es el padre de todas las

distribuciones live y es una buena

alternativa si queremos gran cantidad

de software y muchas opciones de

configuración. Para algunos usuarios

principiantes de Linux, Knoppix puede

que tenga demasiadas opciones.

Slax es otra prometedora distro con la

filosofía “menos es más”, pero aún

presenta algunos pequeños problemas

de juventud. �

Live Distros • EVALUACIÓN

31Número 16W W W . L I N U X - M A G A Z I N E . E S

[1] Consejos para instalación permanente: http://www.linuxmagazine.com/Magazine/

Downloads/63/LiveDistros

[2] Página oficial Debian: http://www.debian.org

[3] Emulación de sistemas con QEMU http://www.linux-magazine.com/issue/52/

QEMU_System_Emulation.pdf

[4] SymphonyOS: http://www.symphonyos.com

RECURSOS

Figura 7: Al igual que Knoppix, Kanotix incluye muchos juegos “clásicos”.

Fabrizio Ciacchi (http://fabrizio.

ciacchi.it) es un estudiante ita-

liano de Ciencias de la Com-

putación en la Universidad de

Pisa. Trabaja también como con-

sultor y escribe artículos sobre

Linux. En su tiempo libre, cola-

bora con el proyecto Abiword

(www.abiword.org).

EL AUTOR

Page 32: Linux Magazine - Edición en Castellano, Nº 16

32

EVALUACIÓN • OpenOffice 2.0

32 Número 16 W W W . L I N U X - M A G A Z I N E . E S

de ficheros basados en OASIS OpenDo-

cument [3]. Estos formatos están

estandarizados y documentados deta-

lladamente, y lo que es más, los vende-

dores de software han permitido su

implementación sin ninguna restricción.

La idea que persigue OpenDocument,

un conjunto de formatos de ficheros

estandarizados soportados por todos los

programas del mercado, es proporcionar

un soporte genuino para el intercambio

global de datos. La UE ya ha decidido

adoptar formatos de documentos abier-

tos y el estado norteamericano de Massa-

chusetts lo ha hecho obligatorio para

todas las oficinas públicas a partir de

2007.

Tanto KOffice como AbiWord soportan

OpenDocument y las versiones anterio-

res de OpenOffice 1.1.5 pueden leerlo. El

vendedor de software Softmaker se unirá

a finales de año. IBM/Lotus y WordPer-

fect han anunciado que harán con Open-

Document en versiones futuras.

Microsoft, desafortunadamente, ha

anunciado que no va a soportar Open-

Document en sus productos. En una

entrevista disponible en [4] con uno de

los arquitectos de OpenDocument, se

discuten las diferencias entre OpenDocu-

ment y el formato WordML de Microsoft.

Desde un punto de vista técnico, el

nuevo formato de fichero es muy similar

al formato de fichero OpenOffice ante-

rior; comprende un grupo de ficheros

XML almacenados en un archivo com-

primido.

ConfeccionadoLos usuarios de KDE, en particular, se

beneficiarán del retraso de la aparición

de OpenOffice. Aunque el plan original

era modificar su apariencia (en el

cuadro de diálogo de ficheros, por

ejemplo) para coincidir con Windows

y Gnome, sin embargo también se

beneficiarán de la solución orientada a

la plataforma. Esto es una gran ventaja

OpenOffice proporciona dos pro-

ductos: StarOffice, que es un pro-

ducto comercial de Sun [1] y

OpenOffice, que es un paquete gratuito

de software disponible en [2]. No existen

diferencias entre los paquetes ofimáti-

cos; pero Sun aporta una colección de

coloridos añadidos como fuentes, plan-

tillas y cliparts con StarOffice. OpenOf-

fice dispone de la mayoría de las fun-

cionalidades principales que los usuarios

esperan de una suite ofimática. La suite

OpenOffice viene con casi todas las dis-

tribuciones Linux y es una razón impor-

tante para su reciente crecimiento.

Cuando OpenOffice 2.0 apareció,

después de muchos meses de prelimi-

nares, echamos un vistazo para compro-

bar si realmente ha merecido la pena la

espera.

Formatos de FicherosEl cambio más significativo en OpenOf-

fice 2.0 podrían ser los nuevos formatos

Por fin: OpenOffice 2.0

LA LLEGADA DEOFFICE

Después de muchas versiones pre-

release y de informes preliminares, al

fin ha llegado el nuevo OpenOffice.

POR MICHAEL BONA

Page 33: Linux Magazine - Edición en Castellano, Nº 16

en comparación con la vetusta apa-

riencia del cuadro de diálogo de aper-

tura y cierre de la versión 1.1 (Figura

1).

En los demás aspectos, OpenOffice

2.0 se parece mucho más al paquete

Office de Microsoft que su predecesor.

Es probable que esto moleste a

algunos seguidores entusiastas, ya que

el cambio de versión implica adaptarse

al nuevo programa. Pero los cambios

no son tan malos como podrían pare-

cer cuando se les echa un vistazo

detallado. Además de lo nuevo,

todavía funcionarán los controles al

estilo MS Office, así como la mayoría

de los viejos trucos y operaciones.

A pesar de todas las dudas, la mayor

parte de los usuarios acomodados

probablemente apreciarán uno de los

cambios: OpenOffice 2.0 dispone

ahora de una herramienta brocha de

formato. Aunque la brocha es algo que

los expertos en el procesamiento de

textos odian, es de lo más popular

entre los usuarios casuales. Y las plan-

tillas de formatos aún están

disponibles para todos aquellos usua-

rios que prefieran mantenerse en sus

viejos hábitos.

WriterCon cada versión nueva, OpenOffice

se vuelve más compatible con

Microsoft Office, y la versión 2.0 no es

una excepción (Figura 2). De hecho,

2.0 ha realizado un gran salto con

respecto a la compatibilidad con MS

Office. Los Documentos que Open-

Office no puede

importar o expor-

tar son una

excepción.

Actualmente han

desaparecido los

problemas con

las listas enume-

radas y las tablas.

Las listas enu-

meradas pueden

importarse satis-

factoriamente y

Writer incluso

puede manejar

especialidades

Word, como las

líneas que cubren

más de una

página.

Los desarrolladores han perfec-

cionado la característica de

exportación como PDF. Esta función,

que está solamente disponible para los

usuarios de MS Office en forma de

añadido software de terceros, es capaz

de producir documentos PDF de alta

calidad en versiones previas. En este

momento la versión 2.0 añade soporte

para los thumnails de las páginas, for-

mularios PDF, hiperenlaces a pasajes

del texto en la tabla de contenidos y

enlaces en el texto. El nivel de compre-

sión para los gráficos es también con-

figurable por el usuario.

Desde luego, las mejoras van más

allá de las características de

importación y exportación. La utilidad

para contar palabras ya no se encuen-

tra escondida en las propiedades de la

página, sino

que sigue la

solución

adoptada por

Word con una

entrada en

Tools | Word

count. La fun-

ción puede

ahora contar

las palabras

dentro de una

selección, en

vez de todas

las palabras

del docu-

mento. Las

tablas ahora

pueden con-

33

OpenOffice 2.0 • EVALUACIÓN

33Número 16W W W . L I N U X - M A G A Z I N E . E S

tener subtablas y los saltos de páginas

pueden aparecer dentro de una línea.

Los textos de las tablas pueden ser

verticales, es decir, se pueden leer de

arriba a abajo. La orientación de abajo

a arriba, típica de las tablas, aún no

está soportada.

No todo el mundo verá el nuevo

Mail Merge Wizard como una mejora

(Figura 3). El asistente guiará a los

usuarios paso a paso por el proceso de

combinación de correspondencia, pero

por otro lado, dicho proceso requiere

más clics de ratón de los requeridos en

la versión anterior 1.1. Como nota

positiva, OpenOffice 2.0 ya puede

crear correos electrónicos en serie,

como su antecesor StarOffice 5.1 (La

característica de correos electrónicos

en serie no aparecía en la versión ante-

rior). Había que instalar la biblioteca

JavaMail para obtener esta caracterís-

tica.

Probablemente sea necesario ser un

abogado para entender por qué el dic-

cionario del corrector ortográfico no

esté incluido por defecto, pero se

puede descargar desde los servidores

de OpenOffice por medio de una

macro cuando se desee. El corrector

ortográfico es sencillo y versátil, ofre-

ciendo una selección de idiomas desde

Afrikaans a Zulu.

CalcEl cambio más obvio realizado sobre la

nueva versión de Calc es su parecido con

MS Excel. Los menús y las cajas de

herramientas son más o menos idénticos

a sus equivalentes de Excel. No hay

Figura 1: La versión 2 proporciona un soporte mejor para KDE. La

figura muestra a OpenOffice usando el cuadro de diálogo de ficheros

de KDE.

Figura 2: La última versión de OpenOffice Writer se parece aún más a

Microsoft Word.

Page 34: Linux Magazine - Edición en Castellano, Nº 16

y las plantillas de disposición, exhiben la

presentación y facilitan la navegación, así

como la edición. Las versiones anteriores

de Impress tenían botones realmente

pequeños para la mayoría de las fun-

ciones principales, pero puede dejar la

lupa en el escritorio con Impress 2.0.

Todas las funciones principales son clara-

mente visibles y fáciles de acceder. Esto

es particularmente cierto con la función

Start slideshow, que ahora se encuentra

en la parte superior derecha en un gran

botón, en vez de ocultarse detrás de un

bosque de iconos en miniatura en el lado

derecho.

El último Impress también propor-

ciona grandes mejoras para intercambiar

datos con MS Office. Impress soporta

ahora Microsoft AutoShapes, a las que se

refiere como CustomShapes en OpenOf-

fice, y puede importar formas sin causar

ningún daño. Las versiones previas con-

vertían las formas a gráficos, pero la ver-

sión actual mantiene la habilidad de

escalar y editar las formas. Esto es apli-

cable a las fuentes rotadas y modifi-

cadas. Impress también soporta más

efectos de transición y animaciones, así

que un fichero importado de PowerPoint

se parece bastante más al original. Como

su predecesor, Impress 2.0 puede expor-

tar a HTML y Flash.

La nueva GUI también tiene sus incon-

venientes: su aspecto es completamente

diferente al resto de los programas del

paquete. Esperemos que los desarro-

lladores encuentren la forma de añadir

barras de desplazamiento laterales a las

otras aplicaciones de OpenOffice.

BaseEn las versiones anteriores del paquete

OpenOffice no había un equivalente a la

base de datos MS Access. Aunque el soft-

ware poseía alguna funcionalidad de

bases de datos, estaba bien oculta. Para

cambiar esto, los desarrolladores han

agrupado la funcionalidad de bases de

datos en un programa nuevo, Base, junto

con una nueva GUI (Figura 6). Base

puede usarse como una interfaz para

acceder a bases de datos como MySQL o

PostgreSQL, pero también dispone de su

propia base de datos de fácil uso. Alma-

cena registros, formularios y consultas

muchos más cambios. El nuevo formato

puede manejar 65.536 líneas, como

Excel. Una de las mayores debilidades se

aprecia mejor en Calc que en cualquier

otra aplicación. OpenOffice 2.0 es aún

incapaz de manejar macros VBA. El

DataPilot [X] añade muchas habilidades

analíticas en comparación con su versión

predecesora (Figura 4). Pero aún hay

mucho que hacer: MS Excel PivotTables

pueden hacer más y son más fáciles de

usar.

Los expertos del teclado pueden

realizar más tareas sin el ratón. En las

versiones previas, se podría utilizar el

teclado para seleccionar celdas en una

tabla, pero hacía falta el ratón para dese-

leccionarlas. Esto ya no será necesario.

El mismo atajo de teclado [Ctrl]+[Shift]-

[Pageup] elimina una selección en la ver-

sión nueva. Ha sido eliminada otra debil-

idad: la abismal función de impresión. A

diez años de sus competidores, Calc

finalmente permite a los usuarios especi-

ficar cuántas páginas debe tener de

ancho y largo una copia impresa de la

hoja de cálculo.

ImpressEl programa de presentaciones Impress

ha sido rehecho completamente. Actual-

mente el GUI se parece tanto a Power-

Point que los usuarios podrían tener difi-

cultades para distinguirlos de un primer

vistazo. Sin embargo, esto no es un punto

negativo de Impress, y la nueva GUI es un

paso de gigante en la dirección adecuada

(Figura 5). Los thumbnails a la izquierda

EVALUACIÓN • OpenOffice 2.0

34 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 3: El Mail Merge Wizard requiere más pulsaciones de ratón, pero los pasos adicionales

hacen que la herramienta sea más sencilla para los usuarios noveles.

Figura 4: El nuevo Calc DataPilot dispone ahora de más opciones para el análisis de datos.

Page 35: Linux Magazine - Edición en Castellano, Nº 16

en un único fichero; no necesita un

servidor de bases de datos y permite un

intercambio fácil de datos con otros

usuarios.

Base viene con un asistente que ayuda

a los usuarios a crear bases de datos con

sus correspondientes formularios y con-

sultas. Es una aplicación bastante joven.

La GUI no es muy intuitiva y se “cuelga”

bastante a menudo. La versión actual de

Base es más una herramienta para usua-

rios casuales que no tienen que tratar

con grandes problemas. Por otro lado, el

GUI es bastante complejo para este tipo

de usuarios.

GenéricasOpenOffice 2.0 también incluye dos apli-

caciones menores: Draw, un sencillo pro-

grama de dibujo y Math, un editor de fór-

mulas. Ambas aplicaciones han sufrido

un gran cambio si se comparan con las de

las versiones previas, viéndose benefi-

ciadas por las mejoras genéricas de

OpenOffice. Por ejemplo, Draw puede en

este momento manejar CustomShapes,

como Impress.

En todas las aplicaciones de OpenOffice

se encuentran actualmente disponibles

muchas funciones importantes. Por ejem-

plo, la función de exportación en PDF

disponible en Writer también propor-

cionará ficheros PDF perfectos en todas

las otras aplicaciones de la suite.

Todas las aplicaciones soportan firmas

digitales para permitir a los receptores

comprobar el origen de un documento

con un cierto grado de confianza. La eje-

cución de macros también puede fir-

marse para probar su origen. Desafortu-

nadamente, la

documentación

para esta carac-

terística es bas-

tante escueta y

será mejor experi-

mentar para

aprender su fun-

cionamiento. No

hay soporte para

GPG, un método

de firma con bas-

tantes seguidores

entre los usuarios

Linux.

Los desarrolladores también están

empezando a reincidir en temas de

seguridad: La primera versión de

desarrollo de 2.0 establecía por

defecto el nivel de seguridad en “Muy

alto”; ahora el programa pregunta al

usuario antes de ejecutar una macro.

Aunque esto sea un paso más hacia la

compatibilidad con MS, puede ser que

se pregunte si OpenOffice realmente

tiene que emular todas las característi-

cas de MS.

ConclusionesLa nueva versión de OpenOffice se

centra obviamente en mejorar la inter-

operatividad con el paquete Microsoft

Office, y dando un gran salto en esta

dirección. OpenOffice 2.0 también

incluye modificaciones en el diseño de

la GUI para que les resulte más sen-

cilla a los usuarios su migración desde

MS Office. Al mismo tiempo, los cam-

bios podrían molestar a algunos de los

usuarios de OpenOffice.

El nuevo programa de bases de

datos, Base, aún necesita mejorar, pero

parece que promete. Esperamos con

gran expectación las próximas ver-

siones. La característica PDF de

OpenOffice es una buena baza que

hace que OpenOffice 2.0 sea una he-

rramienta potente para la creación de

documentos y formularios PDF.

El nuevo formato de ficheros es el

cambio más significativo de Open-

Office 2.0. El formato OpenDocument

promete gran compatibilidad, inter-

cambio de datos sin problemas y liber-

tad de elección. Todo en uno, los

desarrolladores han realizado un gran

trabajo con OpenOffice 2.0. Este

paquete ofimático puede realizarlo

todo mejor que sus predecesores, tal

como habría que esperar de cualquier

jovencito saludable de cinco años de

edad. �

OpenOffice 2.0 • EVALUACIÓN

35Número 16W W W . L I N U X - M A G A Z I N E . E S

Figura 5: Impress es capaz ahora de importar ficheros más complejos de PowerPoint sin

ningún problema. La figura muestra una presentación original de Microsoft sobre .NET.

Figura 6: La nueva herramienta de base de datos Base al fin propor-

ciona una base de datos para OpenOffice.

[1] Staroffice: http:// www.sun.com/

software/star/staroffice/index.jsp

[2] OpenOffice: http://www.openoffice.

org/

[3] OpenDocument: http://en.wikipedia.

org/wiki/OpenDocument

[4] Comparativa entre OpenDocument y

WordML: http://madpenguin.org/cms/

?m=show&id=5304

RECURSOS

Page 36: Linux Magazine - Edición en Castellano, Nº 16

36

EVALUACIÓN • CentOS

36 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Anteriormente a los sistemas operativosempresariales, los usuarios de GNU/Linuxtenían que actualizar sus sistemas cada añoo arriesgarse a perder la posibilidad deincorporar actualizaciones de seguridad.Los scripts hechos a medida o los progra-mas, a menudo dejaban de funcionar ocompilar tras las actualizaciones con lasnuevas versiones de Bash, GCC o python.

Diversos proveedores de GNU/Linuxrespondieron con los sistemas operativosempresariales para poner fin a este pro-blema. Un SO empresarial no cambia lasversiones de los componentes principalesde su software durante su ciclo de vida,creando por tanto un producto estable parausuarios que quieran crear sus procesosempresariales y mantenerlos establesdurante varios años.

Los sistemas operativos empresarialessiguen necesitando actualizaciones deseguridad cuando se encuentran proble-mas, pero no estropean cosas como losmódulos API de Apache o intercambian loscompiladores de C. Ambas, longevidad yestabilidad permiten a los usuarios invertiren software a medida y desarrollar prácti-cas empresariales sin preocuparse de quequeden obsoletas.

Los SO empresariales normalmentetienen un precio elevado, y su costeeconómico puede ser importante. Muchosde ellos, con un año de actualizaciones ysoporte telefónico, pueden costar entre 300y 2.500 dólares por año y servidor. Los

planes más caros tienen sus ventajas, comotiempos de respuesta menores y más horasde soporte telefónico.

La aparición de los SO empresariales dioal usuario otra opción. Éstos podían ahoraelegir entre:

1. Una distribución GNU/Linux conven-cional, gratuita (o de bajo coste), con ciclosde lanzamiento y soporte cortos.

2. Un SO empresarial de elevado precio,con ciclos de lanzamiento y soporte largos.

Recompilar ProyectosMuchos usuarios en la comunidad GNU/Linux comenzaron a preguntarse si seríaposible tener lo mejor de ambos mundos:un sistema estable con un ciclo desoporte largo, pero sin coste. Sorprenden-temente, GNU/Linux ya proporcionabaesa posibilidad. La mayoría de las dis-tribuciones se licencian bajo la GPLv2

El Community ENTerprise OperatingSystem, también conocido comoCentOS [1], es una alternativa libre

a los caros sistemas empresariales propor-cionados por empresas como Red Hat,SUSE y Mandriva. Hemos entrevistado a sujefe de desarrollo para que nos cuente quéhace a CentOS diferente.

¿Qué es un Sistema OperativoEmpresarial?Un sistema operativo para la empresa noestá diseñado para el usuario que busca “loúltimo de lo último” en software, con gráfi-cos espectaculares, los últimos kernels,montones de juegos y otras ñoñerías super-fluas. Muchas distribuciones GNU/Linuxcubren la demanda de “lo último de loúltimo”. Estas distribuciones se lanzan cada6 meses más o menos, y normalmenterequieren un trabajo constante de actua-lización debido a que el soporte va desa-pareciendo gradualmente con cada versiónnueva que aparece. Estas distros con “loúltimo de lo último” tienen generalmenteun ciclo de lanzamiento de 6 meses y unciclo de soporte de entre 12 y 18 meses.

Una distribución empresarial, por contra,tiene ciclos de lanzamiento y soportemucho mayores. Los sistemas operativosempresariales se diseñan con criterios delongevidad y estabilidad. Muchos de estossistemas operativos tienen ciclos de lanza-miento de entre 12 y 18 meses y ciclos desoporte en el rango entre 5 y 7 años.

CentOS GNU/Linux y la diferencia empresarial

EMPRESA LIBRECentOS GNU/Linux y la diferencia empresarial

EMPRESA LIBRELa estabilidad y longevidad de las distribuciones empresariales de

Linux cuestan su buen dinero…¿o no tanto? POR JOHNNY HUGHES

Muchos proyectos se basan actualmente

en CentOS, incluyendo:

• OpenFiler http://www.openfiler.org/

• SME Server http://smeserver.

sourceforge.net/HomePage

• RocksClusters http://www.

rocksclusters.org/

• Asterisk@Home http://asteriskathome.

sourceforge.net/

• BU Linux 4.5 Server Edition (Zodiac) de

la Universidad de Boston http://linux.

bu.edu/content/view/64/36/

• NewOnce Networks CentOS / Blue

Quartz Installation CD http://www.

nuonce.net/bq-cd.php

Derivados de CentOS

Page 37: Linux Magazine - Edición en Castellano, Nº 16

[2], que especifica que el código fuentedebe ponerse a disposición de quien losolicite. No dice que el software compi-lado deba darse gratuitamente, sino quela disponibilidad del código fuente es unprincipio fundamental de la GPL. Portanto, es posible coger el código fuenteproporcionado por la empresa y conver-tirlo en un sistema operativo plenamentefuncional. Esta perspicacia ha propiciadoel surgimiento de un nuevo tipo de dis-tribución GNU/Linux: el proyecto recom-pilado.

Un proyecto recompilado es una distroque recompila el código proporcionadopor una empresa que desarrolla un SOempresarial, y lo distribuye libremente.CentOS es un proyecto recompiladobasado en la prominente distribuciónNorth American Linux. Algunos otrosproyectos recompilados muy conocidosson: Scientific Linux [3], Tao Linux [4] yWhite Box Enterprise Linux [5].

Ambición EmpresarialCentOS es un proyecto de mayor enver-gadura y más elaborado que la mayoríade los demás proyectos recompilados. Elequipo de CentOS tiene 11 desarrolla-dores y su trabajo está disponible desdemás de 70 mirrors por todo el mundo[6].CentOS se encuentra disponible entres distribuciones principales: CentOS-2,CentOS-3 y CentOS-4. Soporta las arqui-tecturas x86, x86_64, S390, S390x, IA64,sparc, ppc, ppc64 y alpha. (La mayoría desus rivales soporta sólo x86 y x86_64).

Este enorme trabajo de los desarro-lladores de todo el mundo ha hechode CentOS un sistema operativo com-pletamente funcional que ocupa unhueco muy importante en elpanorama Linux. En la últimaencuesta de netcraft.com se estimaque CentOS se ejecuta en cerca de100.000 servidores Web. Esto lo sitúadentro de las 8 distribuciones GNU/Linux con más servidores Webdesplegados [7]. Además, es la únicadistribución empresarial gratuita de laencuesta.

CentOS está dentro del top 20 en elranking de distribuciones GNU/Linux yBSD de DistroWatch.com, la posiciónmás alta de un proyecto recompiladoempresarial.

¿Y qué podemos hacer conCentOS?Podemos usar CentOS para cualquierade las tareas que, de otra manera, ten-dríamos que asignar a solucionesempresariales comerciales. CentOSpuede reemplazar a los dominios ServerMessage Block (SMB) usando Samba(samba-3.0.10-1.4E.2). Al no existir yasoporte para Microsoft Windows NT [8],CentOS y Samba pueden usarse comoun SMB Domain Controller primario osecundario seguro, servidor de archivosSMB o servidor de impresoras SMB. Estasolución es especialmente prometedoracomo sustituto de un SMB si se usaOpenLDAP (openldap- 2.2.13-4) y lassmbldap-tools de IDEALX S.A.S [9].

El usuario puede hacer de CentOS unservidor de correo listo para funcionaren una empresa, servidor de dominios,servidor Web, servidor de archivos y sis-tema de base de datos, además decliente de escritorio. CentOS se usa tam-bién frecuentemente como servidor deISP, usando software ISP de terceroscomo cPanel, Ensim, Plesk and Vir-tuozzo.

Actualizaciones CentOSLos usuarios pueden obtener actualiza-ciones de la CentOS Network bien conUp2date (véase la Figura 1), bien conYum. Para más detalles, véase el docu-mento “Managing Software with Yum”[10]. Véase también el cuadro titulado“Ciclos de Soporte” para más informa-ción relativa al calendario de soporte deCentOS.

37

CentOS • EVALUACIÓN

37Número 16W W W . L I N U X - M A G A Z I N E . E S

Las actualizaciones de CentOS puedensurgir de dos maneras. El método más sen-cillo es con una nueva versión de unpaquete, tal y como se lanza por el man-tenedor de paquetes. Una segunda vía deactualización aparece cuando ocurre unconcepto denominado backporting. UnBackporting [13] es un proceso por el cualuna actualización de seguridad se aplica aun paquete existente en lugar de pasar a unpaquete más nuevo. El Backporting puedeusarse para corregir un problema de seguri-dad cuando el paquete nuevo pueda poneren peligro la estabilidad del sistema yainstalado. �

Figura 1: Administración de actualizaciones de

CentOS con up2date.

[1] CentOS.org: http://www.centos.org/

[2] GPLv2: http://www.gnu.org/copyleft/

gpl.html

[3] Scientific Linux: https://www.

scientificlinux.org

[4] Tao Linux: http://www.taolinux.org

[5] White Box Linux: http://www.

whiteboxlinux.org/

[6] Mirrors de CentOS:http://www.centos.

org/mirrors/

[7] Rankings de distribuciones: http://

news.netcraft.com/archives/2005/12/

05/strong_growth_for_debian. html

[8] Retirada de NT: http://www.microsoft.

com/ntserver/productinfo/availability/

retiring.asp

[9] IDEALX: http://www.idealx.org/prj/

index.en.html

[10] “Managing Software with Yum”:

http://mirror.centos.org/centos/4/docs/

html/yum/

[11] Documentación de CentOS : http://

mirror.centos.org/centos/4/docs/

[12] Repositorios de CentOS : http://mirror.

centos.org/centos/4/Readme.txt

[13] Backporting: http://www.redhat.com/

advice/speaks_backport.html

RECURSOS

CentOS proporciona el siguiente calen-

dario de ciclos de soporte:

• Centos-2: Actualizaciones completas

(incluyendo actualizaciones de hard-

ware): Este periodo finalizó el 31 de

Mayo de 2005. Actualizaciones de

mantenimiento: 1 de Junio de 2005

hasta 31 de Mayo de 2009.

• CentOS-3: Actualizaciones completas

(incluyendo actualizaciones de hard-

ware): Hasta 31 de Octubre de 2006.

Actualizaciones de mantenimiento: 1

de Noviembre de 2006 hasta 31 de

Octubre 31 de 2010.

• CentOS-4: Actualizaciones completas

(incluyendo actualizaciones de hard-

ware): Hasta 29 de Febrero de 2008.

Actualizaciones de mantenimiento: 1

de Marzo de 2008 hasta 29 de Febrero

de 2012.

Derivados de CentOS

Page 38: Linux Magazine - Edición en Castellano, Nº 16

38

EVALUACIÓN • Libros

38 Número 16 W W W . L I N U X - M A G A Z I N E . E S

mala pasada su inexperiencia

como autor. Smalltalk es un

lenguaje lo bastante alejado

de los lenguajes mainstream

como para resultar confuso

incluso al desarrollador

experimentado, y algunos de

los ejemplos que pretenden

ilustrar el lenguaje están

desafortunadamente elegidos. A pesar de

que Deck advierte que la curva de

aprendizaje de Smalltalk es empinada, las

tareas que escoge no siempre facilitan su

subida y personalmente las encuentro a

menudo insuficientemente explicadas.

La otra cosa que me chocó

negativamente del libro fue el exceso de

ilustraciones y cuadros en una

maquetación recargada, que hace casi

imposible seguir el texto explicativo. Es

común a lo largo del volumen

encontrarse con dobles páginas con no

menos de cuatro ilustraciones y/o

cuadros ¡en un libro con un formato de

A5! En estos casos, el cuerpo del texto

sus usuarios y desarrolladores, ya que Gil

no se limita a explicar el funcionamiento

del sistema, sino que se explaya en cierta

medida y de manera asequible sobre la

filosofía tras el movimiento Linux, dando al

lector un contexto que le permite ver no

sólo las ventajas técnicas de Guadalinex,

sino sus implicaciones sociales, morales y

de la comunidad.

Además, el manual ofrece una amplia

lista de recomendaciones que incluyen una

selección bibliográfica útil para neófitos, así

como una extensa webografía para quienes

desean profundizar más en este proyecto,

que se traduce en un completo listado de

enlaces, que van desde la enci-

clopedia online Wikipedia hasta

los repositorios de software en

SourceForge, y que permite al

lector trascender el manual

ayudándole a buscar informa-

ción más allá. Sin embargo,

falta un apéndice con un

glosario alfabético que ayudara

a encontrar rápidamente los

temas que le interesan buscan-

propiamente dicho a menudo

se reduce a ocho líneas, una

cantidad insuficiente para el

seguimiento de las

explicaciones. Entiendo que la

filosofía de Smalltalk se halla

asociada a su IDE gráfico,

pero una imagen no siempre

es mejor que mil palabras. Un

formato mayor y más contención a los

deseos de explicar con capturas todos y

cada uno de los pasos a dar hubieran

beneficiado a este título.

Deck es un gran programador, Editlin

es una editorial comprometida y

coherente y un libro más técnico sobre

Smalltalk/Squeak se echaba en falta.

Pero ésta es una idea buena malograda

por una ejecución a mi parecer

deficiente.

Autor: Diego Gómez Deck

Formato: 222 páginas, A5

Editorial: Editlin

ISBN: 84934371-3-1

Precio: 25,00 euros

do por el término clave, aunque es cierto

que el detallado índice ayuda en la loca-

lización de las materias que nos interese

consultar.

Otro aspecto negativo es el afán de evitar

a toda costa el uso de la terminal para no

intimidar al lector. Echo en falta una breve

introducción a la línea de comandos que

dote de los conocimientos básicos necesa-

rios para iniciarse en la explotación de las

poderosas herramientas que proporciona

este interfaz.

Es un libro de fácil lectura y asequible,

teniendo en cuenta al lector al que se

dirige, resultando ameno y didáctico gra-

cias a la abundancia de gráficos y de refe-

rencias a fuentes de Internet.

En suma, un libro muy recomendable

que, junto con la distro que describe, com-

pone un kit ideal para dar los primeros

pasos en un entorno Linux.

Autor: Quim Gil

Formato: 302 páginas, A5

Editorial: Editlin

ISBN: 84-934371-4-X

Precio: Por determinar

Programando con SmalltalkSi es admirable el esfuerzo que hacen las

instituciones por llevar el software libre a

todos los ámbitos, no es menos cierto que

es igualmente encomiable el trabajo que

hacen los desarrolladores individuales y

las empresas vinculadas al sector, muchas

de ellas de reciente creación, para la

difusión de las tecnologías libres.

A este respecto, especial atención

merece la editorial Editlin, que ha

asumido el reto de publicar títulos que

versan sobre tecnologías libres reclutando

sus autores de la cantera nacional. Ello le

ha llevado a convertirse en el vehículo

para dar a conocer el trabajo de los

individuos que alimentan el motor del

software libre en España.

Sin embargo, las buenas intenciones no

siempre derivan en buenos resultados, y

el título que nos ocupa es un ejemplo de

ello. Programando con Smalltalk no

alcanza las expectativas que me había

hecho con respecto a este título y creo

que a Diego Gómez Deck le juega una

Guadalinex v3. Iniciación alSoftware LibreDe nada serviría lanzar una distribución

Linux avalada por toda una junta

autonómica y esperar que lo adopte el

grueso de la población, si no se está dis-

puesto a invertir en la formación de los

potenciales usuarios. Y la piedra angular de

la formación es la documentación.

Todo esto viene a cuento de la obra que

nos ocupa, escrita por Quim Gil, y destina-

da a convertirse en el manual oficial de la

nueva versión de Guadalinex.

El libro, estructurado siguiendo un con-

tenido práctico en cuanto a aplicaciones,

resulta de gran utilidad si se

desea buscar algo en concreto.

Asimismo, hace un repaso

explicativo de los contenidos

libres así como de la conexión

mantenida con distintas comu-

nidades de desarrollo y grupos

de usuarios con los que entrar

en contacto si nos llama el

deseo de colaborar con la

comunidad del Software Libre,

LIBROS POR PAUL C. BROWN

Page 39: Linux Magazine - Edición en Castellano, Nº 16

Los viajantes y el personal en ofici-

nas remotas a menudo necesitan

acceder a las redes de sus empre-

sas desde lugares arbitrarios. Las redes

privadas virtuales (VPNs) soportan acce-

so remoto privado a través de Internet.

Las soluciones VPN utilizan criptografía

para proteger el tráfico de Internet de los

curiosos y de la manipulación. Sin

embargo, la mayoría de las herramientas

VPN son difíciles de configurar y

requieren cambios en el cortafuegos.

SSL-Explorer [1] supone una alternati-

va fácil. Configura una VPN basada en

web y sólo requiere un navegador que

soporte Java como cliente (Figura 1). Es

una herramienta Web práctica que pro-

porciona una interfaz de configuración.

Los túneles SSL-Explorer se basan en

protocolos TCP de red tales como SMTP,

POP y HTTP a través de una conexión

SSL protegida.

SSL-Explorer basado en Java se ejecu-

ta en sistemas Linux y Windows. Los

administradores pueden usar herramien-

tas remotas tales como SSH, SFTP, VNC,

Citrix y otros servicios de terminal para

controlar el sistema de forma remota. El

perfil de mantenimiento integrado añade

la habilidad de definir diferentes confi-

guraciones para múltiples puntos de

acceso. La extensión comercial Xtra de

3sp [2] aporta mecanismos de autenti-

cación (LDAP, PIN, SMS, Clave Pública),

así como soporte técnico y otras mejoras.

Base de Datos de UsuarioSSL-Explorer le proporciona su propia

base de datos de usuario para propósitos

39

SSL-Explorer • PRÁCTICO

39Número 16W W W . L I N U X - M A G A Z I N E . E S

de autenticación y adicionalmente

soporta autenticación central basada en

Active Directory. Posee características de

interoperabilidad, incluyendo soporte

para políticas y carpetas Web de

Windows. El soporte para servidores

LDAP está disponible con el paquete

comercial Xtra.

Figura 1: Configuración de un túnel con SSL-Explorer. Los usuarios pueden proteger protocolos

inseguros de los mirones.

Test: Una VPN con SSL-Explorer

CARRETERASPRIVADAS

SSL-Explorer proporciona una interfaz basada en web para configurar una red privada virtual.

POR HOLGER REIBOLD

SSL-Explorer proporciona una interfaz basada en web para configurar una red privada virtual.

POR HOLGER REIBOLD

Page 40: Linux Magazine - Edición en Castellano, Nº 16

EmpezandoUtilice HTTPS en su equipo local

(https://localhost/) para acceder a la

GUI. La contraseña por defecto para el

usuario admin es admin. Tras regis-

trarse, debería ver

cuatro menús:

Home,

Networking,

Services y Admin.

La primera vez

que ejecute el pro-

grama, la página

de inicio le pro-

porcionará adi-

cionalmente el

estado del cliente

VPN. La fun-

cionalidad del

cliente se requiere

para algunas fun-

ciones SSL-

Explorer. El botón

Launch ejecuta el

applet.

El menú Home

le permite confi-

gurar parámetros

como el manejo

de las configura-

ciones de los

usuarios. Home |

My Account |

Configuration le proporciona un formu-

lario con las configuraciones de usuario

(Figura 2). Los administradores pueden

configurar sus propias cuentas y crear

perfiles de usuario dedicados. El menú

Admin capacita para crear nuevos usua-

rios.

La configuración por defecto ofrece

dos perfiles, pero pueden añadirse más si

es necesario. Los perfiles le permiten

almacenar propiedades para varios esce-

narios. SSL-Explorer utiliza un acceso

basado en reglas de control del sistema

que posibilita a los administradores asig-

nar permisos de control con precisión.

En vez de asignar derechos individuales

a un único usuario, un administrador

puede asignar derecho a una regla y

luego asociar esa regla con un usuario.

Por ejemplo, puede configurar derechos

para usuarios en el departamento de

Marketing que serán distintos de los

derechos asignados a los usuarios en

Ventas.

Definir manualmente una regla no es

complicado. Sólo teclee el nombre en el

cuadro Create Role y haga clic en Create.

Esto añade una nueva regla a la lista. La

regla está resaltada en rojo para indicar

su estado de Revoked (anulada), así que

necesitará habilitarla antes de usarla. La

Necesita como mínimo una plataforma

Pentium III (1 GHz) y 512 MBytes de

RAM. El programa ocupa sobre 140

MBytes de espacio en disco. El archivo

Zip en [1] suministra un paquete RPM

que deja el fichero del programa en el

directorio /opt/sslexplorer. Para ejecutar

la herramienta de configuración basada

en Web simplemente se introduce /opt/

sslexplorer/setup-sslexplorer. La rutina de

instalación lanza una URL que le propor-

ciona la interfaz Web del SSL-Explorer,

que normalmente escucha en el puerto

28080.

Hay que configurar un número de

parámetros críticos en el modo de con-

figuración. La primera página se titula

Web Security. Le permite crear o impor-

tar certificados SSL. Si sólo quiere testear

el software, puede crear su propio certifi-

cado, pero deberá ser una clave CA

(Autoridad Certificadora) que todos los

navegadores reconozcan en entornos de

producción.

Tras completar la configuración, los

usuarios tienen tres opciones para ejecu-

tar el SSL-Explorer. El comando en Red

Hat Linux (que es oficialmente el único

soportado por la distribución) es service

sslexplorer start. Introduzca /etc/init.d/

sslexplorer console o posiblemente /opt/

sslexplorer/sslexplorer_console para otras

distribuciones.

PRÁCTICO • SSL-Explorer

40 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 2: El formulario de configuración de la cuenta permite al administrador manejar las

configuraciones de la cuenta.

Figura 3: SSL-Explorer soporta un gran rango de configuraciones de

seguridad.

Page 41: Linux Magazine - Edición en Castellano, Nº 16

herramienta de configuración Granular

le ayuda a editar las propiedades de las

reglas. Si está en una red con Active

Directory, puede importar configura-

ciones de grupos de usuario desde Active

Directory.

Cuentas de UsuariosLa opción en el menú Admin | Access

Control | Accounts le proporciona el mane-

jo de las características de la cuenta. Aquí

es donde los administradores asignan a los

usuarios las reglas. A pesar de todo, si está

creando una nueva cuenta o modificando

una existente, acabará en el mismo diálo-

go, que espera un ID de usuario, el nom-

bre completo y posiblemente una direc-

ción de correo.

SSL-Explorer le permite restringir el

acceso a una dirección IP específica. La

forma de especificar la dirección IP está

disponible en Admin | Access Control | IP-

Restrictions. El administrador puede per-

mitir o denegar el acceso a una dirección.

Para hacerlo, teclee una dirección IP en IP

Address. Para aplicar la configuración a

una subred completa, utilice una entrada

como 192.168.1.*. Tras añadir la direc-

ción, el formulario mostrará un nuevo

panel Current Rules, que listará las restric-

ciones y los permisos de las direcciones IP.

En las ReglasAdmin | Access Control le lleva a la pági-

na Security Options (Figura 3). El formu-

lario le permite crear y modificar clientes

VPN y configuraciones generales de

seguridad. Las configuraciones generales

de seguridad incluyen la opción de

escoger la base de datos, que tampoco

tiene el formato interno del SSL-Explorer

o del Active Directory.

Puede especificar el número de inten-

tos fallidos antes de deshabilitar la cuen-

ta, configurar la complejidad de la con-

traseña, asignar privilegios administra-

tivos a los usuarios y al grupo y permitir

o denegar conexiones multisesión. La

opción Strict checking del cliente VPN

también es una característica intere-

sante. Esta opción controla el acceso al

ordenador cliente bajo Java y configura-

ciones del sistema operativo.

SSL-Explorer ofrece una funcionalidad

simple de túnel. Puede utilizarlo para

proteger cualquier servicio TCP o confi-

gurar el acceso del correo basado en

POP3. Para utilizar la característica de

seguridad, el cliente basado en Web debe

ejecutarse en el lado del cliente. Los

usuarios apuntan sus navegadores al

sitio web del SSL-Explorer para sus pun-

tos de acceso VPN, y dependiendo de su

navegador, asigna privilegios adicionales

al applet de Java.

Otras CaracterísticasPara asegurar el tráfico POP3 entre el

cliente y el servidor, los admi-

nistradores necesitan acceso a la con-

figuración del túnel mediante

Networking | SSL Tunnels y luego

entrar el puerto del servidor de correo

(normalmente el 110), el nombre del

host y el puerto destino (otra vez, nor-

malmente el 110) en el formulario

Create Tunnel.

Haciendo clic en Add se configura el

primer túnel. Ahora los usuarios sólo

necesitan modificar su configuración

del servidor de correo del lado del

cliente para probar la configuración de

la VPN. Esto significa reemplazar la

configuración POP3 con localhost. El

cliente VPN instalado localmente y el

servidor VPN aseguran la conexión. El

procedimiento para la configuración

SMTP y otros servicios siguen el

mismo patrón.

El menú Network | Network Places

permite a los usuarios acceder al

entorno de red de Windows. Este

menú le autoriza a mapear la red com-

partida por los viajantes, los cuales

acceden a la red de la compañía me-

diante Internet. Otra característica

interesante incluye el acceso a los

repositorios basados en WebDAV y a

las extensiones basadas en XML.

ConclusionesSSL-Explorer proporciona control

basado en Web para conectividad

VPN. Los administradores profesio-

nales pueden perder las opciones de

configuración ofertadas por Openswan

y otras herramientas, pero para tareas

más simples, SSL-Explorer es más que

el trabajo. �

41Número 16W W W . L I N U X - M A G A Z I N E . E S

RECURSOS

[1] SSL-Explorer: http://sourceforge.net/

projects/sslexplorer

[2] Extensiones Comerciales: http://

www.sshtools.com/

showSslExplorerXtra.doFigura 4: SSl-Explorer muestra un simple cuadro de diálogo para crear un túnel desde el

cliente al puerto de otro equipo.

SSL-Explorer • PRÁCTICO

Page 42: Linux Magazine - Edición en Castellano, Nº 16

42

Creando un Centro Multimedia con Mpeg Menu System V2

MENÚS Y OPCIONES

PRÁCTICO • MPEG Menu System V2

42 Número 16 W W W . L I N U X - M A G A Z I N E . E S

de audio, reproducir películas desde el

disco duro y ver imágenes, todo sin tener

un reproductor especial en el escritorio.

MMSV2 tiene su propio sistema de

menús que proporcionan el acceso a las

funciones multimedia. El sistema Linux

puede utilizar la red para comunicarse y

acceder a servi-

dores, o actuar

él mismo como

un servidor.

Todo lo que se

necesita para

controlar el sis-

tema es un sim-

ple mando a

distancia. Y si

su máquina

multimedia es

lo suficiente-

mente potente,

puede incluso

sustituir el

reproductor de

DVDs, la radio

y el reproductor

MP3 de su

salón.

Compilando elReproductorAntes de que pueda disfrutar del

espectáculo multimedia, tendrá que

compilar MMSV2 desde los ficheros

fuentes [1]. Para la compilación se

necesitan las bibliotecas de desarrollo

imlib2, libalsaplayer, lirc y X11, junto

con las herramientas gcc, autoconf y

libtool. Si uno de estos componentes

no se encuentra disponible tras ejecu-

tar ./configure en el directorio del códi-

go fuente, el sistema nos lo indicará.

El siguiente paso es pasarle los

parámetros apropiados al script de con-

figuración. El programa tiene la opción

--help que proporciona una lista de

opciones. Hemos usado el comando

./configure --disable-dxr3

--enable-eject-tray --enable-mpeg

--enable-fancy-audio

--enable-fancy-movie --enable-sdl en

nuestro laboratorio. --disable-dxr3 desha-

bilita el soporte hardware DXR3. Si

dispone de una tarjeta decodificadora

MPEG, primero tendrá que configurarla.

El HOWTO en [2] detalla la configu-

ración de dicha tarjeta.

Si tiene un ordenador antiguo sin

usar en el sótano o en el trastero,

lo puede convertir en un centro

multimedia con el programa Mpeg Menu

System V2 [1] (MMSV2). MMSV2 per-

mite sintonizar su emisora favorita de

radio por Internet, escuchar MP3s y CDs

Uno se olvida de que está trabajando con un ordenador cuando navega por los ficheros de audio, imágenes y

videos favoritos con Mpeg Menu System. POR HAGEN HÖPFNER

Figura 1: El menú principal de MMSV2 muestra un resumen de todas las

funciones del programa.

Page 43: Linux Magazine - Edición en Castellano, Nº 16

Aunque el script de configuración se

ejecutó sin producir errores, nos fue

imposible compilar el paquete. La opción

de configuración --enable-fancy-audio

habilita las funciones de audio adi-

cionales que requieren otro grupo de bi-

bliotecas: pcre-devel, sqlite-devel y

taglib-devel. Si se establece --enable-sdl,

se necesitará además el paquete de

desarrollo SDL sdl-devel.

Se puede usar MMSV2 sin X11. En este

caso, el programa utiliza SVGAlib y

habrá que instalar los paquetes de desa-

rrollo SVGAlib. El parámetro del script de

configuración para esto es --enable-vgagl.

Las distribuciones actuales normal-

mente tienen reproductores multimedia

limitados. Como MMSV2 utiliza Xine o

MPlayer para reproducir los videos, el

reproductor soportará tantos formatos de

ficheros y medios como le sea posible.

Algunos expertos mantienen que los

derechos de copyright prohiben el uso de

herramientas que se salten los esquemas

de protección de los DVDs, CSS. Esta es

la razón por la que la mayoría de las dis-

tribuciones no incluyen la biblioteca

Libdvdcss necesaria para la reproduc-

ción de los DVDs.

Arriba el TelónCuando se ejecuta mms aparecerá un

aviso indicando que el programa no

tiene soporte para DXR3 y por ello

habrá que establecer un dispositivo de

salida alternativo. La opción -o sdl per-

mite seleccionar la salida SDL y -o

mpeg genera un fichero MPEG. Otra

opción de comienzo es el parámetro

-d, para ejecutar MMSV2 en segundo

plano. El parámetro -i especifica los

dispositivos de entrada posibles como

lirc para el control remoto y keyboard

para el teclado.

Como el acceso para escritura al

directorio /etc/mms está restringido al

usuario root, habrá que seleccionar

otro directorio para guardar las configu-

raciones personales o bien modificar

los permisos. Sería bueno empezar

copiando la configuración por defecto

con cp -R /etc/mms ~/.mms. El progra-

ma encuentra el directorio ~/.mms

sin ningún parámetro adicional.

Cuando se está copiando, también se

deberían copiar los temas y la fuente

Vera a su localización correcta. Esto se

consigue tecleando cp -R

/usr/local/share/mms/* ~/.mms. A

continuación, tecleando

mms -o sdl se ejecuta el

programa y se debería

ver el menú principal

mostrado en la Figura 1.

Se puede utilizar el

teclado para navegar por

el menú. Los cursores

arriba y abajo sirven

para moverse por él y

con Enter se seleccionan

los elementos. Si un

menú tiene elementos

subordinados, se pueden

pulsar los cursores dere-

cho e izquierdo para

acceder a ellos. Por

ejemplo, la opción

Reproducir audio desde

el disco duro tiene dos

elementos más:

Reproducir audio desde

el CD/DVD y Reproducir

audio desde la radio/red.

Asignando TeclasLas asignaciones de las

teclas están en el fichero

~/.mms/input-keyboard,

pero si se usa el mando a

distancia para navegar, el

fichero que se necesita es

~/.mms/input-lirc. Este

fichero de configuración

tiene una estructura sim-

ple. La mayoría de las

entradas en el fichero

input-keyboard tienen el

formato genérico

modo,comando,tecla.

MMSV2 tiene varios

modos. (General) los ata-

jos de teclado son válidos

en todos los modos; por

ejemplo, se usan las mis-

mas teclas para navegar en

la lista de reproducción y

en el menú principal. Y la

ayuda está siempre

disponible si se pulsa la

tecla [H]. Las tablas 1, 2 y

3 proporcionan un resumen de las asigna-

ciones de teclado más importantes.

Cuesta un poco acostumbrase al manejo

de los ficheros de audio. MMSV2 tan sólo

reproduce los ficheros de la lista de repro-

ducción. Si se opta por reproducir audio

desde el disco duro en el menú principal,

se muestra el árbol de directorios del sis-

43

MPEG Menu System V2 • PRÁCTICO

43Número 16W W W . L I N U X - M A G A Z I N E . E S

tema y se pueden usar los cursores para

navegar por él. Sin embargo, para ello, el

directorio con los ficheros de audio tiene

que listarse bajo audio_dir en el fichero de

configuración ~/.mms/config. Si se desea

permitir que MMSV2 muestre el disco

duro completo, tan sólo hay que añadir el

directorio raíz, /, a la lista.

Tecla Acción

UP Elemento de menú anterior

DOWN Elemento de menú siguiente

LEFT Elemento de submenú anterior

RIGHT Elemento de submenú siguiente

PGDOWN Subir rápidamente

PGUP Bajar rápidamente

END Salir del menú actual

ENTER Selecciona el elemento actual o

subelemento

H Ayuda

O Opciones

S Búsqueda

Tabla 1: Atajos de Teclado Generales

Tecla Acción

HOME Conmuta entre el modo actual y el modo

lista de reproducción

INS Cambia al visor de la lista de reproducción

3 Play

2 Pausa

1 Stop

6 Avance rápido

5 Retroceso rápido

8 Pista anterior

9 Pista siguiente

f Graves

g Agudos

m Silencio

p Muestra el menú con los comandos de la

lista de reproducción

Tabla 2: Atajos de Teclado para laReproducción de Audio

Figura 2: Presionando [I] se muestra la información de las

pistas.

Page 44: Linux Magazine - Edición en Castellano, Nº 16

Internet basándose en el título del

fichero. Pulsando [Enter] comienza la

reproducción de la película. Pulsando [I]

se le indica a MMSV2 que muestre la

información adicional (Figura 3).

Imágenes y Sonidos deFondoLos temas permiten modificar la aparien-

cia de MMSV2. Pueden encontrase tres

alternativas de diseño en el sitio web de

MMSV2 en [1]. Después de descargar el

archivo hay que descomprimirlo en

~/.mms/themes. En Options se selec-

ciona Themes/Skins para

escoger un esquema.

Ahora que MMSV2 sabe

dónde mirar para encon-

trar los archivos en el

disco duro, necesitará

conocer la ruta de la

unidad de CD o DVD.

Tuvimos que modificar las

entradas de cdrom y

cdrom_name de la unidad

combo de la máquina de

nuestro laboratorio. El fichero /etc/fstab

proporciona los valores, que fueron

cdrom = /dev/cdrecorder,

/media/cdrecorder y cdrom_name =

/dev/cdrecorder, dvd device para nuestra

máquina. Para permitir a los usuarios sin

privilegios acceder a la unidad, hay que

añadir user en el punto de montaje del

fichero /etc/fstab. Y para permitir a

MMSV2 abrir y cerrar la unidad en Suse,

hay que cambiar la ruta de la herramien-

ta eject en ~/mms/config a eject_path =

/bin/eject.

Si se quiere que MMSV2 utilice

Mplayer, es preciso colocar movie_player

= mplayer en el fichero de configu-

ración. La línea mplayeropts es para el

ajuste fino del reproductor. Para no tener

que especificar el dispositivo de salida

cada vez que se ejecuta MMSV2, se

puede añadir outdev = sdl en el fichero

de configuración. La zona de docu-

mentación del sitio web en [1] propor-

ciona una lista completa de parámetros.

Sin Gestor de VentanasTan sólo se requieren unos pasos para

ejecutar MMSV2 sin un gestor de ven-

tanas. Para ejecutar MMSV2 cuando

arranque la máquina en vez de KDE, hay

que crear un script en

/opt/kde3/share/apps/kdm/sessions/MM

SV2.desktop (véase el cuadro “Entrada

para el Escritorio”). Los usuarios con

Suse pueden realizarlo con Yast seleccio-

nando System|Editor for

/etc/sysconfig-Dateien|Desktop|DISPLAY-

MANAGER_AUTOLOGIN.

En la máquina de nuestro laboratorio

no funcionó el modo a pantalla completa

MMSV2 SDL. Para solucionar este pro-

blema, es necesario establecer el tamaño

de la imagen manualmente y no ejecutar

MMVS2 en modo de pantalla completa

(fullscreen = false en ~/.mms/config).

Es posible cambiar la resolución de

800x600 píxeles a 1024x768 píxeles en el

fichero de configuración cambiando las

líneas v_res = 1024 y h_res = 768. Esto

tiene el mismo efecto que seleccionar el

modo de pantalla completa. La combi-

nación con mplayer-opts = -cache 8192

-framedrop -fs le indica a Mplayer que se

ejecute en lo alto de la ventana MMSV2

y que muestre la película. El parámetro

-fs de Mplayer ejecuta el software en

modo de pantalla completa.

CréditosMMSV2 convierte cualquier máquina

Linux en un reproductor multimedia

multifuncional. Además del audio, el

vídeo y las imágenes, esta herramienta

puede controlar tarjetas de TV analógi-

cas y digitales, proporcionando a los

usuarios la comodidad de una guía de

programación electrónica (EPG).

Como contrapartida, no todas las ca-

racterísticas de MMSV2 funcionan la

primera vez que se utilizan, siempre es

necesario realizar unos cuantos ajustes

manuales para conseguir que el sistema

de menú de MMSV2 se ejecute y fun-

cione. �

Las variables mov_dir = /stuff/ para

las películas y picture_dir = /stuff/pic-

tures/ para las imágenes, funcionan de

manera similar. Si se poseen varios direc-

torios con ficheros multimedia en el

disco duro, se pueden utilizar varias

líneas.

Pulsando el cursor de la derecha en la

lista de medios se abre un subdirectorio.

El cursor de la izquierda navega al próxi-

mo directorio superior (regresa al direc-

torio más alto). Pulsando la tecla Enter

añade el contenido del directorio, o un

único fichero, a la lista de reproducción

(Figura 2).

Se puede utilizar la misma solución

para incluir las pistas de un CD de audio

a la lista de reproducción. Pulsando 3 se

reproduce la pista. Los atajos de teclado

de la Tabla 2 permiten el control del

reproductor.

Se pueden reproducir DVDs seleccio-

nando Play movie (DVD/(S)VCD).

Desafortunadamente el programa no

soporta los menús de DVD y esto signifi-

ca que la localización de la pista de la

película es una cuestión de ensayo y

error. Para ello, hay que ir a

Options|Movie Options|DVD track. Si se

desea reproducir ficheros de películas

desde el disco duro, MMSV2 intenta

recabar más información acerca de ella

en la base de datos de películas de

PRÁCTICO • MPEG Menu System V2

44 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 3: ¿De qué es la película? Presione [I]

para obtener una breve descripción.

Tecla Acción

7 Mueve la entrada actual arriba

4 Mueve la entrada actual abajo

DEL Elimina la entrada actual de la lista

q Añade la pista actual a la cola de

reproducción

BACKSPACE Borra la lista de reproducción actual

t Almacena la lista de reproducción actual

Tabla 3: Atajos de Teclado

para Playlist

01 [Desktop Entry]

02 Encoding=UTF-8

03 Type=XSession

04 Exec=/usr/local/bin/mms

05 TryExec=/usr/local/bin/mms

06 Name=MMSV2

07 Comment[de]=Mpeg Menu System V2

Entrada para el Escritorio

[1] MPEG Menu System V2:http://mms.

sunsite.dk/

[2] DXR3 & Hollywood Plus LogoLinux

DXR3 y Hollywood+ Driver Project

Howto: http:// dxr3.sourceforge.net/

howto.html

RECURSOS

Page 45: Linux Magazine - Edición en Castellano, Nº 16

Los formatos Postscript y PDF son

excelentes para visualizar e

imprimir documentos, pero si

alguna vez hemos intentado editarlos,

pronto habremos comprobado que

nuestras opciones son limitadas. Los

expertos dirán que el código Postscript

es editable como tal, pero si en alguna

ocasión hemos intentado editar un

archivo Postscript directamente, seguro

que hemos encontrado que no es la

manera más adecuada. pstoedit es una

herramienta en línea de comandos que

ofrece una solución sencilla al

problema de la edición de Postscript y

PDF.

45

Pstoedit • PRÁCTICO

45Número 16W W W . L I N U X - M A G A Z I N E . E S

InstalaciónSuse 9.3 tiene el binario de pstoedit

versión 3.33, pero si queremos instalar la

versión 3.42, tendremos que compilarla a

partir de su código fuente. Como la

nueva versión introduce muchos

cambios, lo mejor será optar por

compilar. Podemos descargar el código

fuente desde [3]. Además de gcc,

necesitaremos unos cuantos programas

más para controlar los formatos de

salida.

Para convertir de Postscript a EMF se

requiere la librería LibEMF [4]. Los

usuarios de Suse 9.3 también necesitarán

el paquete de desarrollo libEMF-devel.

Para localizar la librería podemos usar

bien Yast o una herramienta de búsqueda

de RPM como Pbone [5]. Los usuarios de

Debian Sarge pueden compilar LibEMF

ellos mismos. Si tenemos problemas

compilando la librería, nos ubicamos en

el subdirectorio /libemf que contiene los

archivos libemf.cpp y libemf.h.

Tecleamos el comando patch <

libEMF-1.0.fixes-2002-09-30.diff para

instalar el parche desde la página de

descarga de LibEMF en [6].

En caso necesario, podemos indicarle

a pstoedit cómo usar Graphicsmagick

Convertir archivos PS y PDF con pstoedit

EL CAMALEÓN

pstoedit nos permite convertir archivos Postscript y PDF a

formatos de imagen vectorial. POR HAGEN HÖPFNER

Los usuarios de Suse pueden

empezar ejecutando Yast para

instalar cvs, y luego conectarse al CVS

de Ming teclenado:

cvs -d:pserver:anonymous@U

cvs.sourceforge.net:U

/cvsroot/ming login

Pulsamos [Enter] cuando se nos pida

la contraseña. Si es la primera vez que

usamos cvs, repetimos este paso tras el

mensaje de error. A continuación

tecleamos:

cvs -z3 -d:pserver:anonymousU

@cvs.sourceforge.net:U

/cvsroot/ming co ming

Esto crea un subdirectorio con los

últimos archivos de Ming en nuestro

directorio de trabajo. Para compilar

Ming en Suse 9.3, necesitamos gcc y

gcc-c++, giflib-devel, libpng-devel,

bison, libjpeg-devel y flex. Para una

compilación sin errores, los usuarios

de Debian necesitan los paquetes

giflib-bin, libungif4-dev, giflib3g, bison,

flex, swig y libpng2-dev. Tecleamos

./configure && make && make install

para compilar e instalar.

Debemos asegurarnos de que

tenemos la versión 1.1.6 de

Graphicsmagick. Los usuarios de

Debian van a necesitar además el

paquete libperl-dev del repositorio Etch

para poder compilar. Ahora repetimos

los mismos tres pasos que hemos

usado para compilar e instalar Ming.

No debemos olvidar instalar plotutils

cuando acabemos. Esto nos permitirá

usar sus formatos de salida [9].

Instalar Ming y Graphicsmagick

Page 46: Linux Magazine - Edición en Castellano, Nº 16

Salvamos este problema con una

variante del bien conocido truco de los

tres pasos: ./configure

--with-libemf-include=/usr/include/lib

EMF && make && su -c "make install".

Los usuarios de Debian tendrán que

comprobar que el directorio libEMF

está realmente ubicado bajo

/usr/include. Si pstoedit no es capaz de

encontrar las librerías al arrancar,

tecleamos ldconfig en modo root para

actualizar los enlaces. El propio

pstoedit debería estar ubicado bajo

/usr/local/bin en nuestro disco duro.

¡Atrape a ese Tigre!El tigre mostrado en la Figura 1 es

habitual en los artículos que discuten

sobre Postscript. Podemos encontrar

este archivo en el directorio

/usr/share/ghostscript/8.15/examples/.

Suse 9.3 no tiene un auténtico archivo

Postscript con el tigre, pero

encontraremos una imagen EPS en su

lugar. Los usuarios de otras distros

puede que tengan que seleccionar otro

archivo de ejemplo, pero las

instrucciones son similares.

pstoedit, que se basa en Ghostscript,

admite como formatos de entrada PS,

EPS e incluso PDF. El número de

formatos de salida disponibles

depende de los módulos disponibles

para pstoedit. Básicamente, el

programa usa la siguiente sintaxis:

pstoedit INPUTFILE OUTPUTFILE

Por ejemplo, pstoedit tiger.eps tiger.emf

en Suse 9.3 crea una versión EMF del

tigre. Una vez que hemos convertido el

archivo a EMF, podemos importarlo a

OpenOffice y editarlo con Draw.

Bajo circunstancias normales, pstoedit

evalúa el nombre de archivo de salida

para decidir qué módulo usar. Si

tecleamos pstoedit tiger.eps tiger.fig,

estamos condenados al fallo, ya que le

damos al conversor demasiadas

alternativas. En lugar de un tigre en

formato Xfig, obtendremos una lista de

módulos disponibles y formatos que

puede generar. El tigre con formato Xfig

mostrado en la figura 2 se genera

tecleando

pstoedit -f plot-fig U

tiger.eps tiger.fig

El parámetro -f ayuda a pstoedit a

seleccionar el módulo correcto.

pstoedit no es sólo un conversor.

Existen diferentes parámetros de salida

que nos permiten modificar la imagen

resultante en la conversión. pstoedit

--help nos ofrece una lista exhaustiva de

opciones. La opción -xscale .5 genera

una imagen con la mitad del ancho que

la original, y -yscale 2 una imagen el

doble de alto que la original. Los

archivos Postscript a menudo

1.1.6 [7], una extensión del popular

paquete Imagemagick, y Ming [8]

(véase el cuadro “Instalar Ming y

Graphicmagicks”). El primero permite

a pstoedit convertir de Postscript a

cualquier formato gráfico soportado

por Graphicsmagick. Y Ming nos ayuda

a generar imágenes en formato SFW

Flash desde los archivos Postscript,

aunque esto requiere la versión CVS de

la librería de Ming.

Antes de iniciar la instalación de

pstoedit, descargamos primero las

fuentes desde [4]. Tras

descomprimirlo, editamos el archivo

configure, cambiando la siguiente

línea:

SPECIAL_CXXFLAGS=U

"-DBUGGYGPP U

-pedantic -Wall -Wwrite-strings

U

-Wcast-qual U

-Wpointer-arith "

a:

SPECIAL_CXXFLAGS= U

"-DBUGGYGPP -Wall U

-Wwrite-strings -Wcast-qual v

-Wpointer-arith "

Si la opción pedantic está habilitada, el

compilador rechaza compilar pstoedit

con la extensión de Graphicsmagick.

PRÁCTICO • Pstoedit

46 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figura 1: Haremos uso de este tigre Postscript para experimentar con

algunas características de pstoedit.

Figura 2: Xfig es el clásico editor de gráficos vectoriales en Unix y

Linux. pstoedit convierte archivos PS, EPS o PDF a formato FIG.

Page 47: Linux Magazine - Edición en Castellano, Nº 16

comprenden varias páginas. El

parámetro -split separa las páginas de un

archivo. Algunos módulos tienen

también opciones. Si usamos el módulo

fig para crear imágenes Xfig, en lugar del

módulo plot-fig, el parámetro -metric

cambia las unidades a centímetros, en

lugar de pulgadas, que es la medida por

defecto.

Curiosamente, pstoedit nos permite

crear programas a partir de archivos

Postscript. pstoedit tiger.eps tiger.tk

genera el applet Tk mostrado en la

Figura 3 a partir de la imagen del tigre, y

podemos ejecutar sh tiger.tk para iniciar

el applet. Si preferimos evitar los

lenguajes de script, podemos usar los

módulos java1 y java2, que nos permiten

generar código Java. Como alternativa,

podemos especificar tiger.swf como

archivo de salida para generar una

imágen en Flash.

Desafortunadamente, el soporte para

la extensión de Graphicsmagick no está

libre de errores en el momento de

escribir estas líneas. Por ejemplo, el

módulo interpreta que el archivo del

tigre se compone de dos páginas. Para

indicarle al módulo que genere una

imagen no vectorial (en formato JPG,

por ejemplo), tecleamos pstoedit -f

magick tiger.eps tiger%d.jpg. Podemos

simplemente cerrar la ventana que se

abre en este punto. El resultado son dos

archivos tiger1.jpg y tiger2.jpg, con el

felino en el primer archivo y nada en el

segundo.

Conclusionespstoedit es una poderosa herramienta

para convertir archivos a partir de

Postscript. Felicitaciones a Wolfgang

Glunz, que no sólo ha desarrollado

pstoedit, sino que ha proporcionado el

necesario soporte para la instalación. �

47Número 16W W W . L I N U X - M A G A Z I N E . E S

RECURSOS

[1] Página de pstoedit: http://www.

pstoedit.net/

[2] Información de Postscript: http://en.

wikipedia.org/wiki/Postscript

[3] Descarga de pstoedit: http://

prdownloads.sourceforge.net/

pstoedit/pstoedit-3.42.tar.

gz?download

[4] Página de LibEMF: http://libemf.

sourceforge.net/

[5] Motor de búsqueda de RPM: http://

rpm.pbone.net

[6] Parche de LibEMF: http://

sourceforge.net/tracker/download.

php?group_id=31968&atid=403913

&file_id=32104&aid=616742

[7] Página de Graphicsmagick: http://

www.graphicsmagick.org/

[8] Página de Ming: http://ming.

sourceforge.net/

[9] Página de Plotutils: http://www.gnu.

org/software/plotutils/

[10] Información de EPS: http://en.

wikipedia.org/wiki/

Encapsulated_Postscript

Pstoedit • PRÁCTICO

Figura 3: El tigre como programa Tk. pstoedit no sólo convierte Postscript en otros formatos

de imagen, también nos permite generar applets

Figura 4: Pstoedit es capaz de exportar a formatos propietarios como puede ser el formato

Adobe Illustrator (AI).

Page 48: Linux Magazine - Edición en Castellano, Nº 16

48

Plataforma P2P anónima y totalmente distribuida

MARABUNTAPlataforma P2P anónima y totalmente distribuida

MARABUNTA

PRÁCTICO • Marabunta

48 Número 16 W W W . L I N U X - M A G A Z I N E . E S

minos de anonimato y privacidad.

En Internet todas las comunicaciones se

registran (se “tracean”), por lo que cada

vez que conectamos a un servidor para

visitar una página web o para descargar

nuestro correo queda grabada información

esencial como

nuestra IP, lo

que al fin y al

cabo es de

forma unívoca

nuestra identi-

dad en la red.

Esta informa-

ción es almace-

nada en los

ficheros del re-

gistro de las

comunicaciones

de la empresa

que nos brinda

el servicio de

acceso a Inter-

net (ISP, Inter-

net Server

Provider) y del

servidor final

accedido.

Lo que está claro es que la privacidad

de los usuarios en la red es algo efímero,

y lo que es peor, el acceso a la informa-

ción puede ser fácilmente censurado

debido a su almacenamiento en unos

pocos servidores centralizados.

Marabunta intenta usar todos los nodos

de la red como máquinas enrutadoras de

paquetes (“routers”) de forma que cada

uno se comporta como un cliente y como

un servidor al mismo tiempo.

ObjetivoEl primer servicio implementado en la red

es una Lista de Mensajería Anónima. Hay

4 categorías principales: Filosofía, Tec-

nología, Política, General. La idea es que

cada nodo sea capaz de mandar mensajes

dentro de alguna de estas 4 temáticas al

resto de forma anónima. Esta tarea es

desarrollada por todos los elementos de la

red que se encargan de distribuir el men-

saje a los nodos a los que están conecta-

dos de forma directa mediante cone-

xiones P2P, eliminando la identidad del

inicial que mandó el mensaje a distribuir.

Además de comunicación anónima, la

plataforma creada por Marabunta usando

Internet se está convirtiendo cada día

más en un campo de batalla al hablar

de privacidad y censura en las comu-

nicaciones, debido a que los usuarios

empiezan a ser conscientes de que Inter-

net no es la “panacea” que se creía en tér-

Internet es una red mayoritariamente estructurada en sistemas centralizados, lo que da lugar a la estructura

“1 servidor para N clientes”, sin embargo Marabunta usa el potencial de cada uno de los nodos para crear

una red anónima totalmente descentralizada, haciendo que el modelo clásico P2P pueda extenderse de N a N

nodos (N2N). POR DAVID GASCÓN

Figura 1: Podemos ver cómo los nodos se conectan entre ellos usando

conexiones directas (P2P), de la misma manera que lo hacen los grupos

de éstos mediante la conexion de algunos de sus elementos con algunos

de otros grupos.

Internet es una red mayoritariamente estructurada en sistemas centralizados, lo que da lugar a la estructura

“1 servidor para N clientes”, sin embargo Marabunta usa el potencial de cada uno de los nodos para crear

una red anónima totalmente descentralizada, haciendo que el modelo clásico P2P pueda extenderse de N a N

nodos (N2N). POR DAVID GASCÓN

Page 49: Linux Magazine - Edición en Castellano, Nº 16

conexiones P2P entre los nodos propor-

ciona una red la cual es NO sensible a la

censura debido a que no existen servi-

dores centrales para gestionar el inter-

cambio de mensajes entre los nodos. De

esta forma, para “tirar” la plataforma

abajo tendrían que parar por completo el

funcionamiento de los Servidores de

Acceso a Internet (ISPs).

¿Cómo funciona?Primero tenemos que diferenciar los 2

algoritmos principales que hacen que

Marabunta se comporte como un cliente y

como un servidor.

Ambos algoritmos son procedimientos

que se ejecutan simultáneamente usando

una estructura en hilo (“thread execu-

tion”) y una zona de memoria compar-

tida.

Como un Servidor:

• Escucha a todos los nodos que

quieren acceder a la red: Petición de

Conexión

• Escucha a todos los nodos conocidos

(hermanos), los cuales necesitan que

se les distribuyan mensajes por la red:

Petición de Difusión de Mensaje

• Escucha a todos los nodos que necesi-

tan más conectividad para asegurar

su integridad en la red: Petición de

nuevos Hermanos

Como un cliente:

• Busca nuevos nodos para incrementar

la conectividad y la estabilidad en la

red: Búsqueda de Hermanos

• Mandar mensajes propios a la red:

Difusión de Mensaje

• Difusión de los mensajes en espera de

difusión provenientes de otros nodos

de la red: Retransmisión de Mensajes

• Envío de peticiones de búsqueda de

nuevos hermanos enviadas por otros

nodos: Retransmisión de Peticiones

de Búsqueda de Hermanos

Principio FundamentalCada nodo es tanto cliente como servi-

dor y realiza tareas de enrutado de la

información.

La idea es establecer conexiones direc-

tas (estructura P2P) entre grupos de

nodos para conseguir que todos los

nodos en la red sean accesibles a través

de diferentes rutas.

Una de las principales características

de Marabunta es que la comunicación

entre los nodos se realiza usando cone-

xiones UDP/IP. Este tipo de comunica-

ciones son no

orientadas a

conexión, lo

que es real-

mente intere-

sante en térmi-

nos de anoni-

mato debido a

que el origen de

un datagrama

UDP/IP no

puede ser

demostrado,

pues no nece-

sita confirma-

ción al punto

de conexión

que envió el

paquete,

haciendo de

Marabunta una

de las platafor-

mas de comuni-

cación que

mejor conser-

van el anoni-

mato de sus

usuarios.

El proceso de

descubrimiento

de nuevos

nodos en la red

es un elaborado

algoritmo, el

cual tiene en

cuenta dife-

rentes aspectos

para asegurar el

anonimato de

los nodos ya

presentes en la

red. Por ejem-

plo, en las fi-

guras 2 y 3 podemos ver cómo funciona

el proceso de búsqueda y conexión de

nuevos nodos. Cada nodo decide si dar a

conocer su identidad a un nuevo nodo o

no.

Ahora que ya sabemos qué es

Marabunta y cuál es su propósito, vamos

a ver cómo se maneja para poder con-

seguir conectarnos a la red o incluso

crear nuestra propia “subred” anónima.

Primeros PasosSe puede descargar el código fuente y los

binarios para la arquitectura i386 en [3] .

El paquete debian está en [4], aunque

se puede intentar descargarlo desde

49

Marabunta • PRÁCTICO

49Número 16W W W . L I N U X - M A G A Z I N E . E S

alguno de los repositorios oficiales

(actualmente está en proceso de promo-

ción).

CompilaciónSi decidimos compilarlo hemos de ase-

gurarnos de tener instalado en la carpeta

de “includes” del sistema los ficheros de

desarrollo de las librerías QT4.

Normalmente, las distintas distribu-

ciones GNU/Linux incluyen en el gestor

de paquetes predeterminado la posibili-

dad de instalar el entorno necesario para

la compilación : “qt4-development”.

Para compilar, seguiremos los pasos

habituales:

Figura 2: Cuando un nodo necesita una mayor conexión en la red manda

una petición de “busca hermanos” a los nodos ya conocidos para que lo

ayuden a conseguir una mayor conectividad.

Figura 3: Cada nodo decide entonces si darse a conocer al nuevo nodo

para ayudarle a tener una mayor conectividad o seguir siendo anónimo

para él.

Page 50: Linux Magazine - Edición en Castellano, Nº 16

cación está ejecutándose, o

la ruta habitual para los

ficheros de configuración

si hemos instalado el

paquete Debian: /etc/

marabunta/

marabunta.cfg.

Veamos cómo configurar

todos los parámetros desde

el interfaz gráfico. En la

Figura 4, vemos el panel

de Opciones Generales

donde podemos elegir el

directorio de trabajo

(home) para Marabunta, y

donde se almacenará toda

la información que genera

la aplicación, como los

mensajes recibidos en cada

una de los canales temáti-

cos, los fichero de log, etc.

Conexión a la RedLo primero de todo es que

hemos de conocer nuestra

IP pública y un puerto

UDP disponible. Normal-

mente el elegir un puerto

con un número alto como

6666 suele ser una buena

elección para evitar pro-

blemas con los privilegios

del sistema.

Si no sabemos nuestra

IP podemos presionar

sobre el botón de ¿Cuál es

mi IP? de forma que sea la

propia aplicación la que se

encargue de descubrirla

por nosotros, la podremos

ver en el panel de eventos

situado en la parte supe-

rior de la aplicación.

Antes de continuar te-

nemos que ver si el sistema está usando

también la IP pública o una privada.

Mediante el comando ifconfig obtenemos

la IP usada por el interfaz de red. Si esta

IP es la pública, coincidirá con la

obtenida por la aplicación y no es nece-

sario que hagamos ningún paso extra.

Sin embargo si no coinciden, significará

que estamos usando una IP privada, por

lo que nos estamos conectando a través

de un NAT (Network Address Translator).

En caso de que esto ocurra es bastante

probable que la IP devuelta por ifconfig

sea de la forma 192.168.xxx.xxx, aunque

no siempre es así.

Lo que tenemos que hacer para poder

conectarnos a la red es crear una ruta de

reenvío de paquetes UDP desde el router

hasta nuestra máquina (“Port Forwar-

ding”). Para ello hemos de acceder al

panel de Administración de nuestro

router, normalmente es posible hacerlo

vía web. Por ejemplo, si nuestra IP pri-

vada es de la forma 192.168.0.xxx es

probable que el gateway tenga la direc-

ción 192.168.0.254 o 192.168.0.1, de

todas formas podemos asegurarnos

mediante la información mostrada en el

campo gateway por el comando route.

Probamos entonces a acceder vía web

a la IP del gateway, si no podemos tal

vez sea porque haya que acceder a un

puerto distinto al estándar de conexiones

HTTP (80), o configurarlo mediante

conexión vía serie, por lo que lo mejor es

buscar información del modelo de router

que tenemos en la red.

Una vez llegamos al panel de Adminis-

tración tenemos que establecer una

nueva ruta PORT FORWARDING, con la

finalidad de que todos los paquetes que

vayan dirigidos a un puerto UDP con-

creto de la IP pública que está asignada a

nuestro router puedan sean redirigidos al

mismo puerto de nuestra IP privada.

Por ejemplo, si tenemos la IP privada

192.168.0.10 y queremos usar el puerto

6666 para las conexiones entrantes a

Marabunta tenemos que crear una regla

que diga: todos los paquetes con destino

el puerto 6666/UDP tienen que ser redi-

rigidos al puerto 6666/UDP de la IP pri-

vada: 192.168.0.10

Una vez tengamos este

problema resuelto

podemos pasar a la

configuración

propia de la apli-

cación. Ponemos

nuestra IP pública

y puerto en las

cajas de texto del

panel de Conexión,

como se muestra en la

Figura 5.

Ahora ya

podemos conec-

tar a la red. En

este momento

estamos

escuchando a

todas las conexiones

entrantes, y

podríamos empezar a

./configure

./make

Una vez que hayamos compilado el

código o instalado los binarios o el

paquete Debian, el primer paso es confi-

gurar las opciones de la aplicación.

Todas ellas pueden ser cambiadas desde

el interfaz gráfico o directamente desde el

fichero de configuración “marabunta.cfg”,

el cual se crea con las opciones por

defecto la primera vez que arranca la apli-

cación. El directorio donde se almacena

este fichero es el mismo en el que la apli-

PRÁCTICO • Marabunta

50 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Figure 4: Panel General de Opciones: podemos configurar

todas las opciones relacionadas con los directorios donde

salvamos la información que genera la aplicación.

Figura 5,: Panel de Configuración de Red: todas las opciones

para permitir la conexión de nuestro nodo a la red.

Page 51: Linux Magazine - Edición en Castellano, Nº 16

comunicarnos en el momento que se

conectara algún nodo a nosotros, sin

embargo si queremos además conectar a

la red ya existente tenemos varias alter-

nativas:

• Si sabemos la IP y puerto de un nodo

que ya forma parte de la red, simple-

mente lo añadimos en los campos de

información sobre hermanos ya

conocidos

• Si tenemos un fichero con informa-

ción (pares: IP-puerto) sobre nodos

que pudieran estar en la red, salva-

dos por ejemplo de una anterior

sesión de Marabunta, podemos car-

garlo mediante el botón Cargar

Fichero.

• Podemos presionar

sobre el botón Descar-

gar Nodos para con-

seguir información

sobre algunos

nodos con alta

probabilidad de

estar conectados a

la red

Una vez la aplicación

tiene una lista de

“nodos posibles” comen-

zará a intentar conec-

tar con ellos.

Podemos ver en

todo momento la

calidad de conexión

que tenemos en la red

mirando la barra de por-

centaje de conexión en la

cabecera de la aplicación.

Mandando yFiltrandoMensajes

Como ya hemos visto

anteriormente, el primer

servicio de Marabunta es

ser una plataforma que dé

servicio a una Lista de

Mensajes, la cual puede ser

configurarada desde el

panel de “Mensajería”, ver

Figura 6.

• La temática de los men-

sajes, nos permite

seleccionar qué tipo de

mensajes nos interesa

recibir

• El filtrado de contenido

nos permite elegir den-

tro de las categorías

seleccionadas los men-

sajes que contengan un

determinado patrón.

Supongamos por ejemplo que queremos

visualizar los mensajes sobre la mani-

festación de hubo en nuestra ciudad ayer

en contra de la política de algunos gobier-

nos por el uso de programas como Echelon

o Carnivore, (los cuales, por cierto, atentan

directamente contra la privacidad per-

sonal). Seleccionaríamos el canal de

Política con la palabra clave manifestación.

Es importante tener claro que este “fil-

trado” de la información está relacionado

únicamente con la información mostrada al

usuario, no con la información que trata la

aplicación, pues recordemos que continua-

mente está enrutando mensajes de otros

nodos para que se incluyan entre los elegi-

dos para ser visualizados o no.

Una buena forma de uso suele ser selec-

cionar la política de filtrado que queramos

y dejar la aplicación funcionando durante

horas, seleccionando además la opción de

almacenar los mensajes en un fichero de

forma que al final tengamos todos los men-

sajes en un fichero de texto y podamos leer-

los tranquilamente. Para especificar el nom-

bre del fichero donde volcar los mensajes

podemos ir al panel de Configuración

(Figura 4).

Creando nuestra propiaRed Anónima

En la Figura 5 vimos que una de las

posibilidades para conseguir conectar

con la red es descargar una lista de

nodos que han accedido a la red en un

intervalo de tiempo no muy grande,

por lo que hay altas probabilidades de

que sigan dentro.

Lo que ejecuta esta acción es una

consulta a un script escrito en PHP, el

cual ejecuta un algoritmo de anoni-

mato y privacidad sobre la informa-

ción disponible y genera la lista más

acertada de nodos disponibles.

Se puede descargar el script desde

[5]. Buscamos el fichero con extensión

.php.txt, lo cambiamos a .php y le

damos permiso de ejecución una vez

lo hayamos colocado en nuestro servi-

dor. El otro fichero marabunta.nodes

es donde se almacena la información

relacionada con los nodos a los que va

accediendo al script, por lo que ha de

tener permiso de escritura en el servi-

dor.

Ahora hemos de cambiar el fichero

de acceso al script PHP (nodos.txt), el

cual se encuentra en el mismo directo-

rio que el fichero de configuración de

la aplicación. Para conseguir que la

aplicación trabaje sólo con vuestro

servidor, será preciso borrar las URLs

existentes e insertar la que habéis ge-

nerado al subir el script PHP con el

fichero para almacenar la información

a vuestro servidor. �

Marabunta • PORTADA

51Número 16W W W . L I N U X - M A G A Z I N E . E S

David Gascón es estudiante de

Ingeniería Informática en el

Centro Politécnico Superior de

la Universidad de Zaragoza.

Actualmente se encuentra

desarrollando el proyecto final,

el cual versa sobre los sis-

temas de Anonimato en Redes

Wireless Ad-hoc. Contacta con

él en [email protected] o

visita su web en http://www.

laotracara.com.

EL

AU

TO

R

[1] Marabunta http://marabunta.

laotracara.com

[2] Apeiron (Redes Libres) http://apeiron.

laotracara.com

[3] Descargas de Marabunta: http://

marabunta.laotracara.com/descargas/

[4] Paquete Debian: http://marabunta.

laotracara.com/descargas/debian/

[5] Script para la generación de listas de

nodos: http://marabunta.laotracara.

com/descargas/phpNodos/

RECURSOS

Figura 6: Panel de Mensajes: Toda la información relacionada

con la temática y filtrado de los mensajes.

Page 52: Linux Magazine - Edición en Castellano, Nº 16

versión. Todo esto se hace de manera

transparente para el usuario. La Figura

1 muestra un usuario creando, y a

continuación, borrando un archivo

desde el intérprete de comandos. Sin

la magia de Perl, el archivo, myfile

habría pasado a mejor vida, pero

ahora podemos teclear noworries -l

myfile que nos indica que se creó una

copia de seguridad justo 17 segundos

antes. noworries -r 1.1 myfile rescata el

archivo y escribe su contenido en la

salida estándar.

El script no usa funciones manipu-

ladas de shell ni otros sucios trucos.

Por supuesto, una instancia del script

tiene que ejecutarse en segundo plano

(la opción -w ,de “watch”, se encarga

de esto) para iniciar la utilidad File

Alteration Monitor (FAM), que en

respuesta se suscribe a la interfaz del

kernel del sistema operativo Dnotify.

Cada vez que el sistema de archivos

crea, mueve o borra un directorio o

archivo, o se modifica el contenido de

un archivo, se notifica al kernel del

evento. El File Alteration Monitor

(FAM) le indica a Dnotify que está

interesado en lo que está pasando en

diversos directorios y recibe notifica-

ciones como respuesta. CPAN tiene un

módulo Perl (SGI::FAM) que traduce la

interfaz C de FAM a Perl. Está basada

en eventos y no requiere de sondeo

intensivo por parte de la CPU. Al lla-

mar al método next_event() se blo-

quea al demonio hasta que ocurra el

siguiente evento.

La Figura 2 muestra otro ejemplo.

En este caso se crea un archivo, y se

modifica dos veces en la misma línea.

El demonio recibe un mensaje para

cada evento y crea tres versiones de

los archivos en RCS (1.1, 1.2 y 1.3).

Tecleando noworries -l myfile se

mostrarán las tres versiones, aunque

el archivo se haya borrado mientras

tanto.

Si solicitamos la versión 1.2 con la

opción -r 1.2 y el nombre de archivo

file, noworries nos la recupera e

imprime su contenido por la salida

estándar. El comando de shell mostra-

do en la Figura 2 redirecciona la salida

hacia un archivo llamado file, que de

nuevo se versiona con el demonio. La

Durante las fases tempranas de

un proyecto, los desarro-

lladores suelen experimentar

con varias opciones, por lo que a veces

resulta demasiado precipitado guardar

prototipos en el sistema de control de

versiones. Si aún no hemos configura-

do un repositorio, o si no estamos de

acuerdo con su estructura, puede que

acabemos trabajando sin ningún tipo

de seguridad. En este caso, nuestro

código puede caer víctima de un fer-

voroso rm * o del comando de borrado

de nuestro editor.

El script Perl de este mes, noworries,

nos ofrece un control automático de

versiones. Cada vez que guardemos un

archivo con nuestro editor, y cada vez

que usemos el shell para manipular

archivos usando comandos como rm o

mv, un demonio escondido en segun-

do plano recibirá un mensaje. Al

recibirlo, coge el archivo nuevo o

modificado y usa RCS para darle una

DESARROLLO • Perl

52 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Detectar cambios en el sistema con Dnotify

RESCATE DEARCHIVOS

Detectar cambios en el sistema con Dnotify

RESCATE DEARCHIVOS

Este mes veremos cómo evitar la tragedia de la pérdida de archivos

con un sistema de control transparente basado en Perl.

POR MICHAEL SCHILLI

Page 53: Linux Magazine - Edición en Castellano, Nº 16

Figura 3 muestra la actividad del

demonio: para estar más seguros, el

demonio registra su actividad en el

archivo /tmp/noworries.log.

El script noworries cuida de los

archivos y directorios, sin importar lo

escondido que estén, bajo ~/nowor-

ries en el directorio de inicio del

usuario. Allí es donde normalmente

vamos a ubicar nuevos directorios o

extraer tarballs si deseamos proteger

nuestro sistema. El demonio crea una

estructura bajo ~/.noworries.rcs para

registrar los cambios tras las bambali-

nas. Cada subdirectorio contiene un

directorio RCS con las versiones de los

archivos, cuyos nombre terminarán en

v. RCS fue una herramienta de UNIX

desde sus comienzos y aún se usa para

los sistemas de control de versión

como CVS o Perforce. La siguiente

secuencia de comandos registra una

versión de file:

echo "Data!" >file

mkdir RCS

ci file

co -l file

El programa ci del conjunto de coman-

dos de RCS crea RCS/file,v en el forma-

to delta que usa RCS. El comando co

del final, en combinación con la

opción -l (de “look”), restablece la ver-

sión actual al directorio actual. Si

modificamos ahora file, y a conti-

nuación ejecutamos otra secuencia de

comandos ci/co, acabaremos con dos

versiones en RCS/file,v, que pueden

ser recuperadas por separado con co.

El programa rlog, otro miembro de la

familia RCS, nos permite visualizar los

metadatos de las versiones de los

archivos que hemos registrado.

El listado noworries (Listado 1)

define los nombres de estas he-

rramientas en las líneas 25 a 27. Si los

pasamos al script de esta

manera, debemos asegu-

rarnos que están ubicados

en nuestro PATH para per-

mitir a noworries que

pueda llamarlos. En caso

necesario, podemos codi-

ficar las rutas completas.

noworries usa las fun-

ciones mkd (crear directo-

rio), cp (copiar archivo),

cd (cambiar de directo-

rio), cdback (vuelve al directorio origi-

nal), y tap (ejecuta un programa y

recupera el resultado) que exporta

Sysadm::Install. Los lectores habi-

tuales de mi columna de Perl puede

que recuerden esto de [4].

Noworries Te VigilaAntes de que SGI::FAM pueda recibir

mensajes acerca de archivos modifica-

dos en un directorio, FAM tiene que

avisar al kernel de que quiere hacer

esto. Los sucesos se desencadenan tras

la llamada $fam->monitor(...) con

~/noworries como argumento, cada

vez que se crea un directorio o

archivo nuevo directamente en

~/noworries. Sin embargo, esto

no se aplica en los subdirectorios.

Por esta razón, SGI::FAM

arranca inmediata-

mente otro monitor

para los subdirec-

torios cada vez

que detecta que

se ha creado un

nuevo subdirec-

torio. Un truco

similar se aplica

si noworries

arranca cuando

ya existe una

estructura de

directorios muy

anidada bajo

~/noworries.

(Volveremos a esto

dentro de un

momento).

Si especificamos la

opción -w arrancamos

noworries en modo

demonio y se ejecuta el

bucle infinito definido en la

función watcher en la línea

88 del Listado 1. La llama-

da al método next_event()

en la línea 98 impide el flujo de ejecu-

ción hasta que ocurra uno de los cuatro

eventos monitorizados por FAM. Para

averiguar cuál de los potencialmente

muchos directorios activos ha sido, el

método which() de SGI::FAM, que es

llamado en la línea 101, devuelve el

directorio que ha causado el evento. El

método del evento filename() devuelve

el nombre del objeto nuevo, existente,

modificado o borrado, que puede ser

un directorio o un archivo.

El método type() nos devuelve el tipo

de evento. Los tipos en los que nowo-

rries está interesado son crate y change.

El método monitor() añade nuevos

directorios a la lista de cosas a vigilar,

mientras que la función check_in()

definida en la línea 170 controla los

archivos nuevos o modificados. Un

método similar se usa para añadir

directorios. El demonio utiliza find para

localizar directorios cuando se inician,

suponiendo que ~/noworries ya existe.

La función de apoyo subdirs() de la

línea 153 excava hondo por el árbol de

directorios y devuelve cualquier

directorio que

encuentre sin

importar lo anida-

do que pueda estar.

La función watch_subdirs()

itera sobre todos ellos y

pasa las rutas relati-

vas a FAM para su

seguimiento. La

sección de docu-

mentación de la

línea 266 no está sólo para

que el usuario obtenga

una página de manual

adecuadamente formatea-

da cada vez que la llame

con perldoc noworries.

También es la salida de la

función pod2usage(), si el

usuario no es capaz de

proporcionar las opciones

necesarias en línea de

comandos. No tiene

mucho sentido versionar

temporalmente los

archivos de vi o emacs,

por lo que se filtran en las

líneas 107 a 112.

Cuando un archivo

tiene que registrarse en el

sistema de control de ver-

siones, check_in en la

Perl • DESARROLLO

53Número 16W W W . L I N U X - M A G A Z I N E . E S

Figura 1: El demonio en Perl trabaja “tras bastidores” para

ofrecer un seguro de vida a los archivos por si son borrados

por el usuario.

Page 54: Linux Magazine - Edición en Castellano, Nº 16

las opciones -t y -m. La pasa el valor -

a ambos, ya que el primero y subsi-

guientes comentarios de registro no

tienen sentido. Pero tenemos que darle

a ci algo para procesar, para evitar un

prompt interactivo. La línea 204 com-

prueba la salida del archivo, como se

describió anteriormente. La siguiente

vez que ocurra un cambio, la copia

verificada se sobrescribe, y se registra

la nueva versión con ci.

¿Qué Día es Hoy?

noworries llama a la función de RCS

rlog para averiguar qué versiones de

línea 170 verifica primero que es un

archivo de texto. check_in descarta los

archivos binarios en la línea 174. Se

llama a la función con una ruta relati-

va a ~/noworries, ya que es donde

salta watcher() en la línea 90. La línea

189 copia la fila original al árbol RCS,

y la línea 195 llama al programa ci con

DESARROLLO • Perl

54 Número 16 W W W . L I N U X - M A G A Z I N E . E S

001 #!/usr/bin/perl -w

002 #############################

003 # noworries -

004 # [email protected]

005 #############################

006 use strict;

007 use Sysadm::Install qw(:all);

008 use File::Find;

009 use SGI::FAM;

010 use Log::Log4perl qw(:easy);

011 use File::Basename;

012 use Getopt::Std;

013 use File::Spec::Functions

014 qw(rel2abs abs2rel);

015 use DateTime;

016 use

017 DateTime::Format::Strptime;

018 use Pod::Usage;

019

020 my $RCS_DIR =

021 "$ENV{HOME}/.noworries.rcs";

022 my $SAFE_DIR =

023 "$ENV{HOME}/noworries";

024

025 my $CI = "ci";

026 my $CO = "co";

027 my $RLOG = "rlog";

028

029 getopts( "dr:wl",

030 \my %opts );

031

032 mkd $RCS_DIR

033 unless -d $RCS_DIR;

034

035 Log::Log4perl->easy_init({

036 category => 'main',

037 level => $opts{d}

038 ? $DEBUG

039 : $INFO,

040 file => $opts{w} &&

041 !$opts{d}

042 ? "/tmp/noworries.log"

043 : "stdout",

044 layout => "%d %p %m%n"

045 }

046 );

047

048 if ( $opts{w} ) {

049 INFO "$0 starting up";

050 watcher();

051

052 } elsif(

053 $opts{r} or $opts{l} ) {

054

055 my ($file) = @ARGV;

056 pod2usage("No file given")

057 unless defined $file;

058

059 my $filename =

060 basename $file;

061

062 my $absfile =

063 rel2abs($file);

064 my $relfile =

065 abs2rel( $absfile,

066 $SAFE_DIR );

067

068 my $reldir =

069 dirname($relfile);

070 cd "$RCS_DIR/$reldir";

071

072 if ( $opts{l} ) {

073 rlog($filename);

074 } else {

075 sysrun(

076 $CO, "-r$opts{r}",

077 "-p", $filename

078 );

079 }

080 cdback;

081

082 } else {

083 pod2usage(

084 "No valid option given");

085 }

086

087 #############################

088 sub watcher {

089 #############################

090 cd $SAFE_DIR;

091

092 my $fam = SGI::FAM->new();

093 watch_subdirs( ".", $fam );

094

095 while (1) {

096 # Block until next event

097 my $event =

098 $fam->next_event();

099

100 my $dir =

101 $fam->which($event);

102 my $fullpath =

103 $dir . "/" .

104 $event->filename();

105

106 # Emacs temp files

107 next

108 if $fullpath =~ /~$/;

109

110 # Vi temp files

111 next if $fullpath =~

112 /\.sw[px]x?$/;

113

114 DEBUG "Event: ",

115 $event->type, "(",

116 $event->filename, ")";

117

118 if ( $event->type eq

119 "create"

120 and -d $fullpath ) {

121 DEBUG "Adding monitor",

122 " for directory ",

123 $fullpath, "\n";

124 $fam->monitor(

125 $fullpath);

126 }

127 elsif ( $event->type =~

128 /create|change/

129 and -f $fullpath ) {

130 check_in($fullpath);

131 }

132 }

133 }

134

135 #############################

136 sub watch_subdirs {

137 #############################

138 my ($start_dir, $fam) = @_;

139

140 $fam->monitor($start_dir);

141

Listado 1: noworries

Page 55: Linux Magazine - Edición en Castellano, Nº 16

un archivo están disponibles. rlog

devuelve los números de versión con

la fecha (en formato yyyy/mm/dd

hh:mm:ss) y también revela el número

de líneas que han cambiado en com-

paración con la versión anterior.

Obviamente, no puede dar esta infor-

mación de la versión inicial, pero sí se

nos indica que la versión 1.2 tiene

lines: +10 -0, esto significa que hay 10

nuevas líneas en comparación a la 1.1,

y que no se ha borrado ninguna.

El módulo DateTime de CPAN nos

ayuda tremendamente con los cálculos

de fechas. El módulo

DateTime::Format::Strptime analiza la

información de fechas de RCS, y con-

vierte el valor a segundos transcurri-

dos desde el 1 de enero de 1970. Para

hacer esto, el constructor espera

recibir un cadena con el siguiente for-

mato: “%Y/%m/%d %H:%M:%S”, y

la llamada a parse_datetime()

devuelve un objeto DateTime comple-

Perl • DESARROLLO

55Número 16W W W . L I N U X - M A G A Z I N E . E S

142 for my $dir (

143 subdirs($start_dir) ) {

144 DEBUG "Adding monitor ",

145 "for $dir";

146 $fam->monitor($dir);

147 }

148

149 return $fam;

150 }

151

152 #############################

153 sub subdirs {

154 #############################

155 my ($dir) = @_;

156

157 my @dirs = ();

158

159 find sub {

160 return unless -d;

161 return if /^\.\.?$/;

162 push @dirs,

163 $File::Find::name;

164 }, $dir;

165

166 return @dirs;

167 }

168

169 #############################

170 sub check_in {

171 #############################

172 my ($file) = @_;

173

174 if ( !-T $file ) {

175 DEBUG "Skipping non-",

176 "text file $file";

177 return;

178 }

179

180 my $rel_dir =

181 dirname($file);

182 my $rcs_dir =

183 "$RCS_DIR/$rel_dir/RCS";

184

185 mkd $rcs_dir

186 unless -d $rcs_dir;

187

188 cd "$RCS_DIR/$rel_dir";

189 cp "$SAFE_DIR/$file", ".";

190 my $filename =

191 basename($file);

192

193 INFO "Checking $filename",

194 " into RCS";

195 my ($stdout, $stderr,

196 $exit_code) = tap(

197 $CI, "-t-",

198 "-m-", $filename

199 );

200 INFO "Check-in result: ",

201 "rc=$exit_code ",

202 "$stdout $stderr";

203

204 ($stdout, $stderr,

205 $exit_code) = tap(

206 $CO, "-l", $filename);

207 cdback;

208 }

209

210 #############################

211 sub time_diff {

212 #############################

213 my ($dt) = @_;

214

215 my $dur =

216 DateTime->now() - $dt;

217

218 for (

219 qw(weeks days hours

220 minutes seconds)) {

221 my $u =

222 $dur->in_units($_);

223 return "$u $_" if $u;

224 }

225 }

226

227 #############################

228 sub rlog {

229 #############################

230 my ($file) = @_;

231

232 my ( $stdout, $stderr,

233 $exit_code )

234 = tap( $RLOG, $file );

235

236 my $p =

237 DateTime::Format::Strptime

238 ->new( pattern =>

239 '%Y/%m/%d %H:%M:%S' );

240

241 while ($stdout =~

242 /^revision\s(\S+).*?

243 date:\s(.*?);

244 (.*?)$/gmxs) {

245

246 my ($rev, $date, $rest)

247 = ($1, $2, $3);

248

249 my ($lines) = ($rest =~

250 /lines:\s+(.*)/);

251 $lines ||=

252 "first version";

253

254 my $dt =

255 $p->parse_datetime(

256 $date);

257

258 print "$rev ",

259 time_diff($dt),

260 " ago ($lines)\n";

261 }

262 }

263

264 __END__

265

266 =head1 NAME

267

268 noworries - Dev Safety Net

269

270 =head1 SYNOPSIS

271

272 # Print previous version

273 noworries -r revision file

274

275 # List all revisions

276 noworries -l file

277

278 # Start the watcher

279 noworries -w

Listado 1: noworries

Page 56: Linux Magazine - Edición en Castellano, Nº 16

objetivo también está ejecutando FAM.

En caso contrario, sondea el destino a

intervalos regulares y esto provoca que

el sistema completo sea ineficiente.

InstalaciónDebemos instalar los módulos

SGI::FAM, Sysadm::Install, DateTime,

DateTime::Format::Strptime, y

Pod::Usage de CPAN. Un CPAN Shell

nos ayudará a resolver las dependencias

con rapidez. Si observamos un error tal

que FAM.c:813: error: storage size of

'RETVAL' isn't known al compilar

SGI::FAM, debemos cambiar la línea 813

de FAM.c de enum FAMCodes RETVAL a

FAMCodes RETVAL. Ejecutamos de

nuevo make y debería funcionar.

Para asegurarnos que el demonio está

siempre ejecutándose, añadimos una

línea similar a x777:3:respawn:su

mschilli -c "/home/mschilli/bin/nowor-

ries -w" a /etc/inittab, y a continuación

se lo hacemos saber al demonio Init eje-

cutando init q. El proceso tiene que eje-

cutarse con la ID del usuario en uso,

(mschilli en este caso), para asegurar

que $ENV{HOME} en el script apunta al

directorio de usuario correcto. También

en este caso, el proceso init arranca el

demonio noworries cuando encen-

demos el ordenador, y la opción

respawn asegura que el proceso se

reinicia inmediatamente si por algu-

na razón termina inadvertidamente.

Pero antes de hacer todo esto,

debemos probar el demonio desde

línea de comandos para ver si todo

funciona adecuadamente.

La opción -d de depuración

puede servir de ayuda si encon-

tramos problemas. Muestra el

estado detallado en la salida estándar

en lugar de volcarlo a /tmp/nowo-

rries.log. �

DESARROLLO • Perl

56 Número 16 W W W . L I N U X - M A G A Z I N E . E S

[1] Listados de este articulo: http://www.

linux-magazine.es/Magazine/

Downloads/16

[2] Página de FAM: http://oss.sgi.com/

projects/fam/

[3] Página de Gamin: http://www.gnome.

org/~veillard/gamin/

[4] “Comandos Shell desde Perl”,

Michael Schilli: http://www.

linux-magazine.es/issue/05/PerlShell.

pdf

RECURSOS

facilidad. FAM está

también algo obsole-

ta, y se ha designado

a Gamin [3] como su

sucesor.

El mecanismo

Dnotify del kernel

no usa inodos del

sistema de archivos,

sino nombres de

fichero, por lo que

mv file1 file2 activa

dos eventos: un

evento de tipo borrar

y otro de tipo crear.

Esto no le preocupa

a noworries, ya que

el script ignora los eventos tipo borrar, y

si aparece el mismo archivo tiempo

después, simplemente se registra como

la última versión.

El script sólo debería usarse

en nuestro disco

duro local, y no

con NFS, ya que

FAM sólo podría

ser eficiente

si el

NFS

tamente inicializado si no hubo pro-

blemas. El bucle while, que comienza

en la línea 241, navega por el compli-

cado resultado con la ayuda de

rlog, y para ello

hace

uso de una expresión regular

de varias líneas.

La función time_diff() de la línea 211

aguarda un objeto DateTime y calcula

su edad en segundos,

minutos, horas, días o

semanas. Así será más

sencillo de leer para el

usuario de noworries.

Desafortunadamente,

Dnotify, el mecanismo

que usa FAM, no escala

bien y sucumbe al llegar

a unos doscientos subdi-

rectorios. Para solventar

este problema dnotify se

ha remplazado por inoti-

fy en los kernels más

recientes. inotify hace

mejor uso de los recur-

sos y escala con mayor

Figura 2: Se añaden dos líneas a un archivo de nueva creación en

dos sesiones consecutivas. Noworries recupera la versión 2 cuando

se le requiere.

Figura 3: Tras las bambalinas, el demonio monitoriza el sistema

de archivos y crea una copia de seguridad con las versiones

cada vez que ocurre un cambio en los directorios vigilados.

Page 57: Linux Magazine - Edición en Castellano, Nº 16

Python • DESARROLLO

57Número 16W W W . L I N U X - M A G A Z I N E . E S

Web.pyCuando se escribe este artículo, Web.py no

pasa de la versión 0.13 y tiene un tamaño

de poco más de 55KBytes, pero no hay que

dejarse engañar por su tamaño. En su pro-

gramación, Aaron ha hecho uso de las más

sofisticadas técnicas de Python, la

MetaProgramación entre ellas.

Web.py genera métodos y clases bajo

demanda, convirtiendo toda la interacción

con bases de datos y la web en un juego de

niños. Todo se realiza a través de clases y

métodos. Los nombres de ambos han sido

escogidos con cuidado para que sean cor-

tos y fáciles de recordar. ¡Adiós a las mon-

tañas de documentación!

En su propia página se auto define de

«anti-framework».

IngredientesNecesitaremos de Web.py, que se puede

descargar de la URL que aparece en el

Recurso [2]. Además necesitaremos las

librerías de Python:

• Cheetah (Recurso [3]), que sirve para

crear templates.

• Psycopg (Recurso [4]), para el acceso a

la base de datos Postgresql.

Y por supuesto de Postgresql (Recurso

[5]), la base de datos relacional. Haremos

uso del sistema de paquetes que nuestra

distribución emplee para instalar estas

librerías y arrancaremos Postgresql si fuese

necesario.

Tanto Cheetah como Psycopg son

opcionales, Web.py ha sido diseñado con

una idea en mente: que sea completa-

mente modular. Así podríamos usar otro

sistema de templates u otro conector con

bases de datos, por ejemplo con MySQL.

Si tenemos todo instalado podemos

crear un directorio, donde trabajaremos y

copiaremos en el mismo el fichero Web.py.

Primera web… en 10 segun-dos.Comencemos con un ejemplo muy simple

usando el código que aparece en el Listado

1. Para arrancar el servidor sólo tenemos

que ejecutar:

# python holamundo.py

Desgranemos el código. Lo primero que

hacemos es importar web, Web.py. De esta

manera tendremos acceso a todas sus fun-

ciones. Posteriormente definimos una lista

que hemos llamado rutas. En ella defini-

mos pares de ruta/objeto asociado. Cada

vez que accedamos a Web.py éste buscará

la ruta que encaje con la que hemos pedi-

do y hará uso del objeto asociado.

Definimos una clase llamada hola. En

Web.py las clases son quienes «responden»

a las peticiones. Para ello debemos definir

un método GET o POST, dependiendo de

qué tipo de petición queramos responder.

Usando la función estándar print podemos

crear la respuesta. En nuestro ejemplo, es

tan simple, que ni siquiera creamos una

página web, solo devolvemos «¡Hola

mundo!» (Figura 1).

Conocí a Aaron Swartz en la Startup

School 2005, en Cambridge, EEUU.

Es muy joven, no tendrá más de 20

años, y uno de los protegidos de Paul

Graham en YCombinator. Hablé con él

durante una media hora y me pareció muy

inteligente. En ciertos ámbitos es conside-

rado un genio. Aaron ha crecido con la

Web, fue uno de los creadores del están-

dar RSS, para más detalles ver Recursos

[1].

Recuperando la webWeb.py es su apuesta para revitalizar la

web, para volverla simple, como parte del

movimiento Web2.0. Si Ruby on Rails sim-

plificó las monstruosidades de J2EE y

compañía, Web.py convierte el desarrollo

web en una cosa de niños. En menos de

10 segundos se puede tener funcionando

una página web dinámica.

Y es que mucha gente de la llamada

Web2.0 quiere volver a los tiempos en los

que usar la web era divertido, así que

Aaron ha hecho de Web.py una he-

rramienta muy potente y sencilla.

Web.py, un framework muy ligero.

WEBS EN 10SEGUNDOS

Después de tanto framework, librerías y plataformas web enormes ya era hora de que alguien nos diese algo

divertido. POR JOSÉ MARÍA RUIZ

José María Ruiz actualmente

está realizando el Proyecto Fin

de Carrera de Ingeniería Técnica

en Informática de Sistemas.

Lleva 8 años usando y desarrol-

lando software libre y, desde

hace dos, se está especializando

en FreeBSD.

EL

AU

TO

R

Page 58: Linux Magazine - Edición en Castellano, Nº 16

directamente desde la clase vista mediante

la función print. El problema aparece

cuando los ficheros HTML se vuelven más

complejos y comenzamos a mezclar pre-

sentación (HTML) y control (el fichero

Python). Y por ello Web.py dispone de los

templates.

Si queremos parar el servidor sólo te-

nemos que pulsar «Control C» dos veces.

Una web más dinámicaAhora que hemos visto cómo hacer el

famoso «hola mundo», pasemos a algo

más potente. Y lo haremos con la introduc-

ción de los templates. Vamos a crear un

directorio llamado templates dentro del

directorio donde tengamos holamundo.py.

En su interior crearemos un fichero llama-

do hola.html con el contenido del Listado

2. En lugar de holamundo.py usaremos

holamundo2.py, cuyo código aparece en el

Listado 3. El contenido del método GET de

hola ha cambiado a:

nombre = 'Isaac Newton'

web.render('hola.html')

Cuando ejecutamos holamundo2.py apare-

cerá en el navegador una página donde

podremos leer «Hola Isaac Newton».

web.render() es un método que carga el

template que le hemos indicado,

hola.html, y lo interpreta en el contexto del

objeto, y en este contexto nombre está

asignado a la cadena «Isaac Newton».

Debemos observar con más detenimien-

to el Listado 2. Este lenguaje tan extraño,

con lineas que comienzan con # es el que

emplea Cheetah, un sistema de templates

para Python. Su objetivo principal es la

simplicidad, así que en lugar de emplear

las ya famosas etiquetas <% y %> de

PHP o Java, usa # para las lineas con códi-

go Cheetah y $ para las variables. Web.py

lo usa debido a que genera templates que

son fáciles de leer y modificar. La ventaja

de emplear templates radica en que

podremos modificarlas sin tener que

volver a arrancar el servidor. Además

podremos separar el diseño de la web

respecto de la programación.

Programadores y diseñadores son como

el agua y el aceite, nunca se mezclan, así

que hay que tenerles separados.

Filosofía Web.py

Si el lector ha cometido algún fallo al

escribir parte del template o del fichero

holamundo.py, cosa que el autor ha hecho

y en repetidas ocasiones, se habrá percata-

do de lo dicharachero que es Web.py en

cuanto al informe sobre errores. Es parte

de la filosofía de desarrollo de Web.py, ser

muy ruidoso cuando algo va mal para que

el desarrollador detecte los problemas

pronto. El desarrollo rápido de programas

requiere al menos de dos factores:

• Que se escriba poco.

• Que se corrijan los errores muy rápido.

Y Web.py ha sido diseñado con ambos en

mente, el código escrito es muy compacto

y fácil de leer, los nombres de las funciones

son cortos y existen numerosos convenios

en lugar de excesiva flexibilidad. Algunos

de estos principios también rigen el diseño

de Ruby on Rails, pero Ruby on Rails tiene

un tamaño monstruoso comparado con

Web.py.

Hace unas semanas Guido van Rossum,

creador de Python, publicó un artículo

donde decía que su nuevo trabajo en

Google incluía la creación de una página

web para la Intranet interna de Google.

Estuvo echando un vistazo a los distintos

frameworks y le parecían todos demasiado

Y por último debemos indicar a Web.py

qué rutas usar, para ello empleamos:

if __name__ == '__main__':

web.run(rutas, web.reloader)

Con esta sencilla llamada nuestro servidor

estará listo para ejecutarse. Como ya diji-

mos antes, el servidor de Web.py se arran-

ca por defecto en el puerto 8080, de mane-

ra que no necesitamos permisos de root

para hacerlo (son necesarios para abrir

cualquier puerto por debajo del 1024). Al

acceder veremos «hola mundo». Podemos

modificar el puerto en el que se arranca el

servidor especificándolo en la linea de

comando, así:

# python holamundo.py 8003

arrancará el servidor en el puerto 8003.

Este es el modo más simple de mostrar

información usando HTML: se imprime

DESARROLLO • Python

58 Número 16 W W W . L I N U X - M A G A Z I N E . E S

01 #!/usr/local/bin/python

02 import web

03 rutas = (

04 '/', 'hola'

05 )

06

07 class hola:

08 def GET(self):

09 print "<html><head>"

10 print

"<title>hola<title><head>"

11 print "<body><h1>Hola

mundo</h1>"

12 print "</body></html>"

13

14 web.internalerror =

web.debugerror

15

16 if __name__ == '__main__':

17 web.run(rutas, web.reloader)

Listado 1holamundo.py

01 <html>

02

<head><title>Hola</title></hea

d>

03 <body><h1>

04 #if $nombre

05 Hola $nombre

06 #else

07 Hola mundo

08 #end if

09 </h1><body></html>

Listado 2: hola.html

01 #!/usr/local/bin/python

02 import web

03

04 rutas = (

05 '/(.*)', 'hola'

06 )

07

08 class hola:

09 def GET(self,nombre):

10 web.render ('hola.html')

11

12 web.internalerror =

web.debugerror

13

14 if __name__ == '__main__':

15 web.run(rutas, web.reloader)

Listado 3: holamundo2.py

Figura 1: Nuestra primera Web creada con

Web.py.

Page 59: Linux Magazine - Edición en Castellano, Nº 16

pesados y complejos. Guido no es desarro-

llador web, sino de lenguajes de progra-

mación, así que prefiere las cosas sencillas.

Web.py ha sido uno de los pocos frame-

works que según él recogen el espíritu de

Python.

Rutas inteligentesAhora vamos a presenciar una de las habi-

lidades de Web.py. Cambiemos de nuevo

el fichero holamundo.py para que quede

como en la Figura 2. Lo paramos y volve-

mos a arrancar e introduzcamos en el

navegador la ruta:

http://localhost:8080/juan

El resultado será una página donde se salu-

da a juan. ¿Cómo es esto posible? Se ha

añadido la expresión (.*) a la ruta, una

expresión regular. De hecho la ruta en sí

misma es una E.R. (expresión regular).

En una E.R. los paréntesis indican la

existencia de subexpresiones que pueden

ser separadas. En la ruta «/(.*)» tenemos

dos expresiones: «/» y «.*». Web.py asocia

la segunda a una variable y se la pasa a

GET, por eso le hemos añadido el

parámetro nombre en la definición. ¿y si

añadimos otra subexpresión? Vamos a

verlo en el Listado 4. Necesitaremos tam-

bién de hola2.html que aparece en el

Listado 5.

Al añadir otro «/(.*)» en la ruta automáti-

camente Web.py asocia otra variable a la

segunda subexpresión. Podríamos crear

cualquier esquema con las rutas, por ejem-

plo «http://localhost:8080/fecha/id-men-

saje». ¿Qué ocurre si dejamos la ruta básica

«http://localhost:8080»?

Pues que aparecerá el mensaje «Hola

mundo», porque en el template se com-

prueba la existencia de las variables nom-

bre y apellidos y al no encontrarlas ejecuta

el else del if.

MVCEstamos dando vueltas a un esquema de

desarrollo bastante popular estos días,

hablamos de MVC, el Modelo-Vista-

Controlador. Este esquema divide el desa-

rrollo de un sistema en tres componentes:

• La Vista sería el template, que genera

código de presentación de algún tipo,

como HTML o XML.

• El Controlador sería la clase hola, que

recoge la información y prepara el

entorno para la Vista.

• El Modelo es la información pura y

dura, generalmente almacenada en una

base de datos, y que se encarga de

comprobar la integridad de la misma.

MVC separa el trabajo en tres partes, de

manera que sean independientes unas de

otras. Una modificación en cualquiera de

ellas no implica cambiar el resto. También

se aumenta la reutilización, puesto que un

mismo controlador puede servir para dis-

tintas vistas. A la mente me viene un ejem-

plo muy recurrido: un controlador que

genere un listado de artículos para dos vis-

tas, la primera genera HTML y la segunda

RSS.

Por el momento hemos tratado con la

Vista y el Controlador ¿dónde está escondi-

do el Modelo en Web.py?

El ModeloUno de los requisitos para nuestro ejem-

plo de uso de Web.py es la librería

Psycopg. Es un interfaz para la base de

datos Postgresql muy pequeño y efi-

ciente, pensado para un uso intensivo

de hebras (la eficiencia y la simplicidad

serán la tónica general con Web.py). No

vamos a interactuar en ningún momen-

to con Psycopg, será Web.py quien lo

haga.

Comencemos creando una tabla que nos

permita almacenar información (Listado

6). En el Listado 7 podemos ver el código

de anotaciones.py. En él podemos observar

cómo se establecen los parámetros de con-

figuración de la base de datos. No conecta-

mos explícitamente con ella, será Web.py

quien lo haga:

web.db_parameters = dictU

(dbn='postgres',U

user='nombre_usuario',U

pw='clave',U

db='nombre-base-datos')

Como queremos recoger el contenido de la

tabla anotaciones para poder mostrarlo te-

nemos que ejecutar un SELECT, pero en

Web.py es tan sencillo como invocar dentro

de GET:

anotaciones = web.select(U

"anotaciones")

Con esta simple función recogemos en la

variable anotaciones el resultado de hacer

un select contra la tabla del mismo nombre.

A partir de ese momento anotaciones

estará disponible en el template

anota.html.

El código de anota.html aparece en el

Listado 8. En él usamos una lista html, UL,

y el lenguaje de templates de Cheetah para

iterar sobre anotaciones.

#for anota in $anotaciones

<li id="t$anota.id">U

Python • DESARROLLO

59Número 16W W W . L I N U X - M A G A Z I N E . E S

01 #!/usr/local/bin/python

02 import web

03

04 rutas = (

05 '/(.*)/(.*)', 'hola'

06 )

07

08 class hola:

09 def

GET(self,nombre,apellido):

10 web.render ('hola2.html')

11

12 web.internalerror =

web.debugerror

13

14 if __name__ == '__main__':

15 web.run(rutas, web.reloader)

Listado 4: holamundo2b.py

01 <html>

02

<head><title>Hola</title></hea

d>

03 <body><h1>

04 #if $nombre and $apellido

05 Hola $nombre $apellido

06 #else

07 Hola mundo

08 #end if

09 </h1><body></html>

Listado 5: hola2.html

01 CREATE TABLE anotaciones (

02 id serial primary key,

03 titulo text,

04 created timestamp default

now()

05 );

Listado 6: anotaciones.sql

Figura 2: Personalizamos el saludo gracias a

expresiones regulares.

Page 60: Linux Magazine - Edición en Castellano, Nº 16

rutas es una lista y las entradas impares se

corresponden con rutas, mientras que las

pares lo hacen con clases asociadas. De

esta manera relacionamos la ruta /nueva

con la clase nuevaAnotacion. Este sistema

es muy cómodo porque desvincula el

nombre de las rutas respecto del nombre

de las clases. La clase nuevaAnotacion ten-

drá la forma:

class nuevaAnotacion:

def POST(self):

params = web.input()

n = web.insert(U

'anotaciones',U

titulo = params.titulo)

web.seeother('./#t'+str(n))

Analicemos esta clase. Al igual que la

clase index, aquí definimos un método,

pero en esta ocasión es POST en lugar de

GET. Es costumbre enviar los datos de los

formularios como POST, así que eso hare-

mos. ¿Pero cómo recogemos los datos

enviados desde el navegador?

Aquí entran en juego las funciones de

Web.py. Con web.input() se recoge la

información recibida en una variable. Esta

variable será un objeto, y tendrá un atri-

buto por cada parámetro transmitido por

POST. Así podremos obtener el titulo de la

anotación simplemente accediendo a

params.titulo.

Para guardar esta información en la

base de datos hemos de usar web.insert().

Es el equivalente a la orden INSERT de

SQL, pero mucho más simple. Le

indicamos el nombre de la tabla y un con-

junto de valores asignados que correspon-

den a las columnas de la tabla. De esta

manera podemos pasar valores a las

columnas por nombre y no importa el

orden en que se pongan los parámetros.

web.insert() devuelve como resultado el

ID, que en la base de datos se asigne a esa

nueva fila. Así podremos hacer referencia

a ella.

Ahora podemos añadir entradas, como

en la Figura 3, a nuestra web de anota-

ciones, y el número de lineas de código

que hemos escrito es muy pequeño. No

sólo eso, sino que son muy sencillas de

entender.

ConclusiónCon Web.py podemos comenzar a crear

webs de manera muy sencilla y rápida. Es

un herramienta muy buena para crear pro-

totipos o explorar nuevos conceptos. Y eso

que, cuando se escribe este artículo, sólo

está disponible la versión 0.13. El sitio

web www.reddit.com emplea Web.py y su

uso se está extendiendo a la vez que más

personas se unen a su desarrollo. Desde

luego, es un proyecto interesante y debe-

mos estar atentos a su futuro desarrollo. �

$anota.titulo</li>

#end for

Entrada de datosPara volver interactiva nuestra página

debemos añadir un formulario, de manera

que el usuario pueda añadir nuevas anota-

ciones:

<form method="post"U

action="/nueva">

<p><input type="text"U

name="titulo" />

<input type="submit"U

value="Añadir" /></p>

</form>

Enviamos el contenido del campo título a

la ruta /nueva, pero este último aún no

existe, así que creamos en el fichero

Python una nueva entrada en rutas:

rutas = ( '/', 'index',

'/nueva', 'nuevaAnotacion')

DESARROLLO • Python

60 Número 16 W W W . L I N U X - M A G A Z I N E . E S

[1] Sitio de Aaron Swartz: http://www.

aaronsw.com/

[2] Descargas de web.py: http://webpy.

org/web.py

[3] Plantillas Chetah: http://

cheetahtemplate.org/

[4] Psycopgl, el adaptador Python para

PostgreSQL: http://initd.org/projects/

psycopg1

[5] Sitio web de PostgreSQL: http://www.

postgresql.org

RECURSOS

01 #!/usr/local/bin/python

02 import web

03 rutas = (

04 '/', 'index',

05 '/nueva', 'nuevaAnotacion'

06 )

07

08 class index:

09 def GET(self):

10 anotaciones =

web.select("anotaciones")

11 web.render ('anota.html')

12

13 class nuevaAnotacion:

14 def POST(self):

15 params = web.input()

16 n =

web.insert('anotaciones',titul

o = params.titulo)

17

web.seeother('./#t'+str(n))

18

19 web.internalerror =

web.debugerror

20

21 if __name__ == '__main__':

22 web.db_parameters =

dict(dbn='postgres',

user='josemaria', pw='',

db='prueba')

23 web.run(rutas, web.reloader)

Listado 7: Anotaciones.py

01 <html>

02 <head>

03 <title>Mis

anotaciones</title>

04 </head>

05 <body>

06 <ul>

07 #for anota in

$anotaciones

08 <li

id="t$anota.id">$anota.titulo<

/li>

09 #end for

10 </ul>

11 <form method="post"

action="/nueva">

12 <p>

13 <input type="text"

name="titulo" />

14 <input type="submit"

value="Nueva anotacion" />

15 </p>

16 </form>

17 </body>

18 </html>

Listado 8: Anota.html

Figura 3: La implementación de funciones

con Web.py exige muy poco código.

Page 61: Linux Magazine - Edición en Castellano, Nº 16

Entre visitas al dentista, mi trabajo

depende de las impresiones subje-

tivas de mis usuarios. Si un servi-

dor web va lento, la reacción típica es

algo parecida a “Eeeh, ¿porqué va lento el

servidor hoy?” Pero, ¿cuánto de “lento” es

lento? Si una sola máquina tiene un mal

día, es tan simple como hacerle un

chequeo individual. Las cosas se compli-

can si se posee un equipo remoto al que

sólo se tiene acceso mediante HTTP.

Las aplicaciones de monitoreo de soft-

ware, como Smokeping no son el tipo de

solución rápida que se necesita, y no es

preciso hacer Wget, Netstat y Time.

HTTPing [1] es la herramienta más ele-

gante para este trabajo.

Hay que enviar peti-

ciones GET o HEAD al desolado servidor

web y registrar ambas respuestas y el

tiempo de viaje. El nombre de HTTPing

proviene de la similitud sintáctica entre

las opciones de la línea de comandos y

del ping ICMP. En el caso más simple, se

le pasa la URL al HTTPing y se le envia de

esta forma: httping -g

http://kuehnast.com. En este caso,

HTTPing enviará una petición HEAD por

segundo al servidor especificado, hasta

que se presione [Ctrl]+[C] para que se

detenga. La salida se verá como en el Lis-

tado 1.

¿Es Culpable laEncriptación?Esta pregunta trivial indica si el servidor

contesta y con qué rapidez. El parámetro

-G proporciona respuestas específicas

tanto para GET, como para HEADs. Puede

especificarse la opción -l para ver el efecto

en los tiempos de acceso de un servidor

HTTPS. El Listado 2 muestra el efecto que

tiene la encriptación SSL en el tiempo de

respuesta. Tam-

bién estoy interesado en el estado del

código devuelto por el servidor. Tras el

típico 200 OK, quiero que HTTPing evalúe

el Código 304 Not modified como una

Conexión correcta:

httping -s -o 200,304 -G -l -g U

https://kuehnast.com

Como se dijo anteriormente, alguna

opción de HTTPing tiene el mismo efecto

que una respuesta ICMP: el parámetro -i

agrupa los intervalos entre los intentos de

conexiones individuales en segundos, 0.5

por ejemplo, es interpretado por HTTPing

como “tan pronto como sea posible”. El

parámetro -f tiene el mismo efecto. O sea

que una inundación del servidor web no

tiene mucho sentido y puede complicar

su relación con el administrador del servi-

dor web.

El -c 10 me permite restringir el texto

completo a 10 peticiones y se necesita

presionar [Ctrl] + [C] para salir de

HTTPing. Es importante controlar la sa-

lida si utiliza un script para lanzar

HTTPing. Por defecto HTTPing corta la

conexión tras 30 segundos. Tiendo a

poner este valor a diez segundos (-t 10).

Después de todo, un servidor web que no

responde tras diez segundos seguro que

tiene un problema. �

61

La Columna de Charly • ADMINISTRACIÓN

Número 16W W W . L I N U X - M A G A Z I N E . E S

[1] HTTPing: http://www.vanheusden.

com/httping/

RECURSOS

Anubis ....…......................................62

El servicio Anubis hace trucos con los

mensajes de correo electrónico antes

de pasárselo al servidor de correo.

Puede usar Anubis para centralizar la

encriptación del correo de salida.

SYSADMIN

HTTPing podría ser la herramienta perfecta para comprobar

la salud de su servidor web. POR CHARLY KÜHNAST

01 PING kuehnast.com:80

(http://kuehnast.com):

02 connected to kuehnast.com:80,

seq=0 time=8.57 ms

03 connected to kuehnast.com:80,

seq=1 time=3.56 ms

04 connected to kuehnast.com:80,

seq=2 time=4.24 ms

05 --- http://kuehnast.com ping

statistics ---

06 3 connects, 3 ok, 0.00% failed

07 round-trip min/avg/max =

3.6/5.5/8.6 ms

Listado 1: httping -g

01 # httping -G -l -g

https://kuehnast.com

02 [...]

03 connected to kuehnast.com:443,

seq=0 time=96.33 ms

04 connected to kuehnast.com:443,

seq=1 time=95.38 ms

05 connected to kuehnast.com:443,

seq=2 time=95.14 ms

06 [...]

Listado 2: httping -G -l -g

El Día a Día del Administrador de Sistemas: HTTPing

CHEQUEOWEB

Page 62: Linux Magazine - Edición en Castellano, Nº 16

62 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Encriptación Centralizada de Correo Electrónico con Anubis

ENCRIPTACIÓNEGIPCIA

Los expertos conocen los peligros

de transmitir planos, datos perso-

nales y acuerdos confidenciales

por Internet sin encriptar, aunque los

usuarios finales raras veces se percatan

de ello. Estos usuarios normalmente no

utilizan herramientas como PGP, GnuPG

[2] y S/Mime.

Los CTOs pueden lamentar su des-

tino o tomar acciones: Los deno-

minados servidores PGP propor-

cionan una gestión centra-

lizada de las claves de

usuarios y se encargan

de los procesos de

encriptación y de-

sencriptación.

Estos servicios

eliminan la

necesidad

de tener

que insta-

lar y configu-

rar los

clientes

PGP en cada estación de trabajo, aho-

rrando bastante tiempo.

Los administradores de Linux tienen la

posibilidad de usar programas de

encriptación gratuitos como GPG-Relay

[3] o Kurvert [4], y hay una serie de

aplicaciones comerciales (como [5] y

[6]) disponibles para Windows. Pero

si se prefiere evitar el uso de aplica-

ciones especializadas, la mejor

opción es elegir el programa de

gestión de correo universal,

GNU Anubis [1].

Anubis, que recibe el

nombre de un antiguo

dios egipcio, es un

servicio de pre-

procesamiento

SMTP. El ser-

vicio Anu-

bis recibe

los men-

sajes de

un MUA o

Mail

ADMINISTRACIÓN • Anubis

El servicio de manipulación de correo Anubis permite la encriptación centralizada del correo saliente. POR

DANIEL S. HAISCHT

Page 63: Linux Magazine - Edición en Castellano, Nº 16

Anubis • ADMINISTRACIÓN

63Número 16W W W . L I N U X - M A G A Z I N E . E S

User Agent, (como el cliente Mutt

mostrado en la Figura 2), y lo modifica

antes de enviarlo al MTA o Mail Transfer

Agent, (como el servidor Postfix también

mostrado en la figura 2). Anubis puede

procesar los mensajes de diversas formas,

pero en este caso, una de sus característi-

cas más útiles es la posibilidad de encrip-

tar el correo usando GnuPG. Posee una

herramienta de manipulación de correo

experimentada, es una solución de

Código Abierto que permite a los admi-

nistradores instalar una infraestructura

PGP centralizada. La desencriptación

automática de correo entrante o el uso del

estándar PGP/Mime para procesar los

ficheros adjuntos requieren el uso de pro-

gramas como GPG-Relay o Kuvert, pero

Anubis es la elección perfecta para encrip-

tar y firmar el correo saliente.

La Funcionalidad SMTPRelayUna de las técnicas más comunes para la

encriptación o la firma de los mensajes de

correo electrónico es usar en cada cliente

un plugin PGP como Enigmail [9]. Una

herramienta como Anubis, por el con-

trario, proporciona una solución alternati-

va. Ofrece un procesamiento centralizado

que a menudo es más fácil de gestionar si

se tiene un gran número de usuarios. Con

esta solución el cliente ya no tiene que

enviar más el correo al servidor de correo,

sino que lo dirige al software Anubis, el

cual actúa como un proxy, modificando el

contenido del mensaje, firmándolo o

encriptándolo y por último enviándolo al

servidor de correo.

Puede ejecutarse en un servidor inde-

pendiente o en la misma máquina que el

cliente o el MTA. Los usuarios tan sólo

tienen que configurar sus clientes de

correo electrónico de modo que Anubis

sea su servidor de correo (véase el cuadro

“Trucos SMTP”).

La InstalaciónGracias a autoconf, el proceso de insta-

lación y configuración de Anubis es real-

mente sencillo. Pero hay que asegurarse

de especificar qué base de datos va a con-

tener la información de los usuarios. En el

modo Pixie, se puede además autenticar a

los usuarios por medio de un servicio

Ident ejecutándose localmente en las esta-

ciones de trabajo. Esta variante no necesi-

ta de una base de datos relacional.

Además, es posible compilar todos los

módulos y decidir una instalación poste-

rior:

• Regex (soporte para expresiones regu-

lares)

• GSASL (autenti-

cación de usuarios)

• El módulo para el

servicio Ident se

incluye siempre

• Guile (para los scripts)

• OpenSSL o GnuTLS (soporte SSL)

• GPG (GNU Privacy Guard) y GPGme

• MySQL (base de datos)

• PostgreSQL (base de datos)

• GDBM y ficheros de textos (estas va-

riantes de bases de datos se incluyen

siempre)

Otros componentes son opcionales y sólo

tienen sentido en escenarios específicos:

• PAM (autenticación)

• Libwrap (TCP Wrapper)

• SOCKS (soporte SOCKS)

• NLS (Internacionalización)

• PCRE (expresiones regulares con la sin-

taxis de Perl).

Desafortunadamente, Anubis no tiene

soporte para el servicio de directorio

LDAP. Esta sería una característica útil, ya

BLOB Binary Large Object

GPG GNU Privacy Guard

Guile GNUs Ubiquitous Intelligent Language for Extensions

Mime Multipurpose Internet Mail Extensions

MTA Mail Transfer Agent (Mailserver)

MUA Mail User Agent (Mailclient)

NLS Native Language System

PAM Pluggable Authentication Modules

PGP Pretty Good Privacy

SASL Simple Authentication and Security Layer

S/Mime Secure Mime

SMTP Simple Mail Transfer Protocol

SSL Secure Sockets Layer

TLS Transport Layer Security

Figura 1: En una infraestructura normal de

correo, cada cliente (MUA, Mail User Agent)

pasa los mensajes al servidor SMTP (MTA,

Mail Transfer Agent) que gestiona la entrega.

Figura 2: Anubis de GNU se sitúa entre el

MUA y el MTA. Desde el punto de vista del

cliente, Anubis es el servidor de correo. En

esta posición, puede manipular el tráfico

arbitrariamente.

Tabla 1: Abreviaciones utilizadasen el artículo

01 #> Reading system file /usr/local/

etc/anubis/anubisrc...

02 #> UID:0 (root), GID:0, EUID:0, EGID:0

03 #> GNU Anubis bound to<192.168.1.6:24

04 #> [68239] GNU Anubis is running...

05 #> [68239] Connection from 192.168.120.239:1310

06 #> [68244] IDENT: connected to

192.168.120.239:113

07 #SERVER >>> 1310, 24 : USERID : UNIX :

haischt(36)

08 #> [68244] IDENT: resolved remote user to

haischt.

09 #> [68244] UID:65534 (nobody), GID:65534,

EUID:65534, EGID:65534

10 #> [68244] Getting remote host information...

11 #> [68244] Connected to 192.168.1.6:25

12 #> [68244] Transferring message(s)...

13 #SERVER >>> 220 smtp. abyssworld.de ESMTP

Postfix (2.2.3)(46)

14 #CLIENT <<< 220 smtp. abyssworld.de (GNU Anubis

v4.0) ESMTP Postfix (2.2.3)(64)

Listado 1: Modo Pixie

Page 64: Linux Magazine - Edición en Castellano, Nº 16

configuración; sin embargo, hay una

plantilla en examples/2anubisrc en el

paquete del código fuente de la apli-

cación.

Configuración PersonalAdicionalmente, los usuarios que

necesiten enviar los correos por medio

del servicio Anubis pueden crear un

fichero ~/.anubisrc en sus directorios

home. El fichero examples/1anubisrc

proporciona un ejemplo.

Para una prueba inicial, el servicio

Anubis también dispone de un modo

de depuración:

anubis --altrc U

/usr/local/etc/anubis/anubisrc

U

--mode=transparent -v -D -f

Esto le indica a Anubis que se ejecute

de forma transparente sin autenti-

cación, proporcionando información

detallada de salida (-v), produciendo

datos de depuración (-D) y ejecután-

dose en segundo plano (-f), en vez de

evitar los canales estándar de entrada

y salida, como normalmente hacen los

servicios.

Autenticación PixieAnubis posee varias soluciones para

identificar a los usuarios. El modo

Pixie es una de las soluciones más

simples para realizar la autenticación.

Este modo se habilita con la entrada

mode transparent en el bloque de con-

trol del fichero de configuración glo-

bal. En esta configuración, un servicio

Ident (protocolo AUTH) se ejecuta en

la estación de trabajo del usuario.

Anubis requiere que el usuario se au-

tentique antes de manejar el correo

(véase la Figura 3).

Sin embargo, esta técnica sólo tiene

sentido en un escenario muy específi-

co. El servidor tiene que confiar en el

servicio Ident, además, esta clase de

comprobación de seguridad del lado

cliente sólo funciona si la estación de

trabajo es manejada por un admi-

nistrador responsable que conoce a

sus usuarios y que puede estar seguro

de que nadie manipulará la configu-

ración de la red. Las buenas prácticas

sugieren evitar el uso de este modo de

operación.

Práctico pero InseguroAunque el nombre del protocolo, AUTH,

podría suponer otra cosa, Identd no rea-

liza realmente una autenticación. El ser-

vicio está diseñado para seguir la pista de

los ataques: el administrador del sistema

atacado puede utilizar Ident para com-

probar la ID de los usuarios de las

máquinas de origen de las conexiones

TCP. Basándose en estos datos, el admi-

nistrador puede entonces contactar con

el administrador responsable de la

máquina origen. Muchas de las imple-

mentaciones de Ident simplemente hacen

uso de una ID por defecto ([7], [8]).

El Listado 1 muestra una sesión de

Anubis en el modo Pixie. Las líneas 6

(intento de autenticación Ident) y 8,

donde el usuario de correo se corres-

ponde con la cuenta Unix local haischt,

son de interés. Después de la fase de au-

tenticación, el servicio GNU Anubis pasa

los mensajes al servidor de correo

(Líneas de la 11 a la 14).

Los sistemas clientes basados en

Windows XP a menudo poseen un corta-

que normalmente tanto la información

de los usuarios como las claves PGP

están disponibles por medio de OpenL-

DAP o del servidor Active Directory.

Durante mucho tiempo, la aplicación

Anubis solamente hacía uso de bases de

datos en formato texto o basadas en

GDBM; el soporte para los sistemas rela-

cionales es aún bastante nuevo para este

programa. Así que esperemos que el

soporte para LDAP esté disponible próxi-

mamente.

Se puede comprobar el fichero

config.log después de completar la fase

./configure para ver si los módulos se

han configurado como se esperaba.

Después de completar la instalación,

tecleando anubis- show-config-options se

puede consultar si los módulos requeri-

dos están realmente disponibles.

Anubis espera encontrar sus datos de

configuración en /etc/anubisrc. Esta ruta

está codificada en src/header.h, pero se

puede modificar la localización al vuelo

usando --altrc fichero. La fase make

install no crea realmente un fichero de

ADMINISTRACIÓN • Anubis

64 Número 16 W W W . L I N U X - M A G A Z I N E . E S

01 #---BEGIN CONTROL---

02 ## ...

03 #mode auth

04 ## ...

05 #---END---

06 #

07 #---BEGIN AUTH---

08 #smtp-greeting-message ESMTP

Anubis (4.0.0)

09 #smtp-help-message help message

10 ### Simple text database:

11 ## sasl-password-db

file:/usr/local/etc/anubisdb.txt

12 ### Relational MySQL Database

13 #sasl-password-db

mysql://mail:access4anubis@mysql

.abyssworld.de/mail;table=anubis

_user

14 #sasl-allowed-mech NTLM GSSAPI

DIGEST-MD5 CRAM-MD5

15 #---END---

16 #

17 #---BEGIN TRANSLATION---

18 ##translate [USER@]ADDRESS into

USERNAME

19 #translate

[email protected]

into haischt

20 #---END---

Listado 2: Configuración Dixie

Figura 3: En el modo Pixie, Anubis solicita

primero al servicio Ident de la estación de

trabajo del emisor que identifique al

usuario que ha abierto la conexión antes

de aceptar y procesar el mensaje.

Figura 4: En el modo Dixie el servidor Anubis

usa el método SMTP-AUTH para propor-

cionar una autenticación segura del usuario.

El servidor necesita almacenar las creden-

ciales del usuario en una base de datos.

Page 65: Linux Magazine - Edición en Castellano, Nº 16

fuegos integrado que puede ocasionar

problemas durante la fase de compro-

bación. En la configuración por defecto,

el cortafuegos incomprensiblemente

restringe todas las peticiones Ident al

puerto 113. Esto tiene que modificarse (o

bien desbloqueando el puerto 113 o

deshabilitando el cortafuegos). Además,

el programa de correo no puede hacer

uso de los nombres de usuarios SMTP-

AUTH en el modo Pixie.

Dixie, la AlternativaPreferidaEl modo Dixie (Figura 4) es más nuevo

y mejor que el modo Pixie. La alterna-

tiva Dixie está basada en el estándar

SMTP-AUTH. Anubis

lee el nombre del

usuario, la contraseña

y otras credenciales

de una base de datos

(un simple fichero de

texto o un sistema de

base de datos rela-

cional). La variante

del fichero de texto

incluye el ID del

usuario (SMTP-

AUTH-ID), la con-

traseña y, opcional-

mente, la cuenta Unix

y la ruta a la configu-

ración específica del

usuario (Tabla 2).

El fichero de texto

dispone de una línea para cada

usuario; los campos están separados

por blancos. De acuerdo con la docu-

mentación oficial, los campos

deberían separarse por el carácter “dos

puntos”, pero esta sintaxis ya ni

siquiera funciona en Anubis 4.0.

La variante del fichero de texto está bien

al principio para realizar pruebas y para

entornos pequeños. Si se necesita manejar

un gran número de usuarios, probable-

mente se prefiera trabajar con una base de

datos en vez de con un fichero de texto. La

Figura 5a muestra una tabla con el esque-

ma apropiado para esta base de datos.

El authid está definido como la clave

primaria; los campos son todos de

texto. Como se puede ver en la Figura

5b, el contenido de la tabla refleja el

del fichero de texto. El siguiente

comando importa el fichero de texto a

la base de datos MySQL:

anubisadm --create U

'mysql://mail:access4anubisU

@mysql.abyssworld.de/mail; U

table=anubis_test' U

< /usr/local/etc/U

anubis/anubisdb.txt

El comando especifica la tabla destino

como un parámetro URL, la notación

es confusa, ya que los parámetros no

están separados por el carácter &,

como lo estaría en una dirección

HTTP, sino por puntos y comas. La

URL y los parámetros deben ir entre-

comillados para impedir que los inter-

prete la shell.

Integrando la Base deDatosPara indicarle a Anubis que utilice la

tabla nueva, el administrador tiene

que cambiar el modo de autenticación

de mode transparent a mode auth en la

sección de control de la configuración

global en anubisrc (véase el Listado 2,

de la línea 1 a la 5). También es nece-

sario añadir la ruta a las credenciales

del usuario en la sección AUTH (líneas

7 a 15). El Listado 2 muestra cómo

realizar esto para la base de datos

MySQL. Además, los usuarios tienen

que decirles a sus programas que utili-

cen la autenticación SMTP-AUTH

cuando envíen un correo electrónico.

El Listado 3 muestra una sesión

Dixie en funcionamiento. La línea 7 y

siguientes muestran a un programa de

correo dialogando con el servicio

Anubis. El cliente puede usar el

mecanismo SASL DIGEST-MD5 y

CRAM-MD5 para la autenticación.

Ambas soluciones transmiten un hash

de la contraseña por la red en vez de

una contraseña en texto en claro.

En la línea 9, se puede observar al

programa de correo tratando con el

comando STARTTLS para establecer

una conexión SSL segura con el servi-

cio Anubis. Se produce un fallo porque

Anubis aún no está configurado para

SSL seguro. En la línea 16, el programa

de correo y Anubis acuerdan usar el

mecanismo SASL CRAM-MD5. El ser-

Anubis • ADMINISTRACIÓN

65Número 16W W W . L I N U X - M A G A Z I N E . E S

Figura 5a: La tabla MySQL contiene las credenciales del usuario

haischt, que utiliza Dixie para autenticarse. La cuenta Unix para este

usuario tiene el mismo nombre, y el fichero de configuración está

localizado en /home/haischt/.anubisrc.

Figura 5b: PHPMyAdmin muestra la estructura de la tabla MySQL utilizada como el almacén

de datos del modo Dixie de Anubis.

Page 66: Linux Magazine - Edición en Castellano, Nº 16

AUTH y pro-

porciona a los

usuarios de

correo elec-

trónico sin

cuentas UNIX

acceso al servi-

cio. También

es cierto que la

imple-

mentación

actual del

modo Dixie de

Anubis tiene

unos cuantos

inconvenientes

molestos:

Las contraseñas se almacenan en

claro en la base de datos. El campo de la

base de datos para el fichero de configu-

ración de los usuarios de Anubis apunta

a un fichero existente. Sería más prácti-

co almacenar los parámetros en un

campo BLOB o en una tabla separada.

Como Anubis posee las credenciales

del usuario, ahora es posible el proce-

samiento de los mensajes con destino;

por ejemplo, se puede configurar Anubis

para que firme o encripte el correo. Para

permitir esta posibilidad, los usuarios

han de añadir sus entradas en la sección

RULE de sus ficheros ~/.anubisrc. Es

bastante sencillo añadir atributos a la

cabecera del correo electrónico utilizan-

do la notación add header [nombre]

valor:

add header[X-Processed-By] U

"GNU Anubis"

vicio busca entonces en la base de

datos MySQL un registro que corres-

ponda con las credenciales del usuario

haischt y encuentra dicho registro

(desde la línea 18 a la 20).

La línea 20 tiene un detalle intere-

sante. En esta línea es donde Anubis

realiza la correspondencia entre el

usuario y la dirección de correo elec-

trónico [email protected]

con el usuario local haischt. La sección

TRANSLATION se encarga de realizar la

correspondencia entre la dirección de

correo y los nombres locales (véanse las

cuatro últimas líneas del Listado 2). La

sección TRANSLATION del fichero de

configuración también puede efectuar

la correspondencia entre todas las direc-

ciones de un dominio con un nombre

compartido (traducción del Dominio al

Usuario).

El modo Dixie es útil, ya que hace uso

de estándares actuales como SMTP-

ADMINISTRACIÓN • Anubis

66 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Algunos programas de correo, por ejem-

plo Mutt, llaman al programa sendmail

directamente para enviar el correo. En

este caso, es imposible cambiar el servi-

dor SMTP y el puerto en la configuración

del cliente de correo, ya que el compor-

tamiento de sendmail está configurado

por el administrador. Además, algunos

clientes de correo no soportan la autenti-

cación basada en el mecanismo SMTP-

AUTH.

Programas como MSMTP [10] o ESMTP

[11] pueden ayudar actuando como

proxies de correo. Los usuarios pueden

configurar estas herramientas de línea

de comandos individualmente, con el

fichero de configuración ~/.esmtprc para

el caso de ESMTP:

hostname = U

anubis.abyssworld.de:24

username = "haischt"

password = "access4anubis"

starttls = disabled U

El servicio envía el correo al servidor

Anubis (anubis.abyssworld.de, puerto

24) y autentica usando las credenciales

del usuario. La encriptación STARTTLS

está deshabilitada. Mutts necesita saber

que debería llamar a ESMTP en vez de

llamar a sendmail:

set sendmail=U

"/usr/local/bin/esmtp" U

Esta línea en el fichero de configuración

de Mutt le indica al cliente de correo qué

servicio usar.

Trucos SMTP

01 #> Reading system configuration

file

/usr/local/etc/anubis/anubisrc..

.

02 #> UID:0 (root), GID:0,EUID:0,

EGID:0

03 #> GNU Anubis bound to

192.168.1.6:24

04 #> [68643] GNU Anubis is

running...

05 #> [68643] Connection from

192.168.120.10:40501

06 #CLIENT <<< 220

abyssone.abyssworld.de GNU

Anubis ESMTP; Identify

yourself(64)

07 #CLIENT >>> EHLO

[192.168.121.2](22)

08 #CLIENT <<< 250-Anubis is

pleased to meet you.(36)

09 #CLIENT <<< 250-STARTTLS(14)

10 #CLIENT <<< 250-AUTH DIGEST-MD5

CRAM-MD5 (31)

11 #CLIENT <<< 250 HELP(10)

12 #CLIENT >>> STARTTLS(10)

13 #[68647] anubis.pem: No such

file or directory

14 #CLIENT <<< 454 TLS not

available due to temporary

reason(47)

15 #CLIENT >>> AUTH CRAM-MD5(15)

16 #SASL mech=CRAM-MD5, inp=NULL

17 #CLIENT <<< 334

PDE0MTU0NTMyOTUzMDA2MzI0MTIzLjBA

bG9jYWxob3N0Pg==(54)

18 #CLIENT >>>

aGFpc2NodCA5ZmQ1MDhkYTYzYzQ3ODRi

OGUwMzMzZTNhMmUyM2VjZQ==(58)

19 #> [68647] Found record for

`haischt'.

20 #> [68647] Authentication

passed. User name haischt, Local

user haischt. Welcome!

21 #CLIENT <<< 235 Authentication

successful.(32)

22 #> [68647] UID:1001 (haischt),

GID:20, EUID:1001, EGID:20

23 #> [68647] Reading user

configuration file

/home/haischt/.anubisrc...

24 #> [68647] Getting remote host

information...

25 #> [68647] Connected to

192.168.1.6:25

26 #> [68647] Starting SMTP

session...

27 #SERVER >>> 220

smtp.abyssworld.de ESMTP Postfix

(2.2.3)(46)

Listado 3: Sesión Dixie

Campo Descripción

Authid Corresponde con el nombre establecido por el usuario

en las preferencias del programa de correo. Este campo

se requiere para la autenticación SMTP.

Passwd El usuario, además, establece una contraseña en el pro

grama de correo cliente, que de nuevo es necesario

para la autenticación SMTP.

Account Corresponde con la cuenta Unix. Este campo relaciona

el nombre del usuario de correo con la cuenta Unix co-

rrespondiente, con el objeto de encontrar un fichero de

configuración de Anubis en el directorio home del

usuario, por ejemplo.

Config Este campo contiene la ruta (absoluta o relativa) del

fichero de configuración de Anubis de este usuario. Las

rutas relativas empiezan en el directorio home del

usuario.

Tabla 2: Campos de la base de datos Dixie

Page 67: Linux Magazine - Edición en Castellano, Nº 16
Page 68: Linux Magazine - Edición en Castellano, Nº 16

ADMINISTRACIÓN • Anubis

68 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Anubis también posee ejecución

condicional. Si un correo tiene una

cabecera with-signature que contiene

un valor arbitrario (expresión regu-

lar.*, véase el cuadro “Formatos de

Expresiones Regulares”), las siguien-

tes líneas son todo lo que se necesita

para eliminar la cabecera y añadir una

firma basada en texto al final del men-

saje:

if header [with-signature] U

:re ".*"

remove [with-signature]

signature-file-append yes

signature-file-append yes añade un

separador –, seguido por el contenido

del fichero ~/.signature, body-append

añade el contenido de un fichero arbi-

trario al final del mensaje mientras

que body-clear-append elimina el texto

del mensaje original antes de realizar-

lo.

Comandos en la Línea AsuntoAlgunos clientes de correo hacen que

le resulte complicado a los usuarios

añadir cabeceras. Anubis simplifica

este proceso para los usuarios ya que

analiza la línea asunto:

if header [Subject] U

"^ *\\[sig\\](.*)"

remove [Subject]

add [Subject] "\1"

signature-file-append yes

La instrucción if comprueba si la línea

asunto empieza con [sig] (Sintaxis Posix

extendida, si no, no está precisamente

especificada). Entonces elimina la línea

asunto entera y añade una línea nueva

que refleja parte de la línea original del

asunto que sigue a [sig]. Para ello, \1 re-

ferencia a la cadena entre corchetes pasa-

da por la expresión regular.

La línea asunto es tan útil para coman-

dos que Anubis posee su propia sintaxis

para manipularla: Disparadores. Los

usuarios pueden disparar eventos a través

del correo añadiendo el comando al final

de la línea de asunto seguido por dos ca-

racteres “@”, como cualquier cade-

na@@sign. El siguiente disparador se

encargará de todo:

trigger "sign"

gpg-sign meU

@daniel.stefan.haischt.name

done

El comando gpg-sign firma el cuerpo del

correo electrónico con la clave ID especi-

ficada. Para ello las claves GPG del

usuario deben estar disponibles en el

directorio ~/.gnupg, y los ficheros de

configuración de los usuarios ~/.anubis-

rc deben contener la contraseña GPG

(gpg-passphrase “micontraseña”). GPG

necesita las ID de las claves de los usua-

rios para realizar la encriptación. Un dis-

parador extendido que analiza datos de

la línea de asunto adicionales puede

realizarlo mediante:

trigger : U

extended "^encrypt:(.*)"

gpg-encrypt "\1"

add [X-GPG-Comment] U

"Encrypted for \1"

done

La línea de asunto contiene el disparador

encrypt seguido por la ID de la clave del

receptor:Hola Juan!@@encrypt:Receiver-

Key.

Anubis Astuto y SutilTareas más complejas requieren de un

lenguaje de programación más potente

y Anubis proporciona esto por medio

del lenguaje de script Guile (un dialecto

de Scheme). Incluso se pueden utilizar

programas externos para la manipu-

lación del correo. En combinación con

los comandos integrados, GNU Anubis

soporta además técnicas extremada-

mente flexibles para procesar cabeceras

de correo y contenidos. La fuerza real

de este programa reside en la habilidad

para realizar cualquier clase de mani-

pulación sobre el correo que se pueda

imaginar. Al mismo tiempo, el soporte

integrado PGP/GnuPG ahorra bastante

trabajo de configuración.

La autenticación de usuarios aún

tiene bastantes cosas que mejorar. (El

modo Pixie aplica la solución poco

segura Ident y el modo Dixie almacena

las contraseñas en la base de datos en

claro). Las claves PGP y las configura-

ciones específicas de los usuarios se

almacenan en el sistema de ficheros en

vez de en la base de datos. Y además

de esto, hay que añadir la carencia de

soporte LDAP y PGP/Mime, junto con

el hecho de que Anubis aún no es

capaz de desencriptar los mensajes

entrantes. Esperamos que en las próxi-

mas versiones del programa se mejoren

todas estas características. �

Anubis entiende unas cuantas variantes

de expresiones regulares. La configu-

ración utiliza las siguientes etiquetas

para identificar las expresiones regu-

lares:

• :regex o :re: Expresiones regulares

simples (Posix Extendido por defecto)

• :basic: Conmuta a Posix básico

• :extended: Conmuta a Posix exten-

dido (por defecto)

• :perl o :perlre: Expresiones regulares

compatibles con Perl (sólo si el

soporte PCRE está compilado en Anu-

bis)

• :exact o :ex: Sin expresiones regu-

lares, el patrón debe ser una coinci-

dencia exacta

• :scase: Distingue entre mayúsculas y

minúsculas

• :icase: No distingue entre mayúsculas

y minúsculas

Una sentencia puede contener una

secuencia de etiquetas: :perl:scase sig-

nifica expresiones PCRE y con distinción

entre mayúsculas y minúsculas. La sen-

tencia regex :perl:scase establece esta

variante como opción por defecto.

Formatos de ExpresionesRegulares

[1] GNU Anubis: http://www.gnu.org/

software/anubis/

[2] GNU Privacy Guard: http://www.

gnupg.org

[3] GPG Relay: http://sites.inka.de/tesla/

gpgrelay.html

[4] Kuvert: http://www.snafu.priv.at/

mystuff/kuvert/

[5] PGP Universal: http://www.pgp.com/

products/universal/

[6] GPG Shell (Windows): http://www.

jumaros.de/rsoft/

[7] Python Ident Daemon: http://www.

alcyone.com/software/fauxident/

[8] Windows Identd: http://identd.dyndns.

org/identd/

[9] Enigmail plugin: http://enigmail.

mozdev.org

[10] MSMTP: http://msmtp.sourceforge.

net

[11] ESMTP: http://esmtp.sourceforge.net

RECURSOS

Page 69: Linux Magazine - Edición en Castellano, Nº 16

7373ISSUE 52 MARCH 2005W W W . L I N U X - M A G A Z I N E . C O M

Bienvenidos a Linux UserÉsta es la sección dedicada a la presentación de software interesante y útil que nos ayuda en nuestro quehacer diario con

el escritorio Linux. Aquí aprenderemos a utilizar software estándar de una manera más eficiente, adquiriremos valiosos

conocimientos y descubriremos nuevas y apasionantes aplicaciones.

Ktools: Kpowersave 70

KPowersave ofrece a los usuarios de KDE una inter-

faz sencilla y fácil para configurar los opciones de

administración de energía.

Gimp 72

Gimp te ayudará a mejorar la calidad de tus menos-

que-perfectas imágenes digitales.

Fortune 74

El programa Fortune presenta un refrán o una broma

cuando arrancas una sesión en tu terminal. También

puedes adjuntarlo a tu firma de correo para alegrar

tus mensajes.

Educación: Squeak 76

Squeak puede ser el entorno educativo definitivo.

Comenzamos su análisis para su aplicación en las

aulas en este artículo de Juan Rafael Fernández.

Línea de comandos: Ispell 81

Nadie está a salvo de gazapos y de los enredos con

palabras. Correctores de ortografía como Ispell y

Aspell se encargan de mantener las letras en su

lugar correcto.

Juegos: Quake IV 84

Llega a Linux todo un clásico de los first-person-

shooters: Quake 4 trae más armas, más efectos, más

sonidos y más malos a quienes masacrar.

Page 70: Linux Magazine - Edición en Castellano, Nº 16

un paquete para la distribución que se

posee, puede compilarse el código fuente

que se puede obtener en el mismo sitio.

Para ello, hay que descargar el archivo

dbus-0-50.tar.gz, y para desempaquetar

dar al comando tar -xzvf dbus-0.50.tar.gz.

Tras haber desempaquetado los

ficheros fuente de D-Bus, se cambia al

nuevo directorio dbus-0.50, se escribe ./

configure para crear un Makefile, y se

compila el programa introduciendo

make. El proceso se completa corriendo

su -c “make install” e introduciendo la

contraseña de superusuario. Este paso

instala D-Bus donde se necesita dentro

del árbol del sistema de ficheros.

Los pasos requeridos para la insta-

lación de HAL son similares. Para

Powersave se introduce autoreconf -fi

para crear un Makefile, luego se continúa

con el procedimiento estándar para com-

pilar e instalar.

Finalmente se instala KPowersave . El

archivo de código fuente está disponible

desde la página de inicio en [1]. Se

desempaqueta el código fuente y se cam-

bia al nuevo directorio kpowersave-0.5.

Una vez en él, se escribe make -f admin/

Makefile.common cvs para crear planti-

llas para los makefiles. El script de con-

figuración crea luego los makefiles. Por

último, se introduce make y make install

para compilar e instalar el programa.

TrampasTanto KPowersave como Powersave (el

cual viene con la distribución

KPowersave) resultaron ser completa-

mente intratables durante la instalación y

en nuestro laboratorio. Fuimos incapaces

de compilar Powersave en Mandriva 10.2

y Kubuntu 5.04. Sobre Suse 9.3 la

máquina no quiso despertarse de nuevo

después de desconectarlo con el modo

sleep. De hecho, no tuvimos más alterna-

tiva que resetearla, lo cual es algo que

habitualmente se desea evitar. En contra-

posición con esto, no hubo ningún pro-

blema en OpenSuse 10.0, donde todo

funcionó tal y como se esperaba.

Para arrancar KPowersave, se escribe

kpowersave en una ventana de consola o

se selecciona el programa desde el menú

K. Después de arrancar, KPowersave se

70

LINUX USER • KPowersave

70 Número 16 W W W . L I N U X - M A G A Z I N E . E S

El hardware moderno viene con un

buen número de opciones para

economizar energía. KPowersave

[1] suministra una interfaz simple para la

administración de esas opciones de

energía en Linux.

Ayudas ÚtilesKPowersave requiere una versión actua-

lizada de KDE. También serán necesarias

unas cuantas aplicaciones asistentes. El

Hardware Abstraction Layer (HAL) [2]

facilita el acceso a los periféricos. La ver-

sión en la máquina deberá ser la 0.5.4 o

posterior. D-Bus, una tecnología que

usan los programas para comunicarse en

el Sistema X Window [3], debería ser la

versión 0.33 o superior, y también se

necesitará la versión 0.10.15 de

Powersave [4] o superior.

Si no se posee la versión actual de

OpenSuse o la distribución Linux ALT,

será necesario compilar KPowersave así

como las aplicaciones asistentes a partir

de sus fuente.

Se comienza cargando D-Bus en el

disco duro. Si una visita a [3] no ofrece

Un corte de energía cuesta con KPowersave

AHORRO DE ENERGIAUn corte de energía cuesta con KPowersave

AHORRO DE ENERGIA

KPowersave ofrece a los usuarios

de KDE una interfaz sencilla y fácil

para configurar los opciones de

administración de energía.

POR FRANK WIEDUWILT

Page 71: Linux Magazine - Edición en Castellano, Nº 16

71

KPowersave • LINUX USER

71Número 16W W W . L I N U X - M A G A Z I N E . E S

mete en la bandeja del sistema, mostran-

do una pila como icono, si el ordenador

portátil está funcionando con energía

proveniente de su batería, o un enchufe

si estamos conectados a una fuente de

energía externa. Puede hacerse un clic

sobre el icono para que aparezca un

menú con los controles del programa.

Si se hace clic sobre Set CPU Frecuency

Policy se nos permitirá elegir entre ejecu-

tar, respuesta dinámica a la carga actual o

ahorrar energía. Si se activa Set active

scheme, se permitirá preconfigurar políti-

cas para escenarios específicos en los que

se usará el ordenador.

La opción Performance reduce al míni-

mo las opciones de ahorro de energía.

Acoustic reduce el nivel de ruido del

ordenador mediante la introducción, tan

pronto como sea posible, del modo de

ahorro de energía. Presentation detiene la

desconexión de la pantalla a pesar de la

ausencia de salida de teclado

y ratón.

Por último, Powersave

reduce la velocidad de la CPU

y acorta los intervalos antes

de que las entradas al orde-

nador pasen a modo sus-

pendido. Para enviar al orde-

nador la orden de que pase al

modo suspensión a RAM o

suspensión a disco, es preciso

hacer clic sobre el elemento

del menú de KPowersave que

indique la acción.

AjustesAdemás de todas estas prácticas configu-

raciones, el programa también permite

definir un número determinado de

parámetros para una configuración de

usuario específica. Nuevamente, puede

accederse al diálogo a través del menú

contextual. Es preciso destacar que los

ajustes que se aplican a KPowersave

pasarán a afectar a otros programas, por

lo que habrá que andarse con cuidado.

La primera página del diálogo (Figura

1) permite modificar la configuración de

los esquemas que presenta KPowersave

cuando se hace clic sobre el icono (Figura

2). Puede establecerse el comportamien-

to del salvapantalla, DPMS, y auto sus-

penderlo individualmente para cada

ajuste.

También se dispone de la opción de

desconexión del salvapantalla e intro-

ducción del modo sleep, standby (espera)

y acortar los intervalos para

KPowersave. Es necesario usar

Autosuspend para especificar el

intervalo de inactividad antes de

que el programa disponga al

ordenador en modo suspendido.

La segunda etiqueta en el diá-

logo de configuración presenta las

opciones para los tiempos de

arranque del programa y para el

bloqueo de la pantalla. Puede

especificarse si el sistema debe

bloquear la pantalla cuando se

cierra la tapa. En este caso es

necesario introducir una con-

traseña para poder continuar

cuando abramos la tapa. Lock

screen with: permite especificar

qué programas usará KPowersave

para cerrar la pantalla.

El elemento Edit general black-

list ofrece un diálogo en el que se

pueden especificar programas que impi-

dan que la máquina pase a modo sus-

pendido. La herramienta ofrece una lista

de programas, incluyendo programas de

TV, ripeadores de CD y herramientas de

presentación. Es posible añadir a la lista

aplicaciones no-interrumpibles propias.

El botón Sound settings nos lleva hasta

un diálogo en el que se pueden asignarse

sonidos a eventos, tales como energía de

la batería baja.

ConclusionesEl programa me deja con algunas dudas.

Sobre OpenSuse, KPowersave cumple su

promesa de hacer más fácil a sus usuarios

el establecimiento de las opciones del

ahorro de energía mediante su asignación

a un simple botón. Sin embargo, sobre

distribuciones un poco más antiguas, la

compilación de la aplicación y de sus asis-

tentes, así como el hecho de correr el pro-

grama, presentan dificultades.

A pesar de todo, el software está bien

encaminado, pero Linux ofrece a sus

usuarios otras muchas opciones para la

administración del ahorro de energía.

Aparte de KPowersave, existe un módulo

Yast, una aplicación WindowMaker y un

applet Gkrellm. La buena noticia es que,

sea cual sea la distribución que se use,

seguro que encontraremos una he-

rramienta de ahorro de energía en alguna

parte. �

Figura 2: Elige el esquema y configura otros reque-

rimientos tales como la Política de Frecuencia de la

CPU a través de un menú de contexto de fácil manejo.

Figura 3: La opción Autostart arranca KPowersave

automáticamente.

Figura 1: Configuración de los esquemas de KPo-

wersave.

[1] KPowersave: http://freshmeat.net/

projects/kpowersave.

[2] HAL: htp//freedesktop.org/~david/dist/

[3] Dbus: http://hal.freedesktop.org/wiki/

Software_2fdbus

[4] Powersave: http://sourceforge.net/

projects/powersave/

RECURSOS

Page 72: Linux Magazine - Edición en Castellano, Nº 16

gen causadospor larotación. Para ello, en primer lugar sehace clic sobre la imagen y luego se arras-

tran las manijas a la parte

superior izquierda y a la inferior derechade la selección hasta que la imagen quedecubierta.

En nuestro ejemplo, no solamente eli-minamos el borde vacío sino que tambiéncortamos estos bordes para crear una sec-ción dorada (Figura 3). La sección doradaes un concepto artístico que ha estado enboga durante algún tiempo, pero simple-mente alude a que una imagen parecemás armoniosa cuando el motivo princi-pal ocupa el centro geométrico en vez delel centro óptico. Para encontrar esta sec-ción dorada divide cada lado de la imagenen dos secciones, de modo que la relación

entre las secciones mayor y máspequeña sea aproximadamente lamisma que la relación entre la sumade las dos secciones con respecto a lasección más grande. Ésta es una por-ción de aproximadamente 1.618:1. Elpunto de intersección constituye laposición perfecta para situar el moti-vo central de la imagen.

Correccióndel Color conun solo clicNuestra foto demuestra se encuen-tra ligeramenteinfraexpuesta y suescaneo ha hechoque los colores seanverdosos y azula-dos. Ésta no es unarepresentaciónapropiada de loscolores que existenen la vida real.

La herramienta Layer | Colors | Levels

elimina este tipo de imperfecciones. En elgráfico, los valores a la izquierda sonpara tonos oscuros mientras que los de laderecha lo son para los claros. Los

vacíos indican un defecto decolor que podría ser

causado

72

LINUX USER • Gimp

72 Número 16 W W W . L I N U X - M A G A Z I N E . E S

La imagen central de tu foto seencuentra un poco descentrada y laexposición no es exactamente la

que se esperaba. El flash originó algunosreflejos indeseados y los colores revelanun tiempo meteorológico no demasiadoapropiado (Figura 1). Pero lo cierto es quepasaste unas inolvidables vacaciones ypor eso desearías que tus fotos fueran tanperfectas como lo siguen siendo en tumemoria aquéllos días. Gimp puede ayu-darte a conseguir sacarle lo mejor de esasimperfectas fotos.

La Perspectiva CorrectaUno de los errores más obvios se debe aque el fotógrafo no sujeta la cámara co-rrectamente. Gimp puede corregirlo usan-do la herramienta rotación (Rotate the

layer or selection). Se mantiene como pre-determinado Transform layer para Affect:,y se selecciona Cubic (mejor) paraInterpolation para conservar todos losdatos posibles de la imagen.Seguidamente es preciso arrastrar el ratónpara rotar la imagen hasta que los már-genes estén derechos.

Después puede usarse laherramienta de cortepara eliminar losespacios en blan-co en los bor-des de laima-

Rescata tus instantáneas veraniegas con Gimp

FOTOSPERFECTASGimp te ayudará a mejorar la calidad de tus menos-que-perfectas imá-

genes digitales. POR PETER KREUSSEL

Figura 1: Luz

tenebrosa,

pérdida de

color y algunos

balanceos de

la cámara…

Gimp aún

puede rescatar

el momento. Figura 2: Después de procesada, la calidad de

la imagen se encuentra visiblemente mejo-

rada.

Page 73: Linux Magazine - Edición en Castellano, Nº 16

73

Gimp • LINUX USER

73Número 16W W W . L I N U X - M A G A Z I N E . E S

por el escáner, pero que igualmentepodría estar originado por el sensor de lacámara digital o también por una ilumi-nación pobre (Figura 4). En el Channel

inferior se seleccionan uno a conti-nuación del otro los colores rojo, verde yazul haciendo clic en el botón Auto cadavez para completar los huecos. El controlde la distribución de la luminosidadayuda a compensar la infraexposición.Para permitir que el control modifiquelos tres canales al mismo tiempo, es pre-ciso eliminar la selección del últimocanal de color que se tenía seleccionadoestableciendo Channel to Value.Posteriormente, para iluminar la imagen,se usa el ratón para arrastrar el controlde la luminosidad a la izquierda o seescribe un valor positivo mayor que 1 enel cuadro central y se hace clic en OK.Un valor inferior a 1 oscurecerá la ima-gen.

Nótese que esta herramienta tambiéneliminará tonos naturales, tales como elrojo de una puesta de sol. También afec-tarán a los resultados las áreas monocro-mas y la ausencia de sombreado. En estecaso, es preferible la herramienta Layer |

Colors | Color balance.

¡Que brille el Sol!Con los cambios que se han realizado hastael momento se ha conseguido que la fotosea más realista que la menos-que-perfectaoriginal. ¿Pero se desea realmente guardaruna grabación auténtica de un día de llu-via? La herramienta Layer | Colors| Hue-

Saturation permite incrementar los valoresde saturación, dando como resultado co-lores más intensos. Empujando los maticeshasta un rango negativo, puede incremen-tarse el espectro del rojo para conseguir co-lores más cálidos. Si se añade más lumi-nosidad, incluso la foto de un día lluvioso,parecerá que se ha tomado mientras brilla-ba el sol.

Los reflejos en la fotografía debidos alflash nunca son deseables. Gimp puedeeliminarlos pintando las áreas con datos deimagen de áreas vecinas. Para hacerlo, seselecciona el área que se desea eliminarusando la herramienta varita (Select con-

tiguous regions).En las opciones de herramientas, se

habilita Feather edges y se introduce unradio de 10. El campo Threshold: permiteespecificar un valor de umbral para espa-cios que la función debería tratar comosimilar. Un valor de 30 está bien para nues-tro ejemplo. A continuación se hace clic enel centro de la reflexión para seleccionar laregión que se desea eliminar. Si es nece-sario, se presionan las teclas [+] y [-] parahacer zoom de acercamiento y alejamiento.

Para volver a usar esta selección, puedeguardarse usando la opción del menú Select

| Save to channel. Se selecciona la he-rramienta de movimiento y se establece laopción Affect: en Transform selection. Setraslada la selección a un área con un colorsimilar, tal y como se muestra en la Figura5; puede crearse una copia presionando[Ctrl]+[C].

Si se hace [Ctrl]+[L] se abren las capasde diálogo y se crea una nueva. Para cam-biar el canal de diálogo se presiona Dialogs

| Channels), se hace clic en Selection mask,y se selecciona Channel to selection. Estodesplaza la selección hacia atrás, esto es, asu posición original.

En las capas de diálogo, se selecciona lacapa que se acaba de crear, y luego se pre-siona [Ctrl]+[V] para insertar el contenidodel portapapeles en la selección. Ahorapuede usarse el cursor para ajustar la opaci-dad para igualar la región circundante.Deshabilitando View | Show selection yView | Show layer boundary obtendremosuna visión mejor de la imagen.

La herramienta marca de pintura deberíadar mejores resultados con algunas imá-genes. Para experimentar, se selecciona unabrocha con un borde suave (Circle Fuzzy

permite elegir un tamaño adecuado), traslo cual se establece primero la opacidad al50% o menos. Se mantiene presionado[Ctrl] y se hace un clic derecho para decirlea Gimp que use los valores del color en estaregión. Luego pueden presionarse losbotones del ratón para pintar el área objetocon dichos valores.

Otros RetoquesA menudo las fotos están malogradasdebido a los ojos rojos que se originancuando el flash se refleja en ellos. Paraeliminar esos horribles ojos rojos se usa laherramienta varita para seleccionar la zonaafectada, se habilita Feather edges y seestablece un valor en torno a 10 dependien-do del tamaño del ojo con el que se esté tra-bajando.

Si se hace clic en esa región pero se selec-ciona con la herramienta varita una zonademasiado grande, se podría reducir lamisma con el valor Threshold; en cambio,si el área seleccionada es demasiadopequeña, sería preciso incrementar dichovalor. Con [Ctrl]+[Z] puede volverse a laimagen inicial si el experimento resultó fa-llido.

Cuando la selección se realiza a nuestrogusto, se elimina este efecto haciendo clicen Layer | Colors |Desaturate. Además, secambia la luminosidad en el diálogo Layer |

Colors | Levels moviendo el control de lumi-nosidad izquierdo a una distancia razo-nable a la derecha.

Retoque FácilLas técnicas discutidas en este artículomuestran cómo pueden mejorarse las fotosen unos cuantos pasos. Claro que, sola-mente uno mismo puede decidir la imagenmejorada que más se acerca a la memoriapersonal. �

Figura 3: La sección dorada es un impor-

tante principio de diseño.

Figura 5: Eliminación de un reflejo copiando

de un área diferente.

Figura 4: Herramienta de corrección de color

automática.

Page 74: Linux Magazine - Edición en Castellano, Nº 16

¿Cómo dice?La forma más sencilla de correr la

herramienta es teclear el comando

fortune, el cual ofrece como salida una

cita o un chiste (Figura 1). Los dichos

se toman de unos ficheros de bases de

datos que se incluyen en el programa.

Los ficheros de la base de datos

residen típicamente en la carpeta /usr/

share/fortune/. Mandriva almacena los

ficheros en /usr/share/games/fortunes.

Pero fortune -f permite encontrar de

manera rápida los temas que cubre su

versión de Fortune.

Si se desea restringir fortune a un

fichero de la base de datos de citas

único, simplemente será necesario

especificar el fichero como un

parámetro. Escribiendo

fortune startreck linuxcookie

Fortune restringirá sus citas a las

relativas a Star Trek (incluyendo su fecha

estelar) y diversos temas relativos a

Linux.

Prolijo y VersátilSi las bases de datos de citas de las que se

dispone no son de tu gusto, puede

conseguirse algo más apropiado en

Internet. El sitio especificado en [2] es un

buen lugar donde comenzar a buscar. Los

fans de los Simpsons estarán encantados

con los contenidos de [3]. Para nutrir a

Fortune con las citas de Bart Simpson se

descarga y desempaqueta el fichero, y

luego se arranca el servidor introduciendo

fortune U

./fortune-simpsons-chalk board U

/chalkboard

Si se pretende correr Fortune con

determinadas bases de datos que no

están incluidas por defecto, es una buena

idea crear un directorio separado para

cada base de datos: ~/.my_quotations,

por ejemplo. Luego podrá copiarse la

base de datos de citas y el fichero

acompañante .dat, por ejemplo

74

LINUX USER • Fortune

74 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Si se desea conocer el futuro sin

tener que esperar hasta tu próxima

comida china, ¿Por qué no

configuras tu ordenador personal Linux

para distribuir galletas de la “fortuna”

virtuales?

¿Qué Versión?La mayoría de las distribuciones Linux

incluyen una herramienta fortune-cookie

conocida como Fortune. El paquete para

Suse 9.3 se denomina fortune. Los

usuarios de Gentoo disponen del comando

emerge fortune-mod para añadir la pitonisa

virtual a su colección de software.

La herramienta original Fortune fue

escrita en 1986 por Ken Arnold y se ha

seguido desarrollando desde entonces. En

1995, Amy A. Lewis creó una versión

aumentada sobre la cual está basada

fortune-mod, y cuyo año de lanzamiento

fue el 2004.

Me centraré en la versión antigua, pero

pueden seguirse todos los ejemplos si la

distribución de que se dispone incluye el

paquete fortune-mod.

Galletitas de la suerte para Linux

LA PITONISA

El programa Fortune presenta un refrán o una broma cuando arrancas

una sesión en tu terminal. También puedes adjuntarlo a tu firma de

correo para alegrar tus mensajes. POR HAGEN HÖPFNER

Figura 1: Introducción del comando Fortune en

una ventana de terminal para que presente una

cita o chiste.

Page 75: Linux Magazine - Edición en Castellano, Nº 16

75

Fortune • LINUX USER

75Número 16W W W . L I N U X - M A G A Z I N E . E S

chalkboard y chalkboard.dat en el nuevo

directorio.

Para decirle a Fortune que analice esta

carpeta, simplemente hay que especificar

la ruta cuando llama al programa: fortune

~/.my-quotations. Si se desea añadir una

nueva base de datos de citas a los ficheros

existentes, simplemente hay que

especificar las dos rutas en la línea de

comandos. Pueden usarse porcentajes

para incrementar las probabilidades de

que Fortune seleccione una cita de tu

directorio favorito: fortune 90% ~/

.my_quotations 10% /usr/share/fortune

te asegurará que el 90% de todas las citas

proceden de tu propia colección. Pero es

preciso asegurarse de que los porcentajes

sumen un total de 100%, de lo contrario

Fortune lanzará un error.

Más RefranesSi se quiere añadir a Fortune una base de

datos que no fuera en Inglés, es

conveniente echar una ojeada a la

colección en [4]. Las páginas incluyen

una base de datos de Fortune en español

bajo fortune-es_1.24.tar.gz. Cuando se

desempaquetan los ficheros de las citas se

encontrarán localizados

en la carpeta Datfiles.

Sin embargo, el paquete

no incluye los ficheros

índice para las

colecciones, es decir, los

ficheros .dat no se

encuentran. Cuando se

llama a fortune/

provierbios.fortune, el

programa presenta un

mensaje de error en el

que dice que no puede

encontrar la base de

datos.

Afortunadamente, la

herramienta necesaria

para crear un índice,

strfile se instala automáticamente junto

con el programa Fortune. strfile analiza

los ficheros como bloques de texto

separados por simples signos de

porcentajes. Usa esta información para

crear un fichero con un índice para los

bloques de texto. La sintaxis para nuestro

ejemplo sería

/usr/sbin/strfile U

provierbios.fortune U

provierbios.fortune.dat

La herramienta strfile también es útil si se

desea crear una base de datos a partir de

un fichero con sus propias citas. Primero

es preciso crear un fichero de texto con

las citas y refranes requeridos. Hay que

seguir cada entrada en el fichero con una

línea que contenga un signo de

porcentaje, como en

La venganza es un plato queU

se sirve frío.

%

No por mucho madrugar, amaneceU

más temprano.

%

Luego se elige un nombre para almacenar

el fichero, como por ejemplo,

my_fortunes, y seguidamente se corre el

comando /usr/sbin/strfile my_fortunes

my_fortunes.dat para crear el índice.

Sin PreocupacionesAdemás de ofrecer un interesante

artilugio para la línea de comandos,

Fortune tiene otros usos. Por ejemplo,

podría añadirse una llamada a Fortune al

final del fichero ~/.bashrc para que el

programa te recibiera con un refrán

absurdo diferente cada vez que se abre

una ventana de terminal.

Fortune también es útil en combinación

con un salvapantalla. En KDE puede

combinarse con el salvapantalla

Phosphor, por ejemplo (Figura 2). Si no se

usa KDE, el comando xlock-mode-

marquee ofrecerá un salvapantalla con

muchas variaciones.

Fortune es también útil como generador

de firmas para correo. Por ejemplo,

Kontact tiene una opción que permite

configurar una firma para cada ID de

correo en Settings/ Configure Kmail. Para

permitirle al programa que añada una cita

o refrán al correo electrónico, es preciso

hacer doble clic en la identidad y en la

ventana Edit Identity seleccionar la

etiqueta Signature. Hay que marcar el

cuadro Enable Signature en la etiqueta

Signature, posteriormente hay que

seleccionar Output of command en el

menú inferior Obtain Signature text from:

y hay que introducir el comando Fortune

en el cuadro etiquetado Specify command

(Figura 3).

Es buena idea correr Fortune con las

opciones -s -n 320 para las firmas de

correo. -s le dice a Fortune que mantenga

salidas “short” (esto es, cortas), mientras

que el comando -n 320 le dice que

considere todas las citas de menos de 320

caracteres como cortas.

Otros programas de correo, tales como

Sylpheed también disponen de opciones

para el uso de citas Fortune como firmas.

Pero no se preocupe si sus programas no

disponen de esta opción. Fácilmente

puede escribirse un script o establecer un

cron para que invoque a Fortune a

intervalos regulares y escriba la salida del

comando al fichero ~/.signature. Luego

puede configurar el programa de correo

para que use los contenidos del fichero

como firma. �

Figura 2: Algunos salvapantallas como Phosphor de KDE

pueden integrar Fortune.

Figura 3: Habilitando Fortune como un gene-

rador de firma en las configuraciones de identi-

dad de Kontact.

[1] fortune-mod: http://www.redellipse.

net/code/fortune

[2] Bases de datos de Fortune en Fresh-

meat: http://freshmeat.net/browse/

895

[3] Citas de Bart Simpson: http://www.

splitbrain.org/Fortunes/simpsons/

fortune-simpsons-chalk-board.tgz

[4] Fortunes de Debian: http://packages.

debian.org/unstable/games/

RECURSOS

Page 76: Linux Magazine - Edición en Castellano, Nº 16

76

LINUX USER • Educación

76 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Squeak rompe nuestros esquemas.

Por un lado es visualmente dis-

tinto, y además eso de poner a

los alumnos a programar… Squeak parte

de la tan citada premisa de que se

aprende haciendo, y la concreta con la

idea de que los ordenadores son las he-

rramientas que permiten un nivel de

visualidad y de realismo de las simula-

ciones y modelos que no se podían

alcanzar hasta ahora. Su uso conlleva un

cambio en la forma de dar clase.

También el convencimiento de que parte

de la evolución del mundo de la infor-

mática ha seguido un camino equivoca-

do, que ha convertido a los usuarios en

clientes a los que hay que devolver el

control del ordenador y de su proceso de

aprendizaje. Y que el esfuerzo que impli-

ca para los profesores está justificado y

es necesario. Lo escribe Alan Kay con

todas sus letras: «Virtualmente todas las

dificultades de aprendizaje a las que se

enfrentan los niños están causadas por la

incapacidad de los adultos para estable-

cer entornos de aprendizaje razonables

para ellos. El principal obstáculo para la

mejora de la educación de los niños, con

o sin ordenadores, es la imaginación

extremadamente pobre de la mayoría de

los adultos»[1]. ¿Quién tiene miedo a un

desafío intelectual? Nosotros no, ¿ver-

dad?

Squeak,primeramirada¿Qué es

Squeak?[2] Fácil,

el ruido que hace

un ratón inglés[3].

Vale vale, muy

ingenioso, eso

explica la masco-

ta. ¿Y el Squeak de

nuestros orde-

nadores, el Squeak

de la figura 1?

Miremos por

partes. Desde determinado punto de

vista es un entorno creado con un

lenguaje de programación orientado a

objetos, Smalltalk, que permite al

usuario la manipulación de los objetos

Smalltalk[4]. El paciente lector estará

pensando: ya ha dado la explicación

rara, a ver si viene ahora la explicación

sencilla. Vamos a intentarlo: imaginen el

momento en que escribo, en un rectán-

gulo blanco incluido en una ventana con

unos iconos (Nuevo, Abrir, Guardar…) y

unos widgets (la barra de desplazamien-

to, la barra de estado, pestañas…), este

editor ha sido creado con un lenguaje

que utiliza clases y objetos para dibujar

la ventana, los controles, las operaciones

que puedo realizar, borrar palabras,

seleccionar fragmentos de texto, cam-

biarlos de sitio (los métodos). ¿Y si

dejamos esos objetos vivos para que el

usuario pueda transformarlos? Esa es

una de las cosas que es Squeak, el aspec-

to técnico.

Squeak es también una máquina vir-

tual como la de java, una capa situada

por encima del sistema operativo, y por

tanto independiente de él: hay máquinas

virtuales Squeak para cualquier sistema

operativo. Intenta ser el sistema operati-

vo que usaríamos si no estuviéramos

anclados en tecnologías de hace treinta

años (repito ideas que he oído a

Todos escribimos sobre Squeak. Claro, uno también. Tenemos la idea de que Squeak es una aplicación que

puede ayudar a cambiar la forma de enfocar la enseñanza y el aprendizaje, pero nos cuesta explicarnos y

ser convincentes. Vamos a intentarlo. POR JUAN RAFAEL FERNÁNDEZ GARCÍA

Todos escribimos sobre Squeak. Claro, uno también. Tenemos la idea de que Squeak es una aplicación que

puede ayudar a cambiar la forma de enfocar la enseñanza y el aprendizaje, pero nos cuesta explicarnos y

ser convincentes. Vamos a intentarlo. POR JUAN RAFAEL FERNÁNDEZ GARCÍA

Figura 1:Esto es Squeak.

¿La herramienta que hará la revolución educativa?

SQUEAK¿La herramienta que hará la revolución educativa?

SQUEAK

Page 77: Linux Magazine - Edición en Castellano, Nº 16

77

Educación • LINUX USER

77Número 16W W W . L I N U X - M A G A Z I N E . E S

Francisco de Urquijo y a Diego Gómez

Deck). Pretende por tanto incluir todo lo

que de utilidad proporciona un sistema

operativo actual: editor de documentos y

presentaciones multimedia (quizás un

vistazo a la figura 2 nos puede orientar),

reproductor de sonido, video, sinteti-

zador de voz, navegador web, cliente de

correo…

Examinemos ahora con más detalle la

figura 1: a primera vista es un programa

que ocupa toda la pantalla, de colores

inusualmente vivos, y pequeñas ven-

tanas dentro. Lo que nosotros los profe-

sores y alumnos vemos de Squeak es

sólo una capa superficial, compuesta

fundamentalmente por eToys y Ensayos

activos. Leemos en Small-land[5]: «Los

eToys son ambientes de computadora

que ayudan a las personas a aprender

sobre sus ideas construyendo y jugando

con ellos. Los eToys ayudan a un usuario

(usualmente un niño) a crear un grato y

agradable modelo computacional de la

idea y provee de pistas sobre cómo la

idea puede ser ampliada». Un Ensayo

activo (Active Essay) «es un nuevo tipo

de medio literario que combina un

ensayo escrito, con simulaciones, y con

los programas de computación que

hacen que todo trabaje en orden para

proveer una profunda explicación de un

sistema dinámico. El lector trabaja direc-

tamente sobre diferentes representa-

ciones de los conceptos en discusión.

Jugando con las simulaciones y el códi-

go, el lector obtiene experiencia concreta

sobre el tópico».

Los profesores y alumnos trabajan con

estos tipos de objetos de alto nivel, y

pueden utilizar guiones para programar

visualmente el comportamiento de los

objetos. No se

espera de nosotros

que buceemos

hasta el código

Smalltalk subya-

cente (tampoco se

nos prohíbe ni se

nos oculta, las

fuentes están ahí

siempre).

Podemos llegar a

la conclusión de

que Squeak no es

un programa, es

un entorno espe-

cial donde se eje-

cutan programas

con una intención fundamentalmente

educativa; Squeak es un mundo para

crear mundos.

Instalar Squeak¿Cómo conseguir Squeak? Para un

debianita la respuesta semiautomática

sería: aptitude install squeak. Pero no es

tan sencillo, porque ciertos problemas

con la licencia (ver el cuadro 1) han

impedido que Squeak entre en los repos-

itorios de Debian (o Debian-edu/

Skolelinux). Sin embargo, sí hay paque-

tes instalables. Por un lado los de la

Fundación Squeak, basta añadir la línea

deb http://box2.U

squeakfoundation.org/files/U

debian/ unstable main

y obtendremos la versión 3.8a en inglés.

Podemos además añadir otra línea,

deb http://debian.ofset.orgU

sarge main

que nos proporcionará la imagen Freeduc

creada por el grupo de desarrollo francó-

fono[6] (figura 3). Pero si queremos una

versión española a la última es preferible

utilizar

deb http://www.linex.org/U

sources/linex/debian/ sargeU

main contrib linex non-free

que nos proporciona las fuentes, imágenes

y plugins para el navegador (versión edu-

carex-squeak_20060106-1 en el momento

de escribir estas líneas). Sugiero instalar

también los paquetes algebra-squeak y tusi-

tala; ya veremos más adelante su interés.

¿Fuentes, imágenes, plugins? Squeak

se presenta bajo la forma de varios com-

ponentes:

1. Un grupo de tres ficheros que repre-

sentan el conjunto del entorno y de los

programas en un estado dado. Para ser

más exactos:

1a.- uno o varios ficheros imagen

(.image), capturas de una sesión com-

pleta Squeak en código bytecode (estado

optimizado del código Smalltalk),

1b.- un fichero con las modificaciones

que un usuario ha efectuado sobre la

imagen (.changes, por ejemplo con ac-

tualizaciones, nuevos proyectos, etc.) y

1c.- un fichero con el código fuente

original (.sources).

2. Una máquina virtual (VM), un eje-

cutable propio del sistema operativo

huésped, que puede interpretar ficheros

imagen. Y un plugin para poder ejecutar

el código en remoto desde un navegador

(la figura 4 nos muestra un recurso lla-

mado simstory ejecutado desde el nave-

gador).

3. Pero ahí no queda la cosa. Desde la

versión 3.7[7] es posible utilizar el

Cargador de Paquetes SqueakMap (figu-

ra 5) para descargar e instalar paquetes

desde internet.

4. Y lo más importante: podemos

guardar nuestros proyectos (ficheros

.pr), exportarlos e importarlos de reposi-

torios (figura 6).

Si hemos instalado varias imágenes

(en ~/.squeak/) al lanzar la máquina

virtual se nos ofrecerá la posibilidad de

seleccionar qué imagen deseamos ejecu-

tar (figura 7).

Los duros hechosTodos los conocemos: esos alumnos

desertores viscerales de la escuela que

luego son capaces de repetir sin pes-

tañear las alineaciones completas de

todos los clubes de primera y segunda

división o el plano completo de los

reinos del Señor de los anillos. Alumnos

a los que no se les saca una frase en

inglés y luego son capaces de desen-

trañar el sentido de un abstruso texto en

imitación de inglés medieval para avan-

zar en el juego de rol. O robar con-

traseñas del messenger (bueno, eso ya

no tiene mucho mérito). Anotemos la

forma en que plantea el problema

Papert: «al intentar enseñar a los niños lo

que los adultos quieren que aprendan,

¿utiliza la escuela los métodos a los que

Figura 2: Jugando con texto.

Page 78: Linux Magazine - Edición en Castellano, Nº 16

var al extremo la tendencia generalizada

a repetir las formas de la enseñanza

tradicional con nuevas herramientas.

Más: qué bonitas son algunas anima-

ciones, esas páginas web con profusión

de flash… nosotros nunca llegaremos a

hacer cosas de ese nivel. Menos mal que

se pueden alquilar, y pagaremos por el

uso de repositorios llenos de recursos

cómodos de utilizar. Qué escuela más

moderna será aquella en la que los orde-

nadores saluden «hola, Juanito», hoy te

toca realizar la tarea 33 del nivel 5, todo

muy multimedia y estándar IMS LD,

usabilizado y afectivizado con la garan-

tía de la empresa X.

El razonamientoAprendizaje constructivo. Todos, todos

los artículos de pedagogía empiezan así.

Con la lista de santos padres, Piaget,

Ausubel, Bruner. Y tras el paso al ciber-

mundo, Papert y Kay. No sé si la peda-

gogía del siglo XX algún día llegará a ser

una ciencia y si será bueno seguir tro-

ceando conocimientos cada vez más pro-

fundos acerca de casi nada, pero la labor

de un profesor de secundaria que escribe

artículos es picotear, buscar una perspec-

tiva y hablar todo lo claro que sea posi-

ble.

Cuando una hipótesis científica se

convierte en retórica pedagógica hay que

repensarla. Volver al principio, plantarse

la cuestión del modo más sencillo: los

filósofos saben que todo conocimiento es

construcción al menos desde Descartes

(por no aventurarme a asegurar como

hacía el otro que todo está en Platón). Es

curioso el hilo de continuidad que

naturalmente acuden los humanos cuan-

do aprenden en situaciones no rela-

cionadas con la escuela?»[8].

Otro hecho: qué absurdos son los

pasatiempos. ¿Qué sentido tiene romper

una foto en fragmentos para que otra

persona recomponga la frase original?

¿qué sentido tiene cambiar el orden de

unas palabras en una frase, o borrar una

de cada x palabras, para luego no llegar

más allá que a la frase original? Qué

absurdos son algunos ejercicios y qué

inútiles son algunos exámenes.

Otra: confieso que he vivido, que he

visto flotas enteras arder en galaxias…

digo… he visto justificar como trabajo

con los ordenadores hacer a los alumnos

copiar con un editor de texto los ejerci-

cios del libro. Todos nos escandalizamos,

pero lo que hace este profesor es sólo lle-

LINUX USER • Educación

78 Número 16 W W W . L I N U X - M A G A Z I N E . E S

No es que el de la licencia de Squeak

(conocida como Squeak-L) sea un tema

recurrente, es que es un tópico perma-

nente que ha aparecido en las listas de sl-

educación (diciembre de

2003),Skolelinux/Debian-edu (marzo de

2004), Debian-legal (abril 2004)…

El texto en inglés de la licencia está en

http://squeak.org/SqueakLicense/ ,y la

licencia y sus problemas se comentan en

http://minnow.cc.gatech.edu/squeak/159.

Para comprender las dificultades que

implica, primero hay que familiarizarse

con la historia de Squeak, para lo que es

útil visitar http://minnow.cc.gatech.edu/

squeak/389 (para la prehistoria bien vale

http://gagne.homedns.org/~tgagne/

contrib/EarlyHistoryST.html).

«Squeak comenzó de forma muy sen-

cilla, a partir de las necesidades de un

grupo de investigación en Apple.

Queríamos que un sistema tan expresivo

e inmediato como Smalltalk pudiera con-

seguir varios objetivos en cuanto a las

aplicaciones desarrolladas: prototipos de

software educativo, experimentos con la

interfaz de usuario y (seamos honestos)

otro intento en el tema del Dynabook»

(su primer proyecto de ordenador per-

sonal, ver http://swiki.agro.uba.ar/

small_land/64; la cita procede de http://

minnow.cc.gatech.edu/squeak/158).

Con el paso del tiempo Apple se desin-

teresó por el proyecto, y Kay y su equipo

pasaron a trabajar para la Disney desa-

rrollando la aplicación; actualmente el

trabajo se realiza entre Hewlett Packard y

el Instituto Viewpoints Research (http://

www.viewpointsresearch.org/). Pero el

copyright sigue perteneciendo a una

empresa a la que no le interesa, y que

por tanto, no va a modificar.

Escribe el departamento legal de la sec-

ción europea de Apple a Knut Yrvin (de

Skolelinux) en marzo de 2004: «Squeak

es un producto obsoleto [sic] que ya no

desarrolla Apple, y por tanto, no es

factible que reexaminemos o modifique-

mos los términos de la licencia usada

por Squeak. No obstante, la comunidad

de Squeak de los Estados Unidos está

explorando la posibilidad de usar la

opción de relicenciamiento contemplada

en la licencia de Squeak para permitir

que una tercera parte acepte la cláusula

de indemnización, y permitir así a

proyectos del estilo de Debian incluir

Squeak con una licencia derivada (down-

stream» ¿se traduce aquí por derivada?,

no soy abogado).

Ese es el primer problema, acom-

pañado por el hecho de que Smalltalk y

el origen de Squeak datan de los años

setenta y por tanto son anteriores y

ajenos al origen del movimiento del

software libre. Otro aspecto que sólo

puede interesarnos por razones históri-

cas es el los tipos de letras empleados.

Los tipos propiedad de Apple hace

tiempo que dejaron de utilizarse y por

lo tanto el problema ya no existe.

Como señalaba Gregorio Robles en el

2003 «El mayor problema de la licencia

de Squeak está en la cláusula de in-

demnización. Esta cláusula hace que,

por ejemplo, Debian no lo incluya en su

distribución: http://lists.debian.org/

debian-legal/2001/debian-legal-200110/

msg00028.html» (para el examen en la

lista de discusión legal de Debian ver

también http://lists.debian.org/

debian-legal-0404/msg00160.html y

http://lists.debian.org/

debian-legal-0404/msg00242.html).

¿Qué dice la famosa cláusula 5? Que

quien acepte la licencia deberá indem-

nizar a Apple por los daños, respons-

abilidades, costes, etc. que resulten de

reclamaciones efectuadas por terceras

partes contra Apple que se deriven del

uso, distribución o modificación del

software de Squeak por el licenciatario

(y potencialmente sus sublicenciata-

rios). Que si un alumno crea un mundo

que, de alguna manera ocasiona per-

juicios contra alguien, y eso acaba en

una reclamación contra Apple, el que

deberá asumir los costes es quien haya

aceptado la licencia y haya distribuido

el código de Squeak.

La cuestión que discutimos no es si Alan

Kay y los desarrolladores de Squeak

sienten o no que su programa es libre,

que podemos estar convencidos de que

lo sienten, ni es la probabilidad de la

reclamación, sino si la cláusula hace o

no libre la aplicación. Y creo que

podemos concluir que no es libre en el

sentido del software libre de la FSF y de

Debian. Squeak es casi-libre. Que esto

implique que no se pueda o deba utilizar

en nuestras clases es otro debate; claro

que si escribo sobre Squeak mi opinión

es fácilmente deducible.

Cuadro 1: La licencia de Squeak

Page 79: Linux Magazine - Edición en Castellano, Nº 16

podemos establecer entre geómetras, y si

no me creen, lean esta cita: «Toda autén-

tica definición científica es genética: no

se limita a copiar un objeto existente,

sino que pone de manifiesto las leyes de

su propia formación. Así, por ejemplo,

no basta con explicar la circunferencia

como una figura en la que todos los pun-

tos se hallan situados a la misma distan-

cia del centro común, pues lo que con

ello designamos no es más que una

cualidad concreta de la circunferencia,

que no constituye, ni mucho menos, su

esencia conceptual. Para captar ésta es

necesario indicar la regla de la construc-

ción de la circunferencia, explicarla, por

tanto, como aquella figura geométrica

que nace mediante el movimiento de

rotación de una línea recta en torno a

uno de sus dos puntos extremos, consi-

derado como fijo».

Dejo para la nota a pie de artículo la

respuesta a la pregunta de a quién

corresponde la cita[9]. El texto lo que me

sugiere intensamente es que el orde-

nador es la máquina que buscaba el filó-

sofo, la herramienta que va a conseguir

que los niños comprendan en toda su

dimensión qué es una circunferencia. El

texto está muy cerca incluso en el

lenguaje de la evidencia de las ideas

poderosas de Papert: devolverle su

cuerpo a las matemáticas, el movimien-

to de la tortuga crea la circunferencia.

La promesaHemos estado hablando de lo que es

Squeak en el sentido de cómo está

hecho, no de lo que pretende ser. ¿Para

qué se desarrolla Squeak?

Papert y Kay[10] parten de una crítica

a las formas de enseñanza de la escuela

tradicional y al uso que se ha hecho de la

tecnología en las aulas. Debemos inten-

tar resumir la crítica, porque es posible

-sólo posible, que nadie se enfade- que

estemos decidiendo si se van a usar rin-

cones de trabajo en nuestras aulas o un

laboratorio de informática, sin la nece-

saria reflexión previa.

¿Cuántos ordenadores? En primer

lugar nadie cree en la magia: la inversión

económica, la simple presencia de los

ordenadores, no cambia la forma de

enseñanza/aprendizaje. El laboratorio de

informática constituye la reacción de la

escuela tradicional ante la presencia de

los ordenadores: «en lugar de atajar y

desafiar así la misma idea de fronteras

entre materias, el ordenador se convertía

en una nueva materia».

Una de las ideas clave se puede

resumir en el siguiente razonamiento de

Kay: tendemos a confundir el piano con

la música. Obligamos a los alumnos a

«dar piano» antes de que amen la músi-

ca, con la consecuencia de que fre-

cuentemente se alejan de la música para

siempre. El ordenador es el mejor piano

inventado, pero sin despertar el deseo de

aprender y de expresarse, la exigencia de

«dar informática» no causará más que

aturdimiento.

Repitámonos la pregunta: ¿Tiene sen-

tido una escuela en la que haya un má-

Educación • LINUX USER

79Número 16W W W . L I N U X - M A G A Z I N E . E S

Figura 3: Imagen de Squeak en francés. Figura 4: El plugin en acción.

Figura 5: Buscando paquetes con SqueakMap. Figura 6: Importando un proyecto.

Page 80: Linux Magazine - Edición en Castellano, Nº 16

desarrollo. Pero nos queda responder a

la pregunta clave: ¿cumple Squeak su

promesa, responde o se acerca a respon-

der a las ambiciosas expectativas que

despierta? Squeak pretende, no que los

alumnos aprendan a programar, sino que

los alumnos programen para aprender,

¿es esto absurdo? ¿o implica un esfuerzo

que escapa a las posibilidades de

nosotros los profesores? Este será el tema

del siguiente número. Nos vemos. �

LINUX USER • Educación

80 Número 16 W W W . L I N U X - M A G A Z I N E . E S

[1] Alan Kay, entrevistado por Lars Kongshem, FACE to FACE: Alan Kay Still waiting for

the Revoultion (http://www.squeakland.org/school/HTML/essays/face_to_face.html).

No vamos a explicar aquí quienes son Kay y Papert, para eso están google, la

wikipedia y el resto de la documentación.

[2] De pronto Squeak se ha convertido en una utilidad bien documentada incluso en

castellano, y con una rica comunidad hispana de desarrolladores y usuarios, galerías

de recursos, etc. Por supuesto hay que comenzar citando Small-Land (http://www.

small-land.org/), el núcleo argentino donde desde hace años se trabaja en Squeak. Y

las páginas sobre Squeak consecuencia de la apuesta de la administración extremeña

por el software educativo libre, y en concreto por este entorno: Extremadura y Small-

Land (http://squeak.linex.org/), la bitácora dedicada (http://squeak.blog.com/) o

Squeakpolis (http://squeak.educarex.es/Squeakpolis, inciativa de Antonio Moreno),

donde podemos encontrar un listado más exhaustivo de enlaces, artículos, proyec-

tos…

Hay también libros completos libres: Ideas poderosas en la clase, traducción al español

del libro «Powerful Ideas in the Classroom», de B.J. Allen-Conn y Kim Rose(http://swiki.

agro.uba.ar/small_land/uploads/193/Libro_Completo.pdf); un CD descargable con libro

en pdf, proyectos y una imagen, creado por un equipo de docentes de Badajoz (Fueyo

Díaz, Pizarro Galán, Prudencio Conejo, Roldán Cuerpo, Torres Escobar): http://www.

small-land.org/libro-badajoz/cdrom.tar.gz; finalmente el libro editado por Editlin Squeak:

un mundo para aprender, de los mismos autores más Paniagua Navarro: se pueden

bajar PDFs con los borradores de los capítulos desde http://www.small-land.org/

SqueakUnMundoParaAprender.

[3] En http://minnow.cc.gatech.edu/squeak/2381 tenemos una creíble explicación del

nombre, según mensaje de Alan Kay a la lista de distribución de Squeak el 14 de

marzo de 2002: «Era el nombre de la carpeta de mi Mac, en la que a principios del 96

solía guardar los nuevos ficheros de sistema para tenerlos separados de los otros

Smalltalks que había en mi máquina. Disney ya nos estaba intentando atraer por

aquel entonces y pensé que, pasara lo que pasara, habría algún ratón en el futuro de

este sistema. Un mes o dos después surgió la cuestión del nombre para el sistema en

una reunión del grupo y dije que había estado usando el nombre de Squeak. A todo el

mundo le gustó y así se quedó».

[4] «Squeak es una implementación completa del lenguaje de programación y entorno

Smalltalk basada en el sistema original Samlltalk-80 (y altamente compatible con él)»

(http://www.squeakvm.org/unix/).

[5] Sobre los eToys, http://swiki.agro.uba.ar/small_land/18. Sobre Ensayos activos, http://

swiki.agro.uba.ar/small_land/19.

[6] http://community.ofset.org/wiki/Squeak.

[7] http://minnow.cc.gatech.edu/squeak/SqueakMap.

[8] Seymour Papert, La máquina de los niños (1993), pg. 19. de la traducción española,

ed. Paidós.

[9] ¡Spinoza, Tractatus de intellectus emmendatione, parágrafos 50ss., parafraseado en

lenguaje kantiano por Ernst Cassirer en El problema del conocimiento, tomo II, pg.

25ss. de la edición de Fondo de Cultura Económica!

[10] Para este resumen hemos utilizado citas de Papert, ib., y de Kay, http://www.

squeakland.org/school/HTML/essays/essays.html.

RECURSOS

ximo de tres lápices por aula o se

guarden encerrados en una habitación

especial que se visita esporádicamente?

¿Cuántos ordenadores son necesarios

para que cambie la forma de dar clase?

Los que permitan (1) la disponibilidad

del ordenador la mayor parte del tiem-

po y (2) el desarrollo del sentimiento

de identidad intelectual. En eso insiste

Kay: «puedes poner un piano en cada

clase, y eso no te dará una cultura musi-

cal desarrollada, porque la cultura

musical está en las personas (…) Lo

importante aquí es que la música no es

el piano. Y el conocimiento (…) no está

en el ordenador. El ordenador no es más

que un instrumento cuya música son

las ideas».

¿Para qué Squeak? Escuchemos a

Papert: «Me fijé el objetivo de luchar

para crear un entorno en el cual todos

los niños -cualquiera que fuese su cul-

tura, género y personalidad- pudieran

aprender álgebra y geometría, ortografía

e historia de una manera más parecida

al aprendizaje informal del niño no

escolarizado o del niño excepcional que

al proceso educativo que se sigue en las

escuelas».

Como señalan Allen-Conn y Rose en

su Ideas poderosas, Papert pensó que el

estudio de ideas poderosas a través del

ordenador, además de la ayuda de otras

actividades, podrá servirle a los niños

como instrumento para hacer frente a

sus intuiciones. Pensó que los orde-

nadores podían ser de ayuda para los

más jóvenes, al permitirles exteriorizar

sus expectativas intuitivas usando

materiales computacionales tales como

simulaciones y modelos. De esta

manera podrían ser capaces de recon-

siderar o remodelar su conocimiento

intuitivo.

Y en el próximo número…Hemos empezado a examinar qué es

Squeak y las razones que explican su

Figura 7: Selección de la imagen que ejecutar.

Juan Rafael Fernández García es

socio de OFSET, profesor de edu-

cación secundaria y tiene una

larga experiencia en la traducción

y documentación del software

libre. Ha sido coordinador de uno

de los Centros que participan en

la experiencia andaluza de inte-

grar las TIC en la educación y

actualmente trabaja como asesor

de formación del profesorado.

EL AUTOR

Page 81: Linux Magazine - Edición en Castellano, Nº 16

Los correctores de ortografía enpaquetes oficimáticos y enprogramas de correo ayudan a

encontrar errores y sugieren ortografíasalternativas. Ispell y Aspell corrigen losficheros en la línea de comandos yaunque no pueden reemplazar a un buendiccionario, son unos ayudantesextremadamente confiables.

Ispell es una aplicación madura que haestado durante varios años en distintosderivados Unix. El proyecto GNUintrodujo a Aspell como un sucesorpotencial. Éste último posee diccionarios

para varias lenguas, y puede manejarUTF-8 (a diferencia de Ispell).

Este artículo mostrará cómo corregirdesde la línea de comandos. Describiréalgunos consejos y trucos, y demostrarécómo invocar tanto a Ispell como aAspell mientras trabajo con los editoresVim y (X)Emacs.

Simplemente IspellIspell corre interactivamente en la líneade comandos. Si el corrector de ortografíaencuentra un error, sugiere una ortografíaalternativa. Si se decide no aceptar la

sugerencia puede añadirse la palabra deldiccionario personal o ignorar el términoen el resto del documento.

La sintaxis simple del comando es

Ispell nombrefichero

Se debería correr Ispell con la opción -d(de “dictionary”, esto es, de diccionario)dependiendo del diccionario que senecesite. Una rápida ojeada al directorio/usr/lib/ispell (Figura 1) nos dice losdiccionarios que se encuentrandisponibles en nuestro sistema. Puedenverse algunos de ellos con el sufijo .aff

suffix. Ispell los usa para administrarguiones y caracteres en varias lenguas.

81

Línea de comandos: lspell • LINUX USER

81Número 16W W W . L I N U X - M A G A Z I N E . E S

Correctores de ortografía de la línea de comandos: Ispell y Aspell

LECCION DEORTOGRAFIA

Nadie está a salvo de gazapos y de los enredos con palabras.

Correctores de ortografía como Ispell y Aspell se encargan de

mantener las letras en su lugar correcto. POR HEIKE JURZIK

Page 82: Linux Magazine - Edición en Castellano, Nº 16

El Final de la HistoriaIspell para su ejecución después decomprobar todas las palabras, peroalternativamente puede presionarse [Q]para abandonar la comprobación ydescartar cualquier cambio. Tepreguntará para determinar si realmentese quieren descartar los cambios. Puedepresionarse bien [Y] para salir delprograma o bien [N] para continuar conla comprobación. Otra alternativa espresionar [X] para salir de Ispell. En estecaso se almacena cualquier cambio quese haya hecho.

Creando BackupsIspell ofrece una opción segura cuandose especifica el parámetro -b en elmomento de arrancar el programa. Estole dice al corrector que cree una copia derespaldo para cada fichero que chequee.Las copias de respaldo son identificablesmediante un sufijo .bak o ~ y contienenel texto original.

Muchas distribuciones tienen versionesde Ispell que crean respaldo sin que, dehecho, sea preciso especificar la opciónpara crear una copia de seguridad. A veceseste es el comportamiento especificado pordefecto por el mantenedor del paquete. Sise prefiere no crear copias de seguridad,puede deshabilitarse esta característicaestableciendo el parámetro -x.

Otros FormatosIspell puede comprobar la ortografía de losformatos HTML y TeX/LaTeX además delos textos de ficheros. El corrector deortografía identifica automáticamentecualquier fichero con el sufijo .html o .htm

como un fichero HTML. En este caso, elcorrector de ortografía ignora cualquieretiqueta HTML que descubra durante lasesión de comprobación. La únicaexcepción es el atributo ALT, el cual puedeser usado para definir texto alternativopara una imagen embebida.

Si el sufijo del fichero está perdido o enmayúsculas (.HTM), puede decirse a Ispellque el fichero es HTML cuando arranca elprograma:

ispell -H file.HTM

Lo mismo puede aplicarse para los ficherosXML y SGML: pasar la opción -H alprograma cuando arranca Ispell paradecirle al corrector de ortografía que ignorelas etiquetas cuando esté comprobando laortografía. (Algunas distribuciones, talescomo Debian, usan -h, en minúscula paraesta opción, mientras que otros, comoSuse, usan una mayúscula -H.)

Ispell identifica ficheros TeX/LaTeXmediante referencia al sufijo del fichero.tex y no comprueba instrucciones deformateado, sin embargo, el textoencerrado entre llaves ({}) sí escomprobado. El corrector de ortografíaidentifica comentarios, los cuales seindican con el carácter porcentaje (%) enficheros TeX-/LaTeX, y los comprueba enbusca de errores.

La Alternativa: AspellAspell es un corrector de ortografíaalternativo para la línea de comandos. Éstees el programa designado como sucesor deIspell, y ofrece muchos másfuncionalidades. Por ejemplo, la versionesactuales (0.60.x) soportan el juego decaracteres UTF-8. La sintaxis genérica escomo sigue:

Algunas distribuciones Linux usannombres diferentes para los diccionarios.Para asegurarse que los caracteresespeciales están correctamente codificados,pueden definirse un conjunto de caracteresmediante la opción -T.

No es preciso especificar el diccionario nilas opciones del conjunto de caracterescada vez que se corre el programa. En vezde ello pueden añadirse entradasapropiadas al fichero de configuración Bash~/.bashrc en el directorio actual:

export U

DICTIONARY=nombre diccionario

export U

CHARSET=juego caracteres

Luego se reanaliza el fichero deconfiguración usando el siguientecomando:

source ~/.bashrc

Interacción RequeridaIspell emplea la línea superior parapresentar palabras desconocidas. Si elcorrector de ortografía encuentra palabrassimilares en el diccionario, ofrece una listaenumerada de palabras alternativas (Figura2). Para aceptar una de esas sugerencias,simplemente se presiona la tecla delnúmero que aparece con la palabra en lalista enumerada, de esta forma se le dice aIspell que sustituya la palabra.

Si no se quiere sustituir la palabra queIspell piensa que es errónea, se puede obien presionar la tecla espaciadora paraignorar la palabra una vez, presionar [A]para ignorar la palabra para el resto de lasesión Ispell, o presionar [I] paraalmacenar la palabra permanentemente.En el último caso, Ispell añade el término aldiccionario personal.

La lista personal de palabras sealmacena como fichero oculto en tudirectorio home. El nombre del fichero secompone de .ispell_ y el nombre deldiccionario que se usó. Por ejemplo, si seestuvo trabajando con el diccionariongerman, la lista de la palabra personalsería .ispell_ngerman.

Si Ispell descubre un error pero no ofreceuna alternativa (razonable), puedepresionarse [R] (de “reeemplazar”) yescribir los cambios en la línea decomandos. Ispell sustituye la palabra entodas las partes del texto.

LINUX USER • Línea de comandos: Ispell

82 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Ispell y Aspell corren de fondo en

muchas aplicaciones KDE y Gnome,

donde comprobarán la ortografía con

un sólo clic. Aunque es muy fácil con-

vencer a Vim y (X)Emacs para que

cooperen.

Una única línea en el fichero de confi-

guración de Vim (~/.vimrc) te ofrece

una macro. Para mapear una tecla de

función [F10] al corrector de ortografía,

es preciso añadir para Ispell la sigu-

iente línea al fichero:

map <F10> :w!<CR>: U

!ispell %<CR>:e! %<CR>

Si se prefiere Aspell, en su lugar se usa

la siguiente entrada:

map <F10> :w!<CR> U

!aspell -c %<CR>:e! %<CR>

Se coloca cualquier opción de la línea

de comandos que se precisen después

del comando.

Si se usa Emacs o Xemacs, se añade la

siguiente línea al fichero de configu-

ración (~/.emacs o ~/.xemacs/

custom.el):

(setq-default U

ispell-program-name "aspell")

o:

(setq-default U

ispell-program-name "ispell")

Correctores Ortográficosen Vim y Emacs

Page 83: Linux Magazine - Edición en Castellano, Nº 16

aspell -c nombrefichero

No es necesario especificarexplícitamente un diccionario ya queAspell evalúa la configuración delidioma. Sin embargo, si se ve un errorque dice que el diccionario correcto nose pudo encontrar, se deberá comprobarsi realmente se posee el diccionarionecesario instalado en el sistema.Escribiendo aspell --help | less en la líneade comandos dice qué lenguajes “habla”Aspell en una lista de Available

Dictionaries:. Los diccionarios selocalizan por defecto bajo /usr/lib/aspell-

0.60/.Si falta un diccionario requerido,

puede usarse el propio administrador de

paquete para instalar el recurso ausente.Al igual que en Ispell, puede usarse laopción -d para especificar undiccionario. Si se posee un textocodificado UTF-8, no hay que olvidarseque Aspell debe saberloespecificándoselo con la opción --

encoding=utf-8.

Interacción RequeridaAspell destaca los términosdesconocidos y ofrece una listanumerada de sustituciones aconsejadas.Para aceptar una sugerencia, se presionael número apropiado y luego [Enter].

Si se necesita sustituir una palabra porotra palabra completamente diferente, sepresiona [R] y se escribe la sustituciónpara la palabra que se está sustituyendo.

A diferencia de Ispell, en Aspell estaopción solamente sustituye la instanciaactual de la palabra. Si se desea queAspell sustituya todos los casos de lapalabra en el documento, hay que pulsar[Shift]+[R].

Puede pulsarse [I] para ignorar unapalabra exactamente una vez, opresionar [Shift]+[I] para decirle aAspell que ignore la palabra para el restode la sesión de corrección ortográfica.Para almacenar una palabrapermanentemente en el diccionariopersonal, es preciso pulsar [A]. Denuevo, Aspell almacena diccionariosprivados bajo su directorio home, y demanera similar a lo que hace Ispell, usauna combinación de la palabra .aspell ydel diccionario actual para identificar elfichero.

Aspell también sale automáticamentedespués de completar la correcciónortográfica. Puede presionarse [X] parasalir del programa y almacenar cualquiercambio que se haya hecho hasta esemomento. Para abandonar el correctorortográfico y descartar los cambios, sepresiona [B] y se confirma en la línea decomandos.

Una Cuestión de FormatoAl igual que Ispell, Aspell soporta variosformatos de ficheros. Puede especificarse-H (para HTML/SGML/XML) o -t (paraTeX/LaTeX).

Si se desea migrar a un nuevocorrector ortográfico, el paquete Aspellincluye un script en Perl titulado aspell-

import que importa el Ispell personal ylos diccionarios Aspell y los añade aldiccionario Aspell en el directorio home.

Puede comprobarse el cuadroCorrectores Ortográficos en Vim y Emacs

para otros pormenores sobre Ispell yAspell mientras se trabaja en uno de esoseditores. �

Línea de comandos: lspell • LINUX USER

83Número 16W W W . L I N U X - M A G A Z I N E . E S

Heike Jurzik

estudió Alemán,

Informática e

Inglés en la Uni-

versidad de Colo-

nia. Descubrió Linux en 1996 y

desde entonces quedó fascinada

por la línea de comandos de

Linux. En su tiempo de ocio

puedes encontrarla visitando

Irlanda o en alguna sesión de

folk Irlandés.

LAAUTORA

Figura 1: Ispell en nuestro laboratorio “entendió” inglés británico y americano.

Figura 2: Ispell ofrece como alternativa palabras similares.

Page 84: Linux Magazine - Edición en Castellano, Nº 16

LINUX USER • Juegos

84 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Hace ya muchos años salió a la

venta Quake, un juego de disparos

3D en primera persona donde nos

enfrentábamos a hordas de enemigos, con

un diseño influenciado por las novelas de

H.P. Lovecraft y el legendario Necronom-

icón. Después, aprovechando el tirón ini-

cial del primero, se realizó una segunda

parte que sólo guardaba del original el tipo

de juego y algunas armas. Hace poco pudi-

mos disfrutar de interminables sesiones de

disparos entre amigos con Quake 3, que

perdía su modo historia (o el guión al

menos), pero aumentaba enormemente la

jugabilidad en su modo online. Y hace ape-

nas unos meses se nos presentaba el objeto

de este artículo, Quake 4.

Pelotón RinoQuake 4 es un first person shooter con

guión en toda regla. El guión nos sitúa en el

planeta Stroggos, hogar de los Strogg, que

van por el universo doblegando civiliza-

ciones a las que les espera un futuro poco

agradable. Comenzamos el juego poco

después de que hubieran sucedido los

acontecimientos vividos en Quake 2,

aunque esta vez no seremos el mismo sol-

dado sin nombre. En esta ocasión encar-

naremos al cabo Mathew Kane, nuevo

Stroggs hasta en en la sopa

QUAKE 4No podía faltar en nuestra serie de

análisis de juegos la cuarta parte de

la saga de juegos comerciales de

acción en primera persona por exce-

lencia. Continuando el argumento de

su segunda parte y dándonos pistas

para el argumento del futuro Enemy

territory: Quake wars. Hablamos de

Quake 4. POR VICENTE CARRO

miembro del pelotón

Rino. Tras ser enviados

a Stroggos junto a nues-

tro pelotón con el fin de

despejar una zona de

aterrizaje para instalar un

centro de mando móvil, acabamos estre-

llándonos contra la superficie del planeta.

Como os podéis imaginar, nuestro perso-

naje sobrevive, pero la situación no está ni

mucho menos controlada. Hemos caído

lejos de la zona de nuestro primer objetivo.

De gatillo fácilQuake 4 requerirá velocidad de disparo

ya que, entre otras situaciones, entrar

disparando en una habitación podría

salvar la vida de soldados que después

nos ayudarían. Las habilidades del pro-

tagonista serán las habituales en este

tipo de juegos, pero podemos resaltar el

uso de linterna acoplada en algunas

armas, y la función secundaria o zoom

de otras. Hemos probado los distintos

modos de dificultad, y además de los

pertinentes cambios de resistencia, tam-

bién se ha anulado el retroceso del arma

cuando jugamos en modo fácil

(recluta), ayudando mucho a apuntar y

disparar.

Esta entrega

es bastante lineal, dando mucha impor-

tancia a un guión que nos tendrá

absortos en la aventura. Desde las fáciles

misiones iniciales hasta los eventos

finales que nadie podría imaginar, todo

está montado para hacernos sentir en la

piel de Kane.

Las fases duran lo justo, ni son muy

cortas ni tan largas que nos aburran, y

tienen una dificultad muy ajustada. A

esto se le une una amplia variedad de

detalles tanto en los escenarios y en los

diálogos, como en la jugabilidad. En

ciertos momentos conduciremos vehícu-

los con mención especial para los Cami-

nantes, unos pequeños robots de nuestro

bando.

Los enemigos siempre serán stroggs,

en sus diversas formas y variedades, y su

inteligencia artificial está muy basada en

scripts. No harán cosas complejas, sal-

vando que puedan esconderse para

atacarnos después o tendernos

emboscadas prefijadas.

Page 85: Linux Magazine - Edición en Castellano, Nº 16

Las armas son las justas, pero todas bas-

tante ajustadas a la situación, vistosas y por

supuesto, se mantienen algunas clásicas de

la saga.

Con amigos mejorEn muchas ocasiones estaremos acom-

pañados de otros soldados que nos ayu-

darán en tramos de nuestras misiones.

Otros simplemente estarán ahí mante-

niendo la posición, pero podremos acer-

carnos y hablarles, escuchando siempre

una respuesta adecuada. Estos compañeros

también podrán realizar tareas autónoma-

mente, como pueden ser los médicos o los

ingenieros, curando heridas o desblo-

queando dispositivos y reparando

armaduras respectivamente. También

conoceremos a algunos miembros del

pelotón Rino.

Que el juego esté traducido y doblado al

castellano consigue introducir al jugador

medio en la historia, y es algo que

opinamos debería ser casi obligado en

todos los juegos, ya que no hubiera sido la

misma experiencia si no hablasen caste-

llano. Lamentablemente para disfrutar del

castellano en Linux tendremos que hacer

uso del siguiente script que os hemos

preparado (ver Listado 1):

¿Unos tiritos?Se ha incluido en el juego un obligado

modo online. Pero claro, los programadores

del juego tenían un problema, y era que la

versión anterior, Quake 3, era una obra

maestra del juego online. Así que, final-

mente decidieron no arriesgarse y optaron

por copiar el modo online del Quake 3 tal

cual en este Quake 4, garantizándose un

resultado satisfactorio, aunque poco sor-

prendente.

El modo online nos permite jugar en

modo Deathmatch (todos contra todos),

TeamDM (equipo contra equipo), Tourney

(uno contra uno), CLB/CTF (captura la

bandera por equipos) y Arena CLB/CTF

(igual pero con reglas ?arena?). Todos ellos

en la linea de lo ya visto en la versión ante-

rior.

¡Vaya gráficos!Sin lugar a dudas, incluso por encima de su

absorbente historia, lo que más llama la

atención de este título son sus gráficos. Son

simplemente geniales. Lógicamente esto

hace necesario un equipo puntero, hasta el

punto de que el modo gráfico ULTRA

requiere una tarjeta gráfica de 512 megas.

Relieve, caras ultra detalladas y demás jus-

tifican la inversión en tamaño hardware.

Pero esto se aplica sólo para el modo his-

toria, ya que en el modo online los gráficos

son notablemente peores, aunque está

hecho a propósito para permitir jugar con

mayor fluidez y reducir los larguísimos

tiempos de carga de cada nivel.

Escuchando las balasEl audio de este juego es muy correcto,

aunque tampoco podemos decir que

destaque en ningún aspecto. El doblaje

español era obligado y ha resultado satis-

factorio, pero perdiendo algo de fuerza en

algunas interpretaciones secundarias. La

música es muy buena en algunos momen-

tos, y bastante ambiental como norma ge-

neral. Los efectos de audio son buenos y

parece que han usado algunos sonidos de

Quake 3.

En resumenJuego trepidante y muy absorbente que

hará las delicias de los shooters, aunque

algún fan de la saga puede sentirse decep-

cionado, no ante un mal producto, sino

ante una cantidad de novedades insufi-

cientes y un modo online calcado al del

Quake 3. Para el resto será un juego de grá-

ficos soberbios, acción a raudales y un

excelente modo online que incluso se

puede conseguir en España [2] en versión

Linux. �

Juegos • LINUX USER

85Número 16W W W . L I N U X - M A G A Z I N E . E S

Lo mejor

• Gráficos sobresalientes

• Absorbentes jugabilidad

y argumento

• Gran variedad

Lo peor

• Requiere un hardware puntero

• Los jugones siguen jugando al Quake3,

de momento

• No ha sorprendido a los fans de la saga

01 #!/bin/sh

02 # Needed to make

symlinks/shortcuts work.

03 # the binaries must run with

correct working directory

04 cd

"/PON_AQUI_LA_RUTA_DEL_JUEGO/"

05 set sys_lang "spanish"

06 export

LD_LIBRARY_PATH=$LD_LIBRARY_PA

TH:.

07 ./quake4.x86 $*

08 exit $?

8,5

[1] Ftp idsoftware: ftp://ftp.idsoftware.

com/idstuff/quake4/linux/

[2] guadagames.com: http://www.

guadagames.com

RECURSOS

Puntuación

Listado 1: Script lanzar enespañol

Figura 1: El doctor Strogg nos va a recetar unas aspirinas.

Page 86: Linux Magazine - Edición en Castellano, Nº 16

res. Ninguno de estos problemas son

reales hoy en día, y ni siquiera sé si los

rumores acerca del consumo de memoria

y los gráficos fueron alguna vez verdad,

o simplemente eran parte de la compe-

tencia “creativa” entre ambos grupos y

filosofías.

Hoy día, Gnome consume la misma

cantidad de recursos del sistema que

KDE (si no más), los benchmarks de

rendimiento son equivalentes, los gráfi-

cos son excelentes en ambos escritorios

y sus características (al menos las más

habituales para el usuario medio) son

más o menos idénticas.

Gnome y KDE, sin embargo, usan un

sistema completamente diferente de

dependencias en cuanto a demonios,

servicios y librerías. Yo he llegado a ver

programas de Gnome que requieren 40

dependencias de librerías o más. A veces

resulta imposible usar un programa de

alguno de ellos que no requiera compo-

nentes adicionales que llegan a ocupar

10 veces el tamaño del programa origi-

nal. (Los enlaces estáticos de los progra-

mas de KDE o Gnome fallan más por su

estructura modular que por cualquier

otra razón).

Esto puede llevarnos a sufrir algunos

problemas. Si usamos habitualmente

KDE, y queremos instalar un simple pro-

grama como Gnopernicus, terminaremos

instalando la suite de software Gnome

completa, porque de otra manera no

podremos ejecutar el programa. En el

peor de los casos, Gnome trata de desins-

talar partes de KDE (o viceversa) debido a

conflictos en los servicios de ambos sis-

temas (son casos muy raros, de cualquier

forma).

Bueno, he hecho un poco de trampa

con este ejemplo. Gnopernicus es más un

conjunto de plugins y extensiones de

Gnome que un programa en sí mismo. (Es

un lector gráfico de la pantalla y he-

rramienta de accesibilidad para Gnome).

Pero esto mismo ocurre con aplicaciones

de menor tamaño, como el maravilloso

cliente de videoconferencia GnomeMee-

ting, gnumeric y otros, que seguramente

querríamos tener en la edición Knoppix

CD, basada en KDE, pero que simple-

mente no tienen espacio suficiente debido

a las librerías de las que dependen.

Ocurre lo mismo en el caso contrario: si

queremos instalar un programa KDE en

un sistema Gnome. Pero al menos los pro-

gramas de KDE 3.X tratan de evitar

dependencias innecesarias si es posible.

De cualquier manera, cuando usamos

KDE con aplicaciones de Gnome, o aplica-

ciones de KDE en Gnome, siempre

acabaremos con un montón de librerías y

servicios en segundo plano, objetos rotos

o precargadores de uno u otro sistema.

Afortunadamente, ambos sistemas de

escritorio tratan de no pelearse entre ellos

(en el runtime level), ni tratan de impedir

¿Están Gnome y KDE a lapar?

Gnome y KDE se han presentado siem-

pre como alternativas equivalentes. ¿Son

realmente equivalentes, o hay situa-

ciones en las que uno sea mejor que el

otro? ¿Puedo configurar mi sistema

Linux de manera que se ejecuten tanto

aplicaciones KDE como aplicaciones

Gnome?

Técnicamente hablando, tanto Gnome

como KDE son sistemas de escritorio

altamente configurables con un diseño

interno orientado a objetos, y son muy

fáciles de usar, aún para los usuarios sin

conocimientos técnicos (siempre que

estén configurados correctamente).

Intentaré ser neutral a la hora de respon-

der acerca de qué escritorio es “mejor”

en general. He estado usando Xfce3

durante un cierto tiempo, y aunque sus

funcionalidades son más limitadas,

siempre han sido más que suficientes

para mí.

Siempre hubo discrepancias entre

desarrolladores y usuarios acerca de si

KDE era o no “libre”, debido a la licencia

de Qt (la librería en la que se basa KDE),

que si consumía más memoria que

Gnome, o que si sus gráficos eran peo-

COMUNIDAD · Konsultorio

86 Número 16 W W W . L I N U X - M A G A Z I N E . E S

Gnome versus KDE, Particiones para Expertos, Impresoras

KONSULTORIOKlaus Knopper es el creador de Knoppix y co-fundador de la LinuxTag

Expo. Trabaja en la actualidad como profesor, programador y consultor.

Si tiene algún problema de configuración, o simplemente quiere cono-

cer mejor cómo funciona Linux, no dude en escribir sus preguntas a:

[email protected].

Page 87: Linux Magazine - Edición en Castellano, Nº 16

que el otro escritorio ejecute sus progra-

mas. Por lo que, sí, efectivamente es posi-

ble mezclar libremente aplicaciones de

Gnome y de KDE, excepto en algún caso

muy puntual en el que ambos insisten en

arrancar su propio demonio de sonido (a

veces por bloqueo de servicios), y termi-

namos preguntándonos por qué nuestra

tarjeta de sonido de repente no responde

aunque matemos los procesos arrancados

por el “otro” sistema de escritorio. Si nos

encontramos estos problemas, podemos

comprobar quién bloquea nuestro sonido

tecleando

fuser -v /dev/dsp

que identifica el demonio de sonido pro-

blemático, en la mayoría de las ocasiones.

Particiones para ExpertosLos instaladores de Linux han mejorado

mucho con los años, pero la sección de

particiones sigue siendo igual de confusa

que siempre. Ahora, al menos, un asis-

tente “sugiere” una configuración de par-

ticiones, pero sigue pidiendo una

aprobación de dicha configuración, y no

tengo ni idea de qué estoy aprobando.

Suele existir un botón “Sólo para Exper-

tos” que conduce a una nueva página

donde se expresa todo en términos de

nombres de partición y ubicaciones en el

disco. ¿Porqué querría un experto usar

una configuración de particiones dife-

rente y porqué querría yo también hacer

eso? ¿Existe alguna ventaja en cambiar el

tamaño de la zona de swap o la ubicación

de las particiones en el disco?

Existen ciertas ventajas al crear las par-

ticiones de manera óptima para el

propósito de nuestro sistema GNU/Linux.

Si es nuestra primera instalación Linux, y

sólo vamos a usar el sistema para trabajo

cotidiano o juegos, no debemos preocu-

parnos mucho por las opciones avan-

zadas y podemos aceptar las opciones por

defecto.

La configuración manual es preferible

si tenemos planes para realizar tareas más

avanzadas con nuestro ordenador, como

streaming en tiempo real, procesado de

video u otras que requieran un alto grado

de procesamiento de datos, que puedan

necesitar de una configuración más

sofisticada. También es importante saber

si el sistema será usado por muchos

usuarios, o si será un sistema de un solo

usuario.

Yo suelo usar muchas particiones con

objeto de tener varias instalaciones de

prueba separadas, particiones encriptadas

y espacio adicional de swap para oca-

siones en las que haga falta.

Un sistema GNU/Linux puede ajustarse

a una sola partición (que puede incluso

ser una partición virtual dentro de un

archivo). El espacio de intercambio no es

absolutamente necesario para ejecutar un

sistema GNU/Linux, en absoluto (aunque

muchos instaladores insisten en tener una

partición de intercambio).

Discutamos el tema del espacio de

intercambio en primer lugar.

El espacio de intercambio añade espa-

cio a la gestión de la “memoria vitual” del

kernel de Linux. Esto significa que

podemos ejecutar más y mayores progra-

mas que los que cabrían en la memoria

RAM de nuestro ordenador. La pregunta

de cuánto espacio de swap vamos a nece-

sitar depende de lo que deseemos hacer.

La memoria RAM real es siempre mejor,

por supuesto, pero en la mayoría de los

casos, el espacio de intercambio funciona

guardando temporalmente programas en

ejecución y la información que no es

necesaria en esos momentos.

Una característica que potencia el

rendimiento bajo Linux es que la RAM no

utilizada se usa como un sistema de búfer

dinámico de archivos (auto-ajustable).

Los archivos que han sido leídos una vez

permanecen en la veloz caché RAM (y

serán leídos desde allí) hasta que la RAM

sea requerida para algo más urgente

(como un programa en ejecución que

solicite memoria para gráficos, por ejem-

plo).

Como ejemplo de cómo funciona el

uso de la memoria, OpenOffice necesita

unos 100 megas de RAM cuando lo arran-

camos por primera vez. A medida que el

documento de trabajo crece y se le

añaden elementos de otras partes de

OpenOffice, se requieren nuevos compo-

nentes, como hojas de cálculo, progra-

mas de dibujo o de presentaciones.

Podemos terminar usando 300 megas o

más simplemente con ejecutar OpenOf-

fice un rato. El escritorio KDE necesita

también unos 100 MB por sí mismo, y si

abrimos el navegador Firefox, el pro-

grama de edición gráfica The Gimp y

otros programas potencialmente ham-

brientos de memoria, nos situamos en

alrededor de unos 500-1000 MB de

memoria para hacer algo.

Si calculamos a mano el espacio de

intercambio necesario, debemos tratar de

estimar la memoria usada por los progra-

mas (el comando free es útil en estos

casos, pero debemos comprobar los va-

lores SIN los búfers del sistema de

archivos), y añadir otro tercio a esta cifra

para estar seguros. Si nuestro sistema se

queda sin memoria, todo comienza a ir

muy lento y la capacidad de respuesta cae

en picado hasta el punto que lo mejor

será irnos a por un café. Los programas

en ejecución pueden morir si no encuen-

tran la manera de conseguir la memoria

que necesitan. Pero habitualmente, antes

de que suceda esto, ya nos habremos

planteado usar el botón de reset para

reiniciar el sistema, sabiendo que esta no

es la manera más conveniente de liberar

memoria, obviamente. Por lo que habría

que pensar en el espacio de swap en lo

sucesivo.

Si nos damos cuenta a posteriori que

nuestra partición de intercambio es insufi-

ciente, existe un forma sencilla de añadir

más espacio de swap. Simplemente

creamos un archivo, lo marcamos como

swap y lo añadimos a la memoria virtual

como una partición. El siguiente ejemplo

nos muestra esto con un archivo de 100

MB ubicado en /var:

dd if=/dev/zero of=/var/swap U

bs=1024k count=100

mkswap /var/swap

swapon /var/swap

y ya tenemos 100 MB más de memoria

swap. Para que el cambio sea perma-

nente, pondremos la siguiente línea en

/etc/fstab:

/var/swap none swap sw 0 0

Las particiones de swap dedicadas son

mucho más rápidas que los archivos

swap, dado que hay menos sobrecarga

del sistema de archivos. (El kernel escribe

directamente en la partición, en lugar de

llamar a las funciones del sistema de

archivos).

Para las particiones de archivos, separar

la información “frecuentemente escrita”

de la “fundamentalmente estática” puede

ser útil. Con esta precaución nos asegu-

ramos que una partición saturada (con

archivos de log, por ejemplo) no afectará

al resto, y seremos capaces de entrar en el

sistema y arreglar el problema (al menos,

87Número 16W W W . L I N U X - M A G A Z I N E . E S

Konsultorio • COMUNIDAD

Page 88: Linux Magazine - Edición en Castellano, Nº 16

documentos. El único problema es que

no tengo los mensajes habituales de la

impresora cuando algo no va bien (atasco

de papel, se ha quedado sin tinta, etc.).

Sólo aparece un mensaje estándar que

dice algo como “Printer Error”. ¿Existe

alguna manera de recibir los mismos

mensajes de error que (según el manual)

reciben los usuarios bajo Windows?

Los mensajes CUPS suelen llegar a

/var/log/cups/error_log y

/var/log/cups/access_log. Su nivel de

detalle depende de la configuración de

LogLevel en /etc/cups/cupsd.conf (véase

la descripción de los log levels en el Lis-

tado 1).

Por tanto, tendremos mayor nivel de

información de los asuntos internos del

driver si fijamos el LogLevel a debug o

incluso a debug2 en /etc/cups/cupsd.conf.

(No debemos olvidar reiniciar CUPS con

/etc/init.d/cupsys reload, en el caso de

Debian).

La clase y visibilidad de la información

ofrecida por el archivo PPD depende real-

mente de su estructura y configuración,

por lo que pueden existir ciertas carac-

terísticas de una impresora que no sean

accesibles directamente desde el interior

de CUPS.

Encontraremos una tabla de impreso-

ras y funcionalidades soportadas en

http://www.linuxprinting.org/, que es

una buena página para investigar.

Más específicamente, para la impresora

en cuestión, linuxprinting.org dice en

http://www.linuxprinting.org/

show_printer.

cgi?recnum=HP-Business_Inkjet_1200

que la impresora funciona perfectamente

con Linux/CUPS, por lo que no sería

necesario ni siquiera un PPD específico,

sólo tener instalado el driver hpijs (y la

versión actualizada de CUPS).

Si buscamos una impresora nueva que

esté bien soportada por CUPS, http://

www.linuxprinting.org/suggested.html

nos muestra un resumen de las impreso-

ras que han demostrado funcionar espe-

cialmente bien.

En algunos casos, el fabricante de

impresoras tiene un programa especial de

monitorización del estado, algo como

“Printer LCD display monitor” para

Linux, que funciona de manera indepen-

diente a CUPS y captura la información

(sólo lectura) directamente del conector

de la impresora. Especialmente en casos

como combinaciones de impresora y

escáner, extensiones de terceros como

ésta nos permiten acceder, o al menos,

ver las “características ocultas” de la

impresora. A mi personalmente no me

gustan demasiado si sólo se ofrecen

como binarios, y sin licencia que me per-

mita analizarlos o modificarlos.

Debemos comprobar el CD con los dri-

vers que vienen con la impresora en

busca de programas de usuario para

Linux, o de nuevo, buscar en linuxprint-

ing.org, que a veces tiene enlaces a

extensiones de terceros o del fabricante

para modelos específicos de impresoras.

Para su impresora HP 1200, linuxprin-

ting.org nos recomienda que busquemos

el driver hplip en sourceforce: http://

hpinkjet.sourceforge.net/ para disponer

de características avanzadas como

reportes de estado y mantenimiento. �

en la mayoría de los casos), sin tener que

recurrir a pasar a un runlevel de admi-

nistrador. Si lo tenemos todo en una sola

partición, por otro lado, tendremos la

ventaja de que el espacio disponible es

compartido por todos y no tenemos que

preocuparnos por cambiar el tamaño de

las particiones cuando una se esté

quedando sin espacio.

Yo suelo utilizar una partición para los

“archivos del sistema” (que contiene el

sistema de archivo raíz y /usr), una parti-

ción para el frecuentemente escrito sis-

tema de archivos /var (contiene también

los archivos de log y /tmp), una partición

encriptada para las claves de autenti-

cación, contraseñas y backups de la

información de usuario, una partición

para mi directorio /home y por último

una más para experimentos e informa-

ción poco importante como instalaciones

de prueba.

Algo como esto:

/dev/hda1 5GB /

/dev/hda5 2GB /var

/dev/hda6 1GB /crypt

/dev/hda7 8GB /home

/dev/hda8 20GB /mnt/scratch

Por supuesto, esta configuración es muy

personal y puede que otra persona tenga

que reparticionar y reconfigurar cada vez

que una partición termine llenándose, o

cada vez que se plantee una actua-

lización del disco.

Si tenemos más de un disco duro, tiene

sentido distribuir las particiones que con-

tienen información usada con frecuencia

por las distintos discos (por ejemplo:

/dev/hda1 con los archivos del sistema y

/dev/hdc1 con el directorio home, /tmp o

/var). Esto disminuye los movimientos

del cabezal del disco duro durante las

operaciones de lectura y escritura

simultáneas. Para tratamiento digital de

video, puede ser esencial distribuir las

particiones por los distintos discos para

alcanzar el rendimiento necesario para

codificar videos en tiempo real.

Problemas de ImpresiónTengo una impresora HP 1200 Business

Inkjet. La caja de la impresora no especi-

fica que sea compatible con Linux, pero

he podido imprimir sin problemas con mi

sistema Linux con KDE utilizando un

archivo PPD que descargué de la Web. La

impresora funciona bien cuando imprime

COMUNIDAD · Konsultorio

88 Número 16 W W W . L I N U X - M A G A Z I N E . E S

01 # Log level (LogLevel)

02 #

03 # Controls the number of

messages logged to the

ErrorLog

04 # file and can be one of the

following:

05 #

06 # debug2: Log everything.

07 # debug: Log almost

everything.

08 # info: Log all requests and

state changes.

09 # warn: Log errors and

warnings.

10 # error: Log only errors.

11 # none: Log nothing.

12 #

13 # ex: info

14 #

15 # Default: LogLevel info

Listado 1: Log Levels

de CUPS

Figura 1: Xfce es una veloz y sencilla alterna-

tiva a Gnome y KDE.

Page 89: Linux Magazine - Edición en Castellano, Nº 16

¿Cómo consigues algo que realmente

deseas? Digamos que quieres pedir

prestado el coche a un amigo para ir

de compras. Deberías preguntárselo

amablemente y tentarle con chocolate o

cerveza. Deberías admirar su nuevo corte

de pelo y decirle cuánto te gusta su coche.

Posiblemente no se te ocurriría algo como:

“Tu coche está arañado, vibra cuando lo

conduzco, odio el color y siempre está

sucio ¿Te importa prestármelo?”.

Yo siempre he creído que era vital y nece-

sario una actitud positiva para obtener

cualquier tipo de éxito. Recientemente he

formado parte de una mesa redonda en la

Open Source World Conference celebrada

en Málaga. Cinco mujeres presentamos

nuestras ideas acerca del papel de la mujer

en el mundo del Software Libre. Cada una

de nosotras dispusimos de unos cinco min-

utos para esbozarlas antes de abrir el

debate. Me resultó muy desconcertante el

que una de las ponentes se pasara alrede-

dor de 25 minutos exponiendo sus ideas de

forma extremadamente negativa. Casi la

mitad de los asistentes abandonaron la sala

y yo me sentía muy deprimida cuando

acabó. La oradora llegó al extremo de

increpar verbalmente a los que se iban de

la charla. Un desastre.

Cuando me llegó el turno dije lo que

pensaba. En primer lugar agradecí a los

asistentes su participación en el SL por ser

nuestra comunidad la que está propiciando

un cambio social y de percepciones real a

nivel mundial. Nuestra comunidad está li-

gada a valores fundamentales que nada

tienen que ver con limitaciones o con

estúpidos status quos. Todo lo contrario,

está integrada por gente grandiosa que

ayuda a otros a ser grandes. Se trata de li-

bertad personal y de poderío individual, y

uno de los principales mecanismos que

poseemos para ayudarnos es la meritocra-

cia que subyace a nuestros modelos de

desarrollo. La gente es juzgada no por sus

atribuciones personales, sino más bien por

el esfuerzo que ponen en su trabajo.

También hablé brevemente sobre pre-

juicios activos y pasivos. Generalmente, la

gente de nuestra comunidad no tiene pre-

Mujeres en el Software Libre

MUJERES++

89

Opinión • COMUNIDAD

89Número 16W W W . L I N U X - M A G A Z I N E . E S

mujeres como no-caucásicos han tenido

cabida en orquestas desempeñando distin-

tos roles. La percepción ha cambiado y

ahora no resulta un concepto tan descabe-

llado.

En el mundo del Software Libre, gracias

al anonimato, existen pioneros de muchas

demografías haciendo cosas importantes,

los cuales podrían ser objeto de prejuicios

por algunas comunidades. Esto es cam-

biar las percepciones, esto es motor de

cambio social. Hay mujeres pioneras que

están cambiando las percepciones a lo

largo y ancho del mundo, las saludo e

intento hacer todo lo que está en mi

mano. Los modelos de conducta femeni-

nos hacen maravillas para modificar la

percepción de los niños. Esto lo sé muy

bien, porque mi madre, que tenía una for-

mación técnica, fue mi primer modelo.

Existen también otros pioneros que están

cambiando los prejuicios referentes a

edad, religión, raza, etc.

Hoy día, uno de los cambios más impor-

tantes del papel de las mujeres dentro de

la informática es ser altamente técnica

mientras no se comprometa su feminidad.

Si la comprometemos estamos reforzando

un status quo extraño y haciendo que sea

más difícil para aquéllas mujeres que

quieran integrarse. Necesitamos ayudar a

cambiar los prejuicios limitadores hacia

las mujeres en la informática mediante la

participación en el maravilloso mundo del

Software Libre y haciendo todo el ruido

que podamos. Adopta los valores del Soft-

ware Libre y llévalos al mundo donde la

gente se enfrenta cara a cara, y tendremos

un mundo más justo, con una mejor re-

presentación y que da más poder al indi-

viduo.

Saludos, Pia. �

juicios activos contra nada en particular. La

mayoría de los hombres con los que me he

encontrado están muy dispuestos a con-

seguir que más mujeres se integren en el

mundo del Software Libre, y a nadie le

importa realmente la religión, edad, dis-

capacidades o el color de la piel que se

tenga siempre que se pueda contribuir po-

sitivamente a la comunidad de cualquier

manera posible. He participado en foros o

he estado en listas de correos en los que si

alguien ha hecho un comentario racista o

sexista, ha sido rápidamente reprimido por

los demás. Puedes llevar años trabajando

con un desarrollador y desconocer su nom-

bre real y cualquier cosa acerca de su vida

y, sin embargo, lo respetamos y confiamos

en él gracias a nuestra relación laboral y a

sus contribuciones. Esto significa que no le

damos importancia a aspectos personales,

que sin embargo sí alimentan los prejuicios

en nuestra sociedad. Esto significa que la

gente no está limitada por aquellas cosas

que podrían ser usadas contra ellos en otra

sociedad. Esta comunidad tiende a abrirse

camino a pesar de los prejuicios y permite

que gente de cualquier país, lengua, edad,

religión y género trabajen juntos para

obtener beneficios mutuos.

En términos de prejuicios activos, sa-

limos bastante bien parados. Pero siguen

existiendo los prejuicios pasivos. Esas se

basan en la existencia de percepciones y

suposiciones y pueden ir en contra de un

sector de la población. Para explicarme

mejor usaré el ejemplo real que ocurre en

las orquestas musicales. En un momento

dado se introdujeron las audiciones ciegas

para seleccionar a los músicos que com-

pondrían una orquesta. La audición se

hace desde detrás de una pantalla y la per-

sona está representada por un número, de

manera que no es posible la existencia de

discriminación alguna. De repente, el

número de mujeres y de no-caucásicos que

llegaron a la ronda final de audiciones

aumentó significativamente. Con las audi-

ciones ciegas se eliminaron de un plumazo

los prejuicios activos y pasivos de los jue-

ces evitando perjudicar las interpretaciones

individuales. Desde entonces, tanto

Pia Waugh es

vicepresidenta

de Linux Aus-

tralia (http://linux.

org.au). Es una

apasionada del

SL y trabaja con-

juntamente con

el Gobierno Australiano en su pro-

moción. Da charlas en escuelas y

universidades a geeks en ciernes

sobre las posibilidades del SL y las

oportunidades que presenta en el

campo de la informática. Puedes

leer su blog en http://pipka.org/blog

o visitar su sitio comercial en http://

www.waughpartners.com.au.

LA

AU

TO

RA

Page 90: Linux Magazine - Edición en Castellano, Nº 16

que, al menos de palabra, están tomán-

dose más en serio la adopción de mode-

los de negocio diferentes.

Aunque algunas empresas privadas

españolas todavía no parecen tener claro

por donde tirar a este respecto, quienes

sí avanzan a todo tren son las distintas

autonomías, con Extremadura a la

cabeza, donde la migración es ya un

hecho. A diferencia de lo que ocurre en

otros ámbitos, en España la iniciativa y

la mayor apuesta por el software libre

viene de la mano de las instituciones

públicas. En este aspecto, una de las

estrellas del congreso fue la presentación

de Guadalinex v3, la distribución desar-

rollada con los fondos de la Junta de

Andalucía que llegó justo a tiempo para

el evento.

Con un factura impecable (los fondos

y temas azules lucen mucho mejor que

el verdigris de anteriores ediciones), un

nuevo y remozado instalador gráfico y

con un sistema base más moderno

(Ubuntu, en vez del clásico Debian), esta

distribución promete muchas novedades

muy atractivas para el usuario final que

se decida a instalarlo.

Las ponenciasLa ponencia más importante del día de la

inauguración (miércoles 15) fue, sin

duda, la de Michail Bletsas, del proyecto

“One Laptop Per Child”, proyecto aban-

derado por el MIT y Nicholas

Negroponte que pretende desarrollar un

pequeño portátil de muy bajo coste (100

dólares) para ser distribuido entre los

niños y jóvenes de países del Tercer

Mundo. Michail expuso cómo están

logrando poco a poco abaratar costes y

cómo se han desarrollado nuevas tec-

nologías para ello, especialmente en lo

relativo a la pantalla.

Ese mismo día por la tarde tuvo lugar

la mesa redonda relativa a creative com-

mons y patentes de software, aunque la

discusión se polarizó rápidamente en

torno a este último y polémico tema.

Destacar la batalla que mantuvo Alberto

Barrionuevo, representante de la FFII,

frente a Christian Platzer, de la Oficina

Europea de Patentes. Como es habitual

en este tipo de debates, los defensores de

lo indefendible recurrían a las medias

verdades o se escudaban en la ignoran-

cia, cosa que no dudaron en señalar los

otros ponentes.

La jornada del jueves se inició con la

sesión plenaria “El futuro de las grandes

empresas”, con la presencia de los pesos

pesados: IBM, HP, Sun, etc. Las mega-

corporaciones, cómo no, intentaron

transmitir que ellas apuestan completa-

mente por el Software Libre, aunque la

manera de hacerlo de cada una tenga

puntos más que discutibles. Desde

Oracle se defendieron los “ecosistemas

abiertos” (especialmente en cuanto a

estándares y código) y Sun, por su lado,

La conferencia estuvo marcada por

el éxito de asistencia y el elevado

nivel de muchos de los ponentes.

Se presentaron 176 expertos de 26 país-

es. La organización contó con los típicos

contratiempos de estos mega-acontec-

imientos: problemas con el WiFi, caída

de ultima hora de algunos ponentes

(¿alguien vio a Alan Kay?), atasco en las

máquinas de identificación para la pren-

sa y el despiste natural que sobreviene

cuando una ponencia es suspendida. Sin

embargo, estos pequeños inconvenientes

son del todo intrascendentes cuando se

tiene la oportunidad de poder a escuchar

a ponentes de la talla de Bletsas, Galli,

Barrionuevo, Barahona y tantos otros

que compartieron su tiempo y esfuerzo

en discutir y comentar las nuevas de esta

mezcla de tecnología y filosofía que es el

Software Libre.

Por otro lado no se ocultó la importan-

cia que presenta para las pequeñas y

grandes empresas del sector este nuevo

modelo de desarrollo, tal y como ates-

tigua el alto nivel de participación, tanto

en ponentes como en stands, de empre-

sas e instituciones. El cambio y la aper-

tura de fabricantes a los modelos del

software libre se hizo evidente al con-

tarse en la zona de exposición (muy ani-

mada en esta edición) con muchas

empresas que cuentan en su haber con

una larga historia en el desarrollo de

software bajo licencias privativas pero

COMUNIDAD · OSWC II

90 Número 16 W W W . L I N U X - M A G A Z I N E . E S

La recta final de la segunda edición de la

OSWC se celebró en el Palacio de Ferias y

Congresos de Málaga durante los días 15,

16 y 17 de febrero. Linux Magazine estuvo

allí. POR ALBERTO PLANAS Y VÍCTOR

TIENDA.

Conferencia Internacional deSoftware Libre de Málaga

OSWC II

Page 91: Linux Magazine - Edición en Castellano, Nº 16

apuntó entre otras ideas que el software

libre es un medio para el fin de dar más

libertad a la sociedad. Novell, ya en otra

sala paralela, dejó claro su postura ante

la moda de reciente aparición de que

cada comunidad tenga su propia dis-

tribución GNU/Linux: todos estos

esfuerzos se verían mejor recompensa-

dos si todas estas distribuciones

autonómicas realizaran un intento de

unificación.

El jueves por la tarde tuvo lugar la

mesa redonda con el título “¿Se están

generando nuevos modelos de

sociedad?”, en la que destacaron las

aportaciones del periodista Francis

Pisani, y del filósofo por la Universidad

Complutense, Javier Bustamante.

Bustamante resumió su postura acerca

del impacto que las nuevas tecnologías

de la información están teniendo en la

sociedad actual y la nueva economía:

explicó cómo la tecnología revitaliza la

vida social y política de las democracias.

Hizo también interesantes aportaciones,

como la posibilidad de estudiar el mode-

lo de Software Libre mediante la Teoría

de Juegos. Francis Pisani, por su parte,

se centró más en aspectos como la

“brecha digital”, de la cual sostuvo que

su principal causa es un problema cul-

tural.

Francis Pisani participó también en la

mesa redonda del viernes por la

mañana, que moderaba nuestro blogger-

foneador favorito, Enrique Dans, bajo el

título “El futuro del software libre: la

visión de los gurús”. Pisani polemizó en

cierta medida al preguntarse acerca de

los posibles elementos de fundamentalis-

mo en el mundo del software libre.

Branden Robinson, líder de Debian,

repasó los tres

ámbitos de desar-

rollo principales

concernientes a la

comunidad del

software libre: tec-

nológico, legal y

social, y sostuvo

que no se puede

restringir la liber-

tad, a la hora de

crear software de

realizar modifica-

ciones a progra-

mas que benefi-

cien a la sociedad.

Por su parte, Alan

Robertsson, del Linux Tehnology Center,

alertó de que uno de los factores princi-

pales en la supervivencia de un proyecto

de código abierto es que llegue a con-

seguir una masa crítica, una comunidad

que pueda llevar adelante el proyecto

cuando sus fundadores no puedan con-

tinuarlo. Por último, Jeff Waugh, de

Ubuntu, defendió la importancia para el

software libre que su filosofía de com-

partir y colaborar llegue a todas las per-

sonas: hay que asumir ese reto de

difundir los valores de la filosofía del

software libre a toda la sociedad.

Anuncios de laAdministraciónPor otro lado se hicieron algunos anun-

cios importantes, como la puesta en mar-

cha de un repositorio de software libre

con más de 270 aplicaciones de la Junta

de Andalucía, donde se volcarán todas

las aplicaciones liberadas del Gobierno

andaluz [1]. En cuanto a los proyectos

de futuro, avanzó que este año se regu-

lará el uso obliga-

torio de los están-

dares abiertos por

parte de la Junta

de Andalucía, con

el objetivo de que

en 2008 todos los

sistemas y docu-

mentos que inter-

cambien adminis-

tración y ciu-

dadanos sean de

estas característi-

cas. También

anunció la

creación del

Centro Andaluz

del Software Libre, con la participación

de las universidades, las empresas y la

administración, y que funcionará como

banco de pruebas de los fabricantes para

sus productos.

Salas ParalelasAl margen de las sesiones plenarias

tuvieron lugar en torno a 20 sesiones

temáticas paralelas y casi 30 talleres.

Sería casi imposible poder resumir de

todo lo que se habló, pero podemos

destacar fugazmente las ponencias de la

gente de KDE, con Antonio Larrosa

como anfitrión de lujo, los talleres de los

miembros de The Apache Software

Fundation y las sesiones de algunas de

las más destacadas figuras del panorama

del software libre español como Ricardo

Galli, de la Universitat de les Illes

Balears. Por último mencionar a Tomeu

Borrás, de BULMA, que expuso la parti-

cular experiencia de BulmaGés y el mod-

elo de negocio en software libre que ellos

han adoptado.

… Y el año que vieneEsta edición de la OSCW puede conside-

rarse todo un éxito. ¿De cara al futuro?

Pues se va a trabajar en potenciar este

evento a nivel internacional para inten-

tar situarlo como referente mundial den-

tro de su categoría. De momento se

anunció que la próxima edición se cele-

brará en Badajoz. ¡Nos vemos allí!

91Número 16W W W . L I N U X - M A G A Z I N E . E S

[1] Repositorio de la Junta de Andalucía:

http://www.juntadeandalucia.es/

repositorio

[2] OSWC: http://www.

opensourceworldconference.com

RECURSOS

OSWC II • COMUNIDAD

Page 92: Linux Magazine - Edición en Castellano, Nº 16

#05

#08

#11 #12 #13

#09 #10

#06 #07

a g o t a d o

¡Hazte con tus ejemplares

atrasados!

WWW.LINUX-MAGAZINE.ES/ATRASADOS

Page 93: Linux Magazine - Edición en Castellano, Nº 16

#14 #15

¡pídelos ya!

el REPOSITORIOde conocimientos

LINUXmás COMPLETO

¡No esperes aque se agoten!

WWW.LINUX-MAGAZINE.ES/ATRASADOS

Page 94: Linux Magazine - Edición en Castellano, Nº 16

94

EVENTOS

94 Número 16 W W W . L I N U X - M A G A Z I N E . E S

LinuxWorld Conf.& ExpoEspañaFecha: 18-19 Abril

Ciudad:Madrid, España.

Sitio Web:

www.linuxworldexpo.com

Debconf 6Fecha: 14-22 Mayo

Ciudad:Oaxtepec,México

Sitio Web:

http://www.debconf.org

Festival Digital de AndalucíaFecha: 10-23 Abril

Ciudad:Málaga,España

Sitio Web:

http://www.festivaldigi-tal.org

Información de Contacto

DirectorPaul C. Brown

CoolaboradoresPaul C. Brown, Jose Manuel González Vida, JuanRafael Fernández, Pedro Orantes, José María Ruíz,Alberto Planas, Jose A. García, Ana Mª Ferreiro

TraductoresPaqui Martín Vergara, Paul C. Brown, AntonioRueda, Víctor Tienda.

MaquetaciónFrancisco Fernández

Diseño de [email protected]

Publicidadwww.linux-magazine.es/pub/

Para EspañaExpresando Comunicaciones [email protected].: (+ 34) 952 216 406Fax.: (+ 34) 952 217 115

Paul C. [email protected].: (+ 34) 951 010 556Fax.: (+ 34) 951 010 516

Para el Resto del MundoBrian Osborn [email protected] Tel.: (+49) 6509 910 495Fax.: (+49) 6509 910 497

Director EditorialPaul C. Brown

Jefe de ProducciónFrancisco Fernández

Subscripciones: www.linux-magazine.es/magazine/subs

Precios Subscripción España: 54,90 €Europa: 64,90 €Resto del Mundo - Euros: 84,90 €

Tel.: (+34) 951 010 556Fax.: (+34) 951 010 516 [email protected]

Linux MagazineLinux New Media Spain, S.L.Avda. Juan López Peñalver, 2129590 - Campanillas Málaga ESPAÑA [email protected].: (+34) 951 010 556Fax.: (+34) 951 010 516

www.linux-magazine.es - Españawww.linux-magazine.com - Mundowww.linux-magazine.de - Alemania

Si bien se toman todas las medidas posibles paragarantizar la precisión del contenido de los artículos publi-cados en Linux Magazine, la editorial no se hace responsable de imprecisiones aparecidas en larevista. Asimismo, Linux Magazine no compartenecesariamente las opiniones vertidas por suscolaboradores en sus artículos. El riesgo derivado del uso del DVD y el material que contiene corren por cuenta del lector. El DVD es estudiado escrupu-losamente para confirmar que está libre de virus y errores.

Copyright y Marcas Registradas © 2004 Linux NewMedia Spain, S.L. Linux New Media Spain S.L. prohíbela reproducción total o parcial de los contenidos deLinux Magazine sin su permiso previo y por escrito.Linux es una Marca Registrada de Linus Torvalds.

Impreso en Alemania

Impresión: Dierichs Druck + Media GmbH

Distribución: SGEL

Depósito Legal: MA-116-2005

ISSN edición impresa: 1576-4079

ISSN edición online: 1699-2237

Calendario de Eventos

Evento Fecha Ciudad Sitio Web

LinuxWorld Conference & Expo Boston 3-6 Abril 06 Boston,MA,EE.UU www.linuxworldexpo.comFestival Digital de Andalucía 10-23 Abril 06 Málaga,España http://www.festivaldigital.orgLinuxWorld Conference & Expo Spain 18-19 Abril 06 Madrid,España www.linuxworldexpo.com7º Fórum Internacional Software Libre 19-22 Abril 06 Porto Alegre,Brasil http://fisl.softwarelivre.orgIII Jorn.Soft. Libre Univ.Cádiz 20-21 Abril 06 Cádiz,España http://osl.uca.es/jornadas/VII Fórum Internacional Software Libre 19-22 Abril 06 Porto Alegre,Brazil http://fisl.softwarelivre.org/LinuxWorld & NetworkWorld Canada 24-26 Abril 06 Toronto,Canada www.lwnwexpo.plumcom.caLinuxWorld Conference & Expo Italy 9-10 Mayo 06 Milan, Italia www.linuxworldexpo.itLinuxWorld Conference & Expo SA 16-19 Mayo 06 ohanesburgo,S.África www.linuxworldexpo.co.zaLinuxWorld Conference & Expo Brazil 23-25 Mayo 06 Sao Paulo,Brasil www.linuxworldexpo.comLinuxWorld Conference & Expo Japan 31 Mayo - 6 Junio 06 Tokio, Japón www.linuxworldexpo.comUSENIX ’06 30 Mayo - 3 Junio 06 Boston,MA,USA www.usenix.org/events/usenix066º Fórum Internacional Software Livre 4-6 Junio 06 Porto Alegre,Brazil http://fisl.softwarelivre.orgLinuxWorld Conference & Expo 5-7 Junio 06 Korea Seúl,Korea www.linuxworldkorea.comRobocup 14-20 Junio 06 Bremen,Alemania www.robocup2006.org/startOSCON 2006 24-28 Julio 06 Portland,EE.UU. http://conferences.oreillynet.comLinuxWorld Conference & Expo 14-17 Agosto 06 San Francisco,EE.UU. www.linuxworldexpo.comLinuxWorld Conference & Expo NL 11-12 Octubre 06 Utrecht,Holanda www.linuxworldexpo.nlLinuxWorld Conference & Expo UK 25-26 Octubre 06 Londres,R.U. www.linuxworldexpo.co.uk

Page 95: Linux Magazine - Edición en Castellano, Nº 16

Más del 30% de descuento respecto al precio de portada: Consigue 12 números por 54’90 Euros y todos los DVDs ¡Gratis!

A diferencia de otras publicaciones, Linux Magazine no llenará tu buzón de recordatorios para que renueves tu subscripción. Ésta se renovaráautomáticamente cada año. Recibirás una confirmación aproximadamente 30 días antes del final de tu periodo de subscripción, pero no serequiere que hagas nada para seguir suscrito.

¡No te pierdas Linux Magazine nunca más! La subscripción te asegura que recibas los conocimientos Linux de más alta calidad en tu domiciliocada mes.

Si por cualquier motivo decides dejar de leer Linux Magazine, puedes cancelar tu subscripción en cualquier momento. Te abonaremos el preciode todos los números que no hayas recibido. Sin preguntas, sin fechas de cancelación, sin problemas.

Linux Magazine es algo más que una revista de Linux. Patrocinamos grupos, congresos, proyectos y eventos relacionados con el Software Libre.Suscribiéndote a Linux Magazine garantizas que podamos seguir apoyando al Software Libre allá donde haga falta.

Page 96: Linux Magazine - Edición en Castellano, Nº 16
Page 97: Linux Magazine - Edición en Castellano, Nº 16

LINUX LOCAL

97Número 16W W W . L I N U X - M A G A Z I N E . E S

Andalucía

Logo Empresa Correo-e Web 1 2 3 4 5 6 7 8

Gesinfo [email protected] www.gesinfoweb.com � � � � � �

BitRock [email protected] bitrock.com � �

Properly Software [email protected] www.properly.es/site � �

GuadaGames [email protected] www.guadagames.com �

Exprecom [email protected] www.exprecom.com � � � � � � �

LINUX LOCALLeyenda

1.- Hardware

2.- Software / Desarollo

3.- Formación

4.- Soporte / Consultoría

5.- Servidores

6.- Redes

7.- Migración

8.- Hospedaje

Cataluña

Logo Empresa Correo-e Web 1 2 3 4 5 6 7 8

IWS [email protected] www.iws.es � � � � � �

Madrid

Logo Empresa Correo-e Web 1 2 3 4 5 6 7 8

Mono::labs [email protected] www.monolabs.com � � � � � �

Datum [email protected] www.datum.ws � � � � � �

Linux Local es tu directorio de servicios y empresas de Linux cerca de ti.

¿Necesitas soporte, hardware, formación? Consulta Linux Local y encuen-

tra quién ofrece qué y dónde. El directorio se divide en regiones autóno-

mas para ayudarte a localizar las empresas que ofrecen servicios cerca de ti. Uti-

liza la leyenda de la derecha para encontrar la empresa que ofrece el servicio

que precises.

Linux Local es tu guía de servicios Linux.

¿Por qué no está su empresa eneste directorio?

LINUX MAGAZINE llega a miles de empresas, profesionales y usuarios cada mes.Si tiene servicios o productos Linux que ofrecer ¡Llámenos!

Tlf.: +34 951 010 556Fax: +34 951 010 516

[email protected]

Page 98: Linux Magazine - Edición en Castellano, Nº 16

98

PRÓXIMO NÚMERO

98 Número 16 W W W . L I N U X - M A G A Z I N E . E S

SCRIPTSEl perfume caro se vende en botellas

pequeñas, dicen algunos. Igual que el

veneno, dicen otros. La cuestión es que

los scripts, esas pequeñas joyas de la pro-

gramación que hacen una sola cosa, pero

de una manera super-eficiente, son la

esencia del control sobre un sistema

Linux. En el número 17 de Linux Maga-

zine veremos algunas ideas para opti-

mizar scripts para Bash. Asimismo la

plataforma para desarrollo para red

Twisted, una infraestructura basada en

Python y que habla la mayoría de los

protocolos de Internet.

Terminaremos nuestro repaso a las

novedades en el mundo del scripting con

un artículo sobre RealBasic, un entorno

que permite portar de manera sencilla

scripts realizados en VisualBasic a Linux.

MUDS SENCILLAS

No, no vamos a revolcarnospor el fango. MUD son lassiglas de Multi-User

Database, y con Mudbag esposible crear bases de datosmultiusuario sencillos sinnecesidad de pasar por lascomplicaciones de motoresde bases de datos máscomplejos como MySQL yPostgreSQL.

DOBLE KLIK

Si piensas que instalar software enun sistema Linux es complicado,piénsalo de nuevo, porque llegaKlik, el nuevo concepto deinstalación para KDE, que permitedescargar e instalar con un únicoclic de ratón, sin problemas dedependencia y sin tocar el sistemasubyacente. ¿Imposible? Averiguacómo funciona en el próximonúmero de Linux Magazine.

A LA VENTA: MAYO 2006

Junio 2006: Número 17

PRÓXIMO NÚMERO

Page 99: Linux Magazine - Edición en Castellano, Nº 16
Page 100: Linux Magazine - Edición en Castellano, Nº 16