www.linux-magazine.es issue lmesce 85 lmesce 85

30
Automatización Herramientas y Trucos Pacemaker Distribución de Software Scribus Desarrollo Android Recoll TuxGuitar ImageMagick NÚMERO 85 P.V.P 6,95 CANARIAS • P.V.P 7,05 AUTOMATIZACIÓN TRUCOS Y HERRAMIENTA PARA ADMINS AGOBIA Versión EE de 64 bits. Más información en página 3. WWW.LINUX - MAGAZINE.ES LINUX MAGAZINE NÚMERO 85 AUTOMATIZACIÓN Conecta tu hogar a la red con el hardware libre de Arduino 8 413042 594505 00085 SCRIBUS Diseño y edición de folletos con Software Libre HERRAMENTAS ANDROID Las alternativas a Eclipse y al SDK oficial PARKING Utiliza Perl y OpenStreetMap para encontrar aparcamiento IMAGEMAGICK Aprende a procesar imágenes desde la línea de comandos GRATIS Casa en Red HERRAMIENTAS Y TRUCOS PARA ADMINS AGOBIADOS Recuperación de fallos con Pacemaker Distribución de software simplificada Monitorización de ficheros de logs

Upload: bigwell-arias

Post on 29-Nov-2015

49 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Autom

atizaciónH

erramientas y Trucos P

acemaker D

istribución de Softw

are Scribus D

esarrollo Android R

ecoll TuxGuitar Im

ageMagick

NÚMERO 85 • P.V.P 6,95 €CANARIAS • P.V.P 7,05 €

AUTOMATIZACIÓNTRUCOS Y HERRAMIENTA PARA ADMINS AGOBIA

Versión EE de64 bits. Más informaciónen página 3.

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

LIN

UX

MA

GA

ZIN

E

ME

RO

85

AUTOMATIZACIÓN

Conecta tu hogar a la red con

el hardware libre de Arduino

8413042594505

00085

SCRIBUSDiseño y edición de folletos

con Software Libre

HERRAMENTAS ANDROIDLas alternativas a Eclipse y al SDK oficial

PARKINGUtiliza Perl y OpenStreetMap

para encontrar aparcamiento

IMAGEMAGICKAprende a procesar imágenes

desde la línea de comandos

GRATIS

Casa en Red

HERRAMIENTAS Y TRUCOS PARA ADMINS AGOBIADOS

� Recuperación de fallos con Pacemaker

� Distribución de software simplificada

� Monitorización de ficheros de logs

Page 2: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

4.95Euros

Page 3: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

DVD

ROSA 2012 – MARATHON

¿DVD DEFECTUOSO?

Si crees que tu DVD está en mal estado, escríbenos a

[email protected] para diagnosticarlo o para que

te enviemos uno nuevo.

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

[1] ROSA: http:// www. rosalab. com/

RECURSOS

Este DVD contiene una versión de

ROSA 2012 – Marathon de instalación.

Para empezar a usar tu Linux, inserta el

DVD en el reproductor y reinicia el

ordenador. Si no aparece el menú del

DVD, tienes que ajustar la BIOS para

arrancar desde el disco. Para hacerlo,

normalmente has de pulsar una tecla

durante las primeras fases del arran-

que del ordenador (habitualmente F2 o

Supr), buscar el menú que permite

cambiar la secuencia de arranque de

dispositivos y colocar el lector de DVDs

en el primer lugar de la secuencia. Des-

pués, guarda los cambios y sal de la

herramienta de configuración para que

se reinicie el arranque. Como cada

BIOS es diferente, recomendamos

consultar la documentación del fabri-

cante para realizar esta operación.

Arranque

En el DVD de este número de Linux Magazine traemos ROSA, la distro rusa derivada

de Mandriva que quiere empezar su particular Revolución de Octubre en tu orde-

nador.

Por un lado, el objetivo de ROSA es convertirse en un sistema operativo estéticamente

atractivo, con un escritorio moderno y usable, compatible con el Linux Standard Base y

con aplicaciones con soporte de larga duración, ideal para entornos corporativos.

Pero lo más revolucionario de ROSA es su escritorio: derivado de KDE y con una esté-

tica particular (pero muy agradable), viene con muchas funcionalidades añadidas, como

RocketBar, que sustituye a la barra convencional de KDE. También incluye SimpleWel-

come, una especie de buscados/ selector/ lanzador de aplicaciones similar a lo que pode-

mos encontrar en Gnome 3 o Unity y TimeFrame, un nuevo visualizador de contenidos

que clasifica los medios y ficheros cronológica o semánticamente, entre otros muchos

cambios.

La versión incluida en el DVD es la “Extended Edition”, que trae todos los codecs y plu-

gins, incluyendo aquellos que pueden tener restricciones de distribución en según que

países. �

Page 4: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85
Page 5: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

EDITORIAL

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

Cada uno tiene sus ideas y sus con-

vicciones de cómo debe ser el

mundo. Pero conviene recordar

que esas ideas y convicciones sólo funcio-

nan perfectamente en el teatro de tu propia

cabeza. En cuanto las exteriorizas invaria-

blemente topan con La RealidadTM.

Lo cosa se complica si tenemos en

cuenta que, sí, el mundo es infinitamente

complejo, pero no ayuda el que lo perciba-

mos de manera imperfecta. Lo que llega a

penetrar hasta nuestra conciencia es la

sombra de algo tamizada por un velo y fil-

trada por una cortina. Y encima, el disco

duro que ha de registrarlo todo, tiene

serios problemas de corrupción de datos.

Inmediatamente tras recibir cualquier

input, nuestro cerebro se pone a trabajar

sobre él para que cuadre con nuestras con-

vicciones y prejuicios, intentando reducir

al mínimo el nivel de disonancia cognitiva.

A pesar de que la evidencia es que nues-

tra mente es muy buena en esa tarea (es

decir, que no conseguirás convencer a

alguien de nada de lo que no quiera ser

convencido por muchas pruebas que le

presentes – la gente oirá lo que quiere oír y

verá lo que quiere ver), una vez tuve la

idea de intentar paliar el problema. Pen-

saba que Internet sólo había agravado la

situación (recordad que soy lo suficiente-

mente mayor como para haber pasado la

mayor parte de mi vida sin conexión a la

red… a ninguna red) y sitios como Barra-

punto, Menéame, Digg y Reddit, sitios que

se alimentaban de las contribuciones de

los visitantes, se habían convertido en

“cámaras de ecos”, dónde sólo las tergiver-

saciones de las noticias que mejor se inte-

graban con la mente-colmena dominante

salían publicadas, alimentando así un cír-

culo vicioso de “voy a este sitio porque

publican cosas que coinciden con mi per-

cepción del mundo y este sitio coincide

con mi percepción del mundo porque voy

a él”.

Para romperlo, como el problema lo

había exacerbado la tecnología, pensé que

la solución también podría ser tecnológica.

Tomando prestado conceptos de juegos de

estrategia tipo SimCity, donde el programa

juega un rol no sólo mostrando los resulta-

dos de las acciones del jugador, sino de vez

en cuando interviniendo de manera más

notoria con desastres naturales u otros

cataclismos, pensé que sería interesante

crear un sitio de noticias alimentado por

usuarios, pero que implementara en el

backend un parseador de textos y una serie

de “agentes” que buscaran textos de temá-

ticas similares a los sometidos.

La palabra clave de lo anterior es simila-

res, porque el backend buscaría textos rela-

cionados por temática, pero con diferentes

perspectivas, con el fin de matizar o

incluso contradecir a lo posteado original-

mente. El objetivo era que el motor enfren-

tara a los visitantes con textos que retaran

sus prejuicios e ideas preconcebidas. El

motor actuaría como un “fantasma en la

máquina”, como el de SimCity, soltando

de vez en cuando un Godzilla en forma de

texto discordante para destrozar aquello

que antes hubiera sido un remanso de

pacífico consenso ideológico.

Lo íbamos a llamar Mut-Mut, por Muta-

tis Mutandis (“se cambiará lo que se deba

cambiar” – sobre todo la opinión del lec-

tor) y llegamos lo suficientemente lejos en

el desarrollo como para saber que era facti-

ble crear un modelo funcional con la

potencia de computación que aporta un

cluster mediano. Asimismo, imaginamos

un montón de funcionalidades para dotar

a Mut Mut de la inteligencia necesaria para

participar de manera ágil en la conversa-

ción: transferencia en mesh entre dife-

rentes “muts”, clasificación de textos entre

los ya almacenados para un acceso más

rápido, análisis de los comentarios en

busca de recursos, almacenamiento

líquido de recursos fiables… Llegamos al

punto de darnos cuenta de que podríamos

crear un MM especializado en un tema

concreto simplemente “dándole de comer”

una serie de textos sobre el tema en cues-

tión y otorgándole un peso especial a esos

textos, ya que todos los siguientes se inter-

pretarían en función de ellos.

Pero me desvío.

La cuestión es que queríamos también

evitar la interpretación de hechos en térmi-

nos de blanco o negro. Toda historia, pen-

samos, tiene al menos tres lados: la tuya, la

suya y la de la cámara de seguridad. Y a

menudo muchos más. Queríamos que el

motor de Mut-Mut mostrara todos los

lados que encontrara para dar al visitante

una visión global de un evento, una visión

que no le permitiera refugiarse en medias

verdades que le reafirmaran en sus creen-

cias.

Pensamos que sería interesante que la

cosa fuera sostenible para no tener que

recurrir a donativos o subvenciones pero,

¿cuál era el potencial modelo de negocio?

Jugueteamos con la idea de adaptar MMs

como sistemas expertos para colectivos

especializados, como abogados o médicos.

También pensamos que, como un servidor

Mut-Mut no podría funcionar muy bien en

algo que no fuera un cluster, el alojamiento

a lo Wordpress también sería una opción.

Pero lo principal era enfrentar a la gente

a hechos que podrían poner en cuestión

sus creencias y ahí se nos agotaron las

ideas. Porque, ¿quién quiere que le desen-

gañen?, ¿quién está dispuesto a admitir

que sus principios no tienen base en la rea-

lidad? o ¿quién quiere leer algo que le

ofende? Hace falta tener un carácter espe-

cial para cambiar de opinión cuando tus

convicciones se ponen en entredicho.

Y es que la realidad no vende. �

Paul C. Brown

Director

MUTACIONESNos sentimos orgullosos de nues -tros orígenes como pu blicación,que se remonta a los primerosdías de la revolución Linux.Nuestra revista hermana, lapublicación alemana LinuxMagazine, fundada en 1994, fuela primera revista dedicada aLinux en Europa. Desde aquellastempranas fechas hasta hoy,nuestra red y experiencia hancrecido y se han expandido a lapar que la comunidad Linux alo ancho y largo del mundo.Como lector de LinuxMagazine, te unes a unared de informacióndedicada a la distribucióndel conocimiento yexperiencia técnica. No noslimitamos a informar sobre elmovimiento Linux y de SoftwareLibre, sino que somos parteintegral de él.

Page 6: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

10 Estar Allí

Cuando un nodo de un clúster falla, el

software de alta disponibilidad Pace-

maker lanza los servicios en otro

nodo. Una funcionalidad menos cono-

cida de Pacemaker es la capacidad de

poner los servicios fallidos de nuevo

en pie en el gestor del clúster.

16 Entrega de Paquetes

Mantener todos los clientes de Linux

en un entorno empresarial al día

puede ser todo un reto logístico.

Muchos administradores apreciarán

un buen sistema de distribución de

software, especialmente si es una

herramienta libre que no suponga un

problema para el presupuesto del

departamento IT.

22 Peinando Logs

Los archivos de log contienen todo lo

que ocurre en un sistema Linux y los

servicios que se ejecutan. Logcheck y

Logsurfer filtran los eventos más

importantes para el administrador e,

incluso, pueden disparar una reacción

adecuada de forma automática.

28 ¡Eureka!

Los autores de Linux Magazine com-

parten sus mejores trucos de automa-

tización. Descubre cómo evitar que un

script destruya tu máquina, distribuir

paquetes en sistemas Gentoo y cómo

sincronizar archivos de modo seguro.

31 Doblar y Volar

Un folleto con dibujos aburridos y con

un diseño pobre puede estropear el

marketing más cuidado. Scribus te

permite crear publicaciones informati-

vas con un toque profesional.

35 Desarrollo Alternativo

Eclipse y el SDK de Android son una

buena forma de comenzar a

desarrollar aplicaciones para Android,

pero pronto encontraremos que hay

cosas que no se pueden hacer con el

kit inicial. Vemos algunas librerías y

herramientas que nos hacen la vida

más fácil.

Schlagwort sollte hier stehenCOVER STORY

39 Servicios en Oferta

Tastypie nos permite crear una API

REST para que cualquiera pueda

hacer uso de nuestros datos o servi-

cios.

43 Asistente de Aparcamiento

Los voluntarios que mapean las calles

de cada barrio para el proyecto

OpenStreetMap prestan verdadera

atención a los detalles, tales como

zonas de aparcamiento. Los scripts de

Perl de este mes consultan estos

datos.

49 El Tiempo

Para averiguar qué tiempo hace, el

administrador de sistemas y colum-

nista de esta revista, Charly Kühnast,

no tiene que salir de casa y mojarse,

que se lo lleve el viento, congelarse

de frío o achicharrarse con el sol.

50 Un Asunto Pegajoso

Desarrollar aplicaciones multiplata-

forma puede ser difícil y conllevar

errores. Ofrecemos algunos consejos

para facilitar el trabajo.

DESARROLLO

DESARROLLO

PRÁCTICO

ADMINISTRACIÓN

PORTADA

LINUX MAGAZINE

03 DVD Linux Magazine

04 Editorial

81 Eventos

81 Información de Contacto

82 Próximo Número

CONTENIDOS • Linux Magazine nº 85

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

Page 7: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

52 El Bus Gratuito

Un Bus de Servicio Empresarial (ESB)

es una autopista centralizada para los

datos en entornos con arquitecturas

orientadas al servicio. Un buen ESB se

encarga de la orquestación, del enru-

tamiento de los mensajes y del análi-

sis de los eventos. Vamos a presentar

tres opciones libres de ESB.

58 Hogar en Red

El concepto de “Internet de las cosas”,

a pesar de parecer algo del futuro, está

vivo en nuestro entorno y creciendo

cada día más…

65 Clase Maestra

Con TuxGuitar y TiMidity podemos

escribir y componer canciones sin que

sea necesario saber leer música. Tam-

bién podemos practicar, reproducir

nuestras propias composiciones y

añadir ritmos de acompañamiento de

instrumentos.

70 Más Allá de Rotar

ImageMagick es conocido como la

navaja suiza del procesamiento de

imagen desde la línea de comandos,

aunque va más allá de las típicas tareas

de rotación y re-escalado.

75 Total Recoll

Recoll es un front end amigable para el

motor de búsqueda de texto completo

Xapian, que usa filtros simples para

indexar contenido y administrar fiche-

ros.

78 Konsultorio

Klaus Knopper, el creador de Knoppix,

vuelve un mes más dispuesto a ayudar

a nuestros atribulados lectores. En este

número: Pantalla Oscura, Problema de

Red en Unity e Hipervisor de Máquina

Virtual.

7

ADMINISTRACIÓN

HARDWARE

LINUX USER

LINUX USER

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

COMUNIDAD

Ver p03 para más detalles

Page 8: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85
Page 9: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

En vez de un ataque frontal, como

ingeniero, Hedrick se puso a trabajar en

una alternativa que los fabricantes no

pudieron rechazar. Como profundo

conocedor de la industria de los discos

duros, su propuesta exigía un PIN, que

el usuario debía proporcionar para la

activación de CPRM y que impedía que

una aplicación no controlada, lo acti-

vara.

A este respecto, dijo en un foro:

”Si Linux deshabilita CPRM y [descu-bro que] lo rehabilita ‘JAVA-REAL-MENTE-DÍSCOLO’ o ‘APLICACIÓN-LICENCIADO-EN-LA-RED’ le meteré unpleito al fabricante del disco duro, alOEM y a cualquiera de los otros sucios ypodridos !@#$% que dañen a Linux ymi reputación como desarrollador de sis-temas operativos.” [2]

CPRM se utiliza hoy en día como tec-

nología de cifrado en tarjetas SD que se

usan en dispositivos que, a todo los

efectos, son ordenadores (como los

citados más arriba), pero que se com-

portan más como electrodomésticos.

Sin embargo, el PC se libró de una tec-

nología restrictiva gracias a Andre

Hedrick, ingeniero, desarrollador de

SuSE y colaborador del kernel de GNU/

Linux.

Otros méritos de Hedrick incluyen

haber descifrado el protocolo de control

de cargadores APS para permitir que

funcionaran con Linux y haber sido uno

de los mayores expertos en recuperación

forense de datos del mundo.

Andre Hedrick se suicidó el pasado

viernes 13 de julio y ha dejado esposa y

cuatro hijos. �

NOTICIAS

Esto suponía un serio problema para

realizar copias de seguridad, tanto per-

sonales como corporativas y Hedrick,

que por aquel entonces trabajaba en

SuSE como mantenedor de los susbsiste-

mas ATA, lo identificó como lo que era:

un atentado de la industria de medios

contra la libertad de los usuarios.

Para entender la dimensión del

asunto, de adoptarse esta tecnología

como estándar, cosa que se estaba con-

siderando, habría supuesto la conver-

sión de todo PC en appliance, algo como

un TiVo, TDT o consola de videojuegos,

un aparato con capacidad de almacena-

miento, pero en el cuál el usuario ten-

dría poco poder de decisión sobre lo que

se almacenaba, durante cuánto tiempo y

qué se podría copiar a otra parte.

RIP Andre HedrickPuede que no os suene el nombre de

Andre Hedrick, pero ha jugado un rol

fundamental en uno de los episodios

oscuros de la historia de la informática,

consiguiendo impedir casi en solitario la

aplicación masiva de una tecnología que

habría quitado el control a los usuarios

de sus propios discos duros.

CPRM es un tecnología que desarrolló

IBM en el año 2000 y que crea una capa

lógica encima del firmware del disco

duro y que controla todos los aspectos

del copiado, borrado y movimiento de

los ficheros. De esta manera, se quita el

control a los usuarios sobre sus discos

duros, impidiendo, por ejemplo, copiar

o modificar ciertos archivos, con el fin

en teoría de obstaculizar la piratería.

Gabe Newell (VALVe): “Lafalta de juegos frena aLinux”Gabe Newell, su empresa VALVe y sus

productos están mucho en los mentide-

ros Linux (incluyendo los nuestros) últi-

mamente. Y es que no pasa un día sin

que la empresa de Newell descubra una

nueva filiación con el sistema operativo

libre.

Hoy la noticia viene del propio Gaben,

que durante una cena patrocinada por

Covert & Co., Google Ventures y Perkins

Coie, ofreció unas declaraciones muy

cándidas sobre Linux y el nuevo sistema

operativo de Microsoft.

“El gran problema que frena a Linux

radica en los juegos. La gente no se da

cuenta la importancia que tienen los jue-

gos para impulsar la compra por parte de

los consumidores” dijo en un momento

de la entrevista. “Nos gustaría que fuera

aún más sencillo ejecutar los 2.500 jue-

gos que hay en Steam en el sistema

Linux. Se trata de una estrategia preven-

tiva. Creo que Windows 8 va a ser una

catástrofe para todos los implicados en el

espacio del PC y destruirá los márgenes

de un montón de gente. Si eso ocurre,

estaría bien tener alternativas para paliar

esa eventualidad”.

Naturalmente, Newell habla desde la

perspectiva del PC de escritorio (ya que

Linux no parece tener ningún problema

en su adopción en servidores y dispositi-

vos móviles), ya que insiste una y otra

vez que este espacio es el mejor para

desarrollar sus juegos.

El CEO de VALVe no es un extraño para

Microsoft, ya que trabajó en la empresa

redmondesa durante 13 años. Sin

embargo, por sus declaraciones, parece

creer firmemente en la popularización de

GNU/ Linux como sistema operativo de

escritorio.

¿Será el año en que Steam llegue a

Linux “el año del escritorio” del que

hablan las leyendas? �

NOTICIAS

[1] Completa descripción de la entre-

vista con Newell: http:// allthingsd.

com/ 20120725/ valves-gabe- newell-

on-the-future-of-games-wearable-co

mputers-windows-8-and-more/

RECURSOS [1] Necrológica de Hedrick en The Reg-

ister: http:// www. theregister. co. uk/

2012/ 07/ 26/ andre_hedrick/ ?2

[2] Hedrick expresa su opinión sobre el

CPRM: http:// www. linuxtoday. com/

developer/ 2001030400120NWHWKN

RECURSOS

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

Page 10: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85
Page 11: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

PORTADA • Monitorización de Ficheros Log

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

buscar advertencias o eventos especí-

ficos. Grep y sus homólogos buscado-

res de texto siguen desempeñando un

papel importante en la red, pero si

estamos buscando un poco de alivio a

la tediosa tarea de monitorizar archi-

vos de log, es posible que deseemos

probar una herramienta de análisis de

registros.

La mayor parte de los adminis-

tradores de sistemas se basan

en los archivos de log debido a

que son una importante fuente de

seguridad y de solución de proble-

mas. La información del sistema por

lo general se encuentra en varios

archivos de registro diferentes en

cada equipo y un único especialista

en TI puede tener que controlar doce-

nas o incluso, cientos de ordenado-

res.

En este contexto, la antigua técnica

de peinar los archivos de registro de

forma manual en busca de informa-

ción sospechosa hace mucho tiempo

que perdió sentido. Muchos adminis-

tradores utilizan herramientas de fil-

trado de texto tales como grep, para

La sencilla herramienta de análisis

de logs, Logcheck [1], reúne datos de

varios registros en un único archivo y

filtra los datos relevantes a través del

uso de expresiones regulares. Por su

parte, Logsurfer [2], un poco más

sofisticada, ofrece algunas caracterís-

ticas adicionales para organizar la

información del log. Tanto Logcheck

Monitorización de logs con Logcheck y Logsurfer

Peinando LogsLos archivos de log contienen los registros de lo que ocurre en un sistema Linux y los servicios que se ejecu-

tan. Herramientas como Logcheck y Logsurfer filtran los eventos más importantes para el administrador e

incluso, pueden desencadenar una reacción adecuada de forma automática.

POR THILO UTTENDORFER Y VALENTIN HÖBEL

Figura 1: Logcheck extrae mensajes críticos y los envía por correo al administrador.

Page 12: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

ción que se ha leído con anteriori-

dad.

Cada hora, en el cronjob bajo /etc/

cron.d/ logcheck del paquete de insta-

lación, se envían por correo los men-

sajes que Logcheck ha extraído de los

registros desde la última llamada.

Además, la herramienta envía un

correo electrónico similar al arrancar

el sistema. El Listado 1 muestra el

aspecto de un mensaje de Logcheck.

El contenido de los archivos en /etc/

logcheck/ ignore* especifica qué men-

sajes filtra y elimina la herramienta

de sus informes a enviar por correo.

El Listado 1 contiene dos líneas

sobre las que recibiríamos correo

desde Logcheck. La primera línea

contiene un mensaje del servidor de

correo Qmail, que se queja de una

conexión fallida con el servidor SMTP

del receptor. La segunda entrada

reporta que el usuario Logcheck ha

utilizado con éxito la herramienta su.

Ambos mensajes son dignos de enviar

por correo al administrador.

Logcheck se centra en el filtrado de

mensajes y el envío por correo elec-

trónico de logs. En particular, los sis-

temas basados en Debian tienen

paquetes de Logcheck con una

configuración por defecto muy útil y

filtros para muchos servicios (por

ejemplo, para el servidor MySQL).

Esto significa que podemos configurar

un práctico sistema de filtrado de logs

con poco esfuerzo extra.

Algunos administradores recorda-

rán una alternativa a Logcheck deno-

minada Logdigest. Este programa fun-

ciona de manera similar a Logcheck,

pero no ha tenido desarrollo activo

desde noviembre de 2009. Los desa -

rrolladores han fracasado por el

momento en implementar la nueva

versión de la herramienta en Python.

Pero si aún así todavía quieres inves-

tigar Logdigest, podemos encontrar

algo de material de lectura en su

página de SourceForge [3].

LogtailCuando monitorizamos archivos de

log y se nos notifican eventos, parece

lógico reaccionar a estos aconteci-

mientos con acciones definidas en un

proceso automatizado. El asistente de

Logcheck, Logtail, también se puede

utilizar para reaccionar ante eventos

específicos.

Para ello, crea un cronjob que se

comprueba periódicamente en un

archivo de log. La salida puede ser fil-

trada con una herramienta como Grep

o un script en Perl. Cuando el pro-

grama detecta un patrón específico,

puede desencadenar una acción,

como un sencillo mensaje de correo

electrónico al igual que en Logcheck.

Sin embargo, además de enviar correo

electrónico, se pueden poner en mar-

cha nuevos servicios o ejecutar otros

comandos. El Listado 2 muestra un

cronjob que reinicia el demonio de

MySQL si este falla.

Veloces LogridersUna gran desventaja de Logcheck y

Logtail es que se necesita llamarlos

regularmente a través de cron, por lo

que los programas no pueden reaccio-

nar de inmediato. Si estamos bus-

cando algo con más respuesta, pode-

mos probar Logsurfer [2]. El pro-

grama Logsurfer, que se basa en la

herramienta de análisis de logs

Swatch, toma un archivo de registro y

recupera las nuevas entradas en

tiempo real. Debido a que Logsurfer

está escrito en C, también ofrece ven-

tajas de rendimiento en comparación

con el shell script de Logcheck.

Mientras que Logcheck simple-

mente filtra los mensajes de registro

conocidos con el uso de una expre-

Monitorización de Ficheros Log • PORTADA

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

como Logsurfer permiten pre-configu-

rar una respuesta automática a los

avisos del sistema y otras entradas

críticas del registro.

Presentación de LogcheckEl archivo léeme de Logcheck ofrece

esta breve descripción de esta sencilla

pero versátil herramienta: “Logcheck

compara las entradas de log recientes

con una serie de conjuntos de patro-

nes de coincidencia de egrep que las

etiquetan como urgentes o las filtran

rutinariamente y envía por correo

electrónico los resultados al adminis-

trador “.

Una vez que configuramos Log-

check, éste vigila constantemente

nuestros archivos /var/ log/ syslog y

/var/ log/ auth.log, filtrando los suce-

sos sin importancia y enviando por

correo un resumen de los eventos más

importantes al administrador del sis-

tema (véase la Figura 1).

Con el cliente de correo adecuado y

los filtros correspondientes, podemos

almacenar los registros por hosts o

grupos en carpetas. Esta técnica nos

da una visión general de todos nues-

tros sistemas de un sólo vistazo, sin

necesidad de acceder a ellos.

Tras el escenario, Logcheck usa el

programa Logtail para monitorizar y

ensamblar las entradas del registro.

(Logtail suele ser parte del paquete

de Logcheck). Logtail recupera la

información de log de varios regis-

tros y muestra solamente las líneas

de un archivo que no se han mos-

trado con anterioridad. Para ello,

Logtail crea un segundo archivo lla-

mado filename.offset para cada regis-

tro y guarda la información del inodo

del archivo, tomando nota de la posi-

01 Feb 20 23:12:14 jupiter qmail: 1329775934.816939 delivery 19626:

deferral:

02 Sorry,_I_wasn’t_able_to_establish_an_SMTP_connection._(#4.4.1)/

03 Feb 20 23:16:23 jupiter su[15621]: Successful su for logcheck by root

Listado 1: Correo desde Logcheck

01 * * * * * root /usr/sbin/logtail /var/log/syslog | grep -q “mysql exited unexpected” && /etc/init.d/mysql restart

Listado 2: Cronjobs con Logtail

01 <I>Match_regex Not_match_regex Stop_regex Not_stop_regex Timeout <I>[continue]<I> Action [...]<I>

Listado 3: Reglas de Logsurfer

Page 13: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

PORTADA • Monitorización de Ficheros Log

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

coincidencia. Se

puede utilizar

un guión (-)

para marcar los

campos no utili-

zados.

AccionesLa Tabla 1

muestra las

palabras clave

potenciales de

Action para el último campo. Podemos

asignar una acción distinta para cada

regla que reaccione de manera dife-

rente ante diferentes eventos. Además

de ejecutar programas arbitrarios con

las acciones exec y pipe, la acción open

crea reglas dirigidas por contexto. El

programa almacena todas las líneas

que coincidan con una expresión regu-

lar. La acción report las genera más

tarde como un bloque completo de

entradas de registro contiguas.

sión regular, Logsurfer utiliza reglas

muy potentes. La sintaxis básica,

como se muestra en el Listado 3, es la

siguiente: Match_regex especifica la

expresión regular que debe cumplir la

línea de registro en la que estamos

buscando. El segundo campo,

Not_match_regex, nos permite excluir

patrones específicos. Si Stop_regex

encuentra una coincidencia, Logsur-

fer elimina la regla de la lista actual

de las reglas activas. El campo

Not_stop_regex describe los criterios

de exclusión. La entrada Timeout

define cuánto tiempo debería perma-

necer activa la regla. Si especificamos

un 0 aquí, el período de validez es

infinito.

El parámetro opcional continue

indica a la herramienta Logsurfer que

debería analizar la línea actual si se

aplica una regla previamente defi-

nida. Por defecto, Logsurfer deja de

leer una línea después de la primera

El Listado 4 contiene un ejemplo

sencillo de una regla que envía un

mensaje con la línea de log corres-

pondiente para un evento fuera de la

memoria. La primera expresión regu-

lar coincide con las líneas que contie-

nen la cadena kernel: Out of memory.

En este caso, la regla envía un correo

al usuario root. El asunto del correo

utiliza variables del patrón de bús-

queda para añadir la ID del proceso

($2 ) y otro tipo de información ($3).

Además, la regla entrega la línea de

log completa a la entrada estándar del

programa mailx.

Un ejemplo más complejo se mues-

tra con las tres reglas del Listado 5.

Detectan sesiones SSH y muestran

todos los datos de la sesión si el

usuario introduce una contraseña

incorrecta. Si no sucede nada

extraño, dentro de la sesión SSH (es

decir, si la contraseña es correcta),

las normas descartan los mensajes de

log.

Contextos como un Bufferde Memoria IntermediaComo mucho, la herramienta Log-

check podría filtrar Failed password

en este escenario, pero no podría

devolver los detalles acerca de la

sesión de SSH. Como alternativa,

podríamos filtrar todas las líneas de

log de SSH, pero esto nos daría dema-

siada información inútil y haría des a -

parecer las líneas realmente impor-

tantes. Logsurfer resuelve este pro-

blema con el uso de contextos, que

nos permiten almacenar temporal-

mente las líneas y volver a utilizarlas

cuando sea necesario.

Las tres reglas del Listado 5 sólo

tienen sentido en la combinación

dada. En un sistema basado en

Debian, podemos aplicarlas al archivo

de log /var/ log/ auth.log. Por razones

Figura 2: Con tan sólo tres reglas con Logsurfer podemos monitorizar los intentos de inicio

fallido de sesión en el puerto SSH.

01 ‘^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ sshd\[([[:digit:]]+)\]:.*’ - - - 0 continue

02 open “$2” - 5000 86400 360003 report “/bin/cat” “$2”04 05 ‘^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ sshd\[([[:digit:]]+)\]:

Failed password .*’ - - - 006 report “/bin/cat” “$2”07 08 ‘^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ sshd\[([[:digit:]]+)\]:

Connection closed.*’ - - - 009 delete “$2”

Listado 5: Contexto de Logsurfer

Tabla 1: Palabras clave de acción

01 ‘kernel: Out of memory: Kill process ([0-9]*) (.*)’- - - 0

02 pipe “/usr/bin/mailx -s \”Warning! Out of memory! Process $2 killed:

$3\” root “

Listado 4: Enviar Correo

Valor Significado

ignore Ignora esta línea

exec Ejecuta el program a

pipe Ejecuta el programa y pasa la línea a stdin

open Crea un contexto

delete Cierra un contexto

report Ejecuta el programa y pasa la información de contexto a stdin

rule Crea una nueva regla

Page 14: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

de simplicidad, generan como salida

toda la información directamente en

línea de comandos, pero sería posible

realizar otras acciones, como el envío

de un mensaje.

La primera línea identifica todas las

líneas de log del demonio SSH. La

acción open abre un nuevo contexto

en el que la regla utiliza el PID (entre

corchetes después de sshd) en la

sesión actual de SSH para identificar

las líneas pertenecientes a una sesión

SSH. También define los tiempos de

espera: si vencen, las normas también

generan como salida los datos de la

sesión. Lo importante aquí es la pala-

bra clave continue para asegurarnos

de que las siguientes reglas tienen

realmente efecto.

Si una línea de log contiene una

entrada Failed password (línea 5),

este ejemplo genera como salida todo

el contexto de la sesión SSH en la

línea de comandos. De nuevo, el PID

de la sesión SSH se utiliza para identi-

ficar el contexto. La regla de la línea 8

elimina el contexto de nuevo cuando

se cierra la sesión SSH. La Figura 2

muestra la salida de estas reglas en

una aplicación práctica.

Si usamos el modo tail, no debemos

olvidarnos de enviar la señal SIGHUP

al proceso de Logsurfer si utilizamos

las herramientas de Logrotate u otras

similares para crear un nuevo archivo

de log.

Desafortunadamente, Logsurfer

sólo está disponible como un paquete

de código fuente: no existen binarios

listos para usar en las distribuciones

de Linux más populares, pero compi-

larla e instalarla deben estar dentro

de las capacidades de cualquier admi-

nistrador de sistemas. Uno de los

autores ha preparado por su cuenta

algunos paquetes para distribuciones

basadas en Debian [4].

No olvide la SeguridadSin importar cuál sea la herramienta

de análisis de logs que utilice, debe

recordar siempre que no son siempre

el sistema y sus servicios los que

crean los mensajes de log, sino tam-

bién usuarios externos con sus accio-

nes. Un atacante podría, por ejemplo,

causar el desbordamiento del buzón

del administrador, echar abajo siste-

mas con expresiones cuidadosamente

Monitorización de Ficheros Log • PORTADA

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

elaboradas o ejecutar comandos arbi-

trarios.

La seguridad es un aspecto muy

importante en herramientas como

Logsurfer que analizan el registro del

sistema en tiempo real y pueden eje-

cutar scripts o programas arbitrarios.

Si partes del archivo de log se pasan a

programas externos como parámetros

o por medio de la salida estándar,

como en el primer ejemplo de este

artículo, un atacante potencialmente

podría manipular el programa. Los

usuarios de estas herramientas por

tanto necesitan endurecer las medi-

das de seguridad con los parámetros

que transfieren y la entrada estándar.

Para más información sobre cuestio-

nes de seguridad, podemos revisar la

página man de logsurfer.conf [5].

Sencillos o SofisticadosComo muestran los ejemplos anterio-

res, los administradores de sistemas

pueden ahorrarse una cantidad

enorme de tiempo mediante la auto-

matización del proceso de análisis de

archivos de log y si así se desea, de -

sen cadenar acciones.

Además de las herramientas descri-

tas aquí, muchas otras piezas útiles

de software pueden automatizar

nuestra respuesta ante eventos espe-

cíficos. En nuestro laboratorio,

hemos descubierto que Logsurfer fue

el más flexible de estos programas y

la solución con más opciones. La sin-

taxis puede parecer bastante compli-

cada a primera vista, pero nos da una

ventaja en escenarios complejos.

Como siempre, si se estudia el mate-

rial disponible y se está abierto a

nuevas ideas, os podéis ahorrar una

gran cantidad de trabajo monótono

en la administración de vuestros sis-

temas. �

[1] Logcheck y Logtail: http:// alioth.

debian. org/ projects/ logcheck/

[2] Logsurfer: http:// www. crypt. gen. nz/

logsurfer/ index. html

[3] Logdigest: http:// sourceforge. net/

projects/ logdigest

[4] Paquetes de Logsurfer para Debian y

Ubuntu: http:// devel. uttendorfer. net/

logsurfer

[5] Página Man de logsurfer.conf: http://

www. crypt. gen. nz/ logsurfer/

man_logsurfer_conf. html

RECURSOS

Page 15: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

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 16: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85
Page 17: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Kirs

ty P

arg

ete

r, 12

3R

F

Android • DESARROLLO

supuesto, de vez en cuandocompruebas si hay actualizacio-nes) – al menos tienes un buen

libro de desarrollo con Androidademás de esta revista – y te

encuentras muy ocupado progra-mando aplicaciones por diversión o por

trabajo. ¿Es eso todo lo que necesitas? Larespuesta dependerá de si deseas que tuvida sea más fácil o no. Aunque el SDK deAndroid [2] y las ADT [3] tienen bastanteque ofrecer, no lo hacen todo y antes o des-pués, querrás realizar algo que no podráshacer con lo que tienes. En este artículomostraremos algunas herramientas y libre-rías que puedes utilizar en el desarrollo detus aplicaciones Android. En la mayoría delos casos, los elementos que vamos a des-cribir han sido creados especialmente paraAndroid.

GuavaLa primera librería que deberías conoceres de Google y se llama Guava [4]. Dehecho, algunos programas de ejemplode Android que han sido publicadospor Google, se basan en Guava, que esuna librería de clases que sirve para

cubrir bastantes huecos. Digamos, porejemplo, que quieres realizar alguna ope-ración sobre cadenas de caracteres y nopuedes encontrarla en la clase estándar

Así que ya has instalado el SDK deAndroid, estás utilizando Eclipse[1] con las herramientas de

desarrollo de Android (ADT y por

String. O, quizás, quieras comprobar argu-mentos para validarlos. Guava es la res-puesta que andas buscando. Es de códigoabierto, robusta y estable. Para acceder ala librería, sólo tienes que ir a la página dedescarga, donde podrás encontrar unfichero ZIP que contiene el fichero JAR deGuava, la documentación de referencia dela API junto con la documentación de usode Guava con ProGuard (el ofuscador deaplicaciones Android) y otros documentosde ayuda. Vamos a presentar algunosejemplos útiles de clases:• com.google.common.io.LineReader –

Proporciona un método readLine() paracualquier objeto java.lang.Readable,tales como BufferedReader, FileReader oStringReader. Y muchas otras clasesrelacionadas con los flujos y los fiche-ros.

• com.google.common.base.Preconditions

– Proporciona métodos útiles para crearasertos sobre un parámetro que debenser ciertos y lanza excepciones del tipoIllegalArgumentExcept, conteniendomensajes con sentido, en el caso de queno se cumpla el aserto. Por ejemplo, envez de escribir

if (count <= 0) {

throw new U

IllegalArgumentException(U

Eclipse y el SDK de Android son una buena forma de comenzar a desarrollar

aplicaciones para Android, pero una vez que hayamos empezado, encontra-

remos que hay cosas que no se pueden hacer con el kit inicial. Vamos a ver

algunas librerías y herramientas que nos harán la vida más fácil.

POR DAVE MACLEAN

Más allá de Eclipse y del SDK de Android

HerramientasAndroid

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

Page 18: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

DESARROLLO • Android

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

Guava en el ordenador yextraer el fichero JAR. Luego,en el proyecto de Eclipse, pul-sas con el botón derecho delratón en el nombre del pro-yecto y elige Build Path yluego Configure Build Path...En el cuadro de diálogo queaparece, pulsa en la pestañaLibraries y luego en el botónAdd External JARs… Navegahasta el fichero JAR de Guava,selecciónalo y pulsa Open. Porúltimo, haz clic en OK y listo.

API de FacebookFacebook ofrece una API parapermitir a los desarrolladoresintegrar sus programas con lasfuncionalidades de Facebook.Aunque siempre puede unoponerse a estudiar detenida-mente la documentaciónhasta el mínimo detalle, es mejor utilizaruna librería específicamente creada paraintegrar las aplicaciones Android con Face-book.

En el sitio web de la librería de Androidpara Facebook [5] se puede encontrar unfichero descargable con el código fuenteque encapsula la API de Facebook pormedio de una serie de clases. Además, vie-nen ejemplos de aplicaciones y una copiade la aplicación Facebook que se puedecargar en un emulador.

En la página de los desarrolladores deFacebook [6] hay disponible noticias einformación directa de Facebook. La docu-mentación de cómo funciona interna-mente es especialmente buena, ya queexplica el modelo de datos y la forma denavegar a través de los grafos sociales yotras características propias del sitio social.

Para utilizar la librería se necesita unacuenta verificada de Facebook, lo quequiere decir que Facebook debe validar yasea el número de teléfono o una tarjeta decrédito asociada al nombre de usuario deFacebook, ya que quiere tener algo tangi-ble que lo ligue a sus desarrolladores. Tam-bién hay que registrar la aplicación en elsitio antes de poder integrarla. Facebookcreará un ID interno para la aplicación quese necesitará para poder conectarse a laAPI. También hay que aceptar los términosde servicio para poder definir la aplicación.

Una vez que se hayan completado estospasos, podrás ver el perfil de la aplicación,que incluye el appID que habrá que esta-

‘debe ser positivo: ‘ + count);

}

podría escribir lo siguiente:

checkArgument(count > 0, U

‘debe ser positivo: %s’, count);

La clase Preconditions también tienemétodos para comprobar valores null;comprobar posiciones en arrays, listas ocadenas; comprobar estados correctos ymucho más. La operación básica con-siste en evaluar una expresión y lanzarla excepción apropiada con una cadenaexplicativa en el caso de que esa expre-sión se evalúe como falsa. Dicho de otromodo, valida el aserto y se queja si no esverdadero. Como muchos programado-res no realizan una comprobación ade-cuada de parámetros, esta funcionalidadal menos facilita la escritura de códigode modo que los programadores puedanrealizar estas comprobaciones.

• com.google.common.base.Splitter –Complementaria a la clase Joiner, laclase Splitter proporciona un métodopara separar cadenas y similares queactúa sobre Strings o sobre instancias deobjetos CharSequence y que las puedeseparar haciendo uso de toda clase deseparadores diferentes. El resultado esun Iterable de elementos. Éste es unejemplo en el que se separa una cadenaen sus elementos, pero se desea que elresultado sea limpio y no devuelva cade-nas vacías:

private static final Splitter U

mySplitter = Splitter.on(‘,’)U

.trimResults()U

.omitEmptyStrings();

Iterable<String> tokens = U

mySplitter.split(U

“one, ,three, four,”);

El código anterior asigna a tokens [“one”,

“three”, “four”]. Se pueden utilizar otrostrucos para crear un separador que puedautilizar cualquier conjunto de caracterescomo elemento separador o una cadena demulticaracteres como un separador.

Únicamente he mencionado unas pocasclases de las disponibles en la libreríaGuava, pero merece la pena echarle un vis-tazo a todas las demás. Si decides utilizarla librería Guava en tu aplicación paraAndroid, añadirla es realmente fácil. Pri-mero hay que descargar el fichero ZIP de

blecer en Android para que la aplicaciónfuncione correctamente. Lo mejor quepuedes hacer es comenzar con uno de losejemplos de aplicaciones de Facebookincluidos en la descarga. Uno de ellos esmuy simple y obtiene datos muy rudimen-tarios, el otro puede capturar flujos deFacebook (tales como feeds de noticias). ElappID debe conectarse al fichero App.java.Téngase en cuenta que estas aplicacionesde ejemplo también incluyen gráficos deFacebook para los iconos y los botones.

A pesar de que las instrucciones de Face-book explican cómo crear un proyectoEclipse separado para las clases correspon-dientes y luego ligar la aplicación con esteproyecto separadamente, en mi opiniónme resulta más fácil importar las clasescorrespondientes dentro del proyecto quehe creado a partir de uno de los proyectosde ejemplo. En mi nuevo proyecto, estaoperación produjo dos paquetes: uno paralos ficheros del ejemplo y otro para losficheros de la clase correspondiente. A par-tir de aquí, hay que renombrar los paque-tes de ejemplo con el nombre de lospaquetes de la aplicación. El único pro-blema que tuve fue que una de las referen-cias a los recursos en FbDialog.java, que

no se resolvió hasta que añadí una senten-cia import con el nombre del paquete demi nueva aplicación.

Para que tu aplicación pueda entendersecon Facebook, aún deberás realizar algu-nas tareas más de integración. Desde ellado de Facebook, en el App Settings, bajo

Figura 1: Iconos para Android usando la imagen de mi perro.

Page 19: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Mobile and Devices, hay un campo llamado Android Key Hash.Aquí tienes que introducir tu certificado de publicación comoun valor hash. Para obtener este valor, las instrucciones dicenque tienes que realizar la siguiente operación desde la línea decomandos:

keytool -exportcert U

-alias androiddebugkey U

-keystore ~/.android/U

debug.keystore | openssl U

sha1 -binary | openssl base64

Estas instrucciones son correctas si estás desarrollando tu apli-cación y probándola en el emulador o en tu propio dispositivopersonal, pero no para cuando se distribuya la aplicación. Hayque exportar el certificado utilizado para firmar la versión delproducto de la aplicación, que espero que sea en un almacénde claves diferente con un alias también diferente. Además, amenos que no te encuentres en un Mac o en una máquinaLinux, no tendrás todavía los programas de OpenSSL.OpenSSL es relativamente fácil de instalar en Linux usando uncomando como:

sudo apt-get install openssl

En el caso de Windows o de Mac, hay que buscar un instala-ble que proporcione el comando openssl. Deberías poderencontrar uno de forma gratuita, pero tendrá varias posibilida-des de elección dependiendo de su configuración.

Una vez que la aplicación de ejemplo de Facebook se estéejecutando correctamente, podrás modificarla como desees. O,simplemente, puedes aprender de ella la forma de incorporarlas funciones de Facebook en tu propia aplicación.

Utilidades de Interfaz de Usuario deAndroidAhora, veamos cómo podrías crear los gráficos para tu aplica-ción, incluyendo no sólo tus iconos (uno para cada resoluciónde pantalla soportada), sino los gráficos de los menús, las noti-ficaciones y las pestañas. Y no te olvides de los gráficos de altaresolución de Android Market. Aunque siempre puedes acudira algún paquete comercial, como Photoshop o uno libre comoGIMP [7], también puedes echarle un vistazo al Android AssetStudio, disponible en la página de los Android UI Utilities [8].

El Android Asset Studio está basado en web y proporcionanumerosas funcionalidades para trabajar con colores, márge-nes, imágenes, textos y, en definitiva, hacer que las imágenestengan un buen aspecto para poder utilizarlas en las aplicacio-nes para Android. Simplemente hay que pulsar un botón paradescargar un fichero ZIP con el fichero gráfico en las diversasresoluciones que requiere Android, lo que es mucho más fácilque tener que estar cambiando las resoluciones de formamanual. El único inconveniente es que Android Asset Studioestá diseñado para ejecutarse en el navegador Chrome, aun-que puede que funcione en otros navegadores, aunque no hayninguna garantía de ello. El Android Asset Studio está limi-tado, en el sentido de que no se pueden crear las imágenesdirectamente, de modo que habrá que utilizar Photoshop oGIMP para crear el fichero inicial de la imagen. Android Asset

Page 20: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

una lista de errores conocidos, la docu-mentación y el código fuente. Habitual-mente el código fuente se puede ver direc-tamente desde el navegador: utiliza la pes-taña Browse que se encuentra en Source.También se puede utilizar el sistema Sub-version para descargar el código fuente alordenador de trabajo. Si aún no tienes ins-talado Subversión, puedes descargarte unaversión para tu sistema operativo [12].Téngase en cuenta que también hay dispo-nible un plugin para Eclipse.

ACRAComo ya habrás visto, Android Marketpuede proporcionar algunos informes deerrores a los desarrolladores, pero esa can-tidad de información no está tan detalladacomo podría esperarse. Afortunadamente,la librería ACRA puede serte de gran ayuda[13].

ACRA envía información a un lugar cen-tral cada vez que tu aplicación falle. Estelugar solía ser una hoja de cálculo de Goo-gle Docs que ha debido crearse con anterio-ridad. Posteriormente se añadió el soportepara poder enviar la información a otroslugares, como a un script personalizado enInternet o incluso por correo electrónico.

Para implementar la opción de GoogleDocs, los pasos a seguir son bastante sim-ples. Primero, debes crear una hoja de cál-culo en Google Docs en tu cuenta de Goo-gle a partir de la plantilla proporcionada –fíjate en la clave del formulario. Luego, tie-nes que añadir la librería a tu proyecto,usando la misma técnica descrita para lalibrería Guava. A continuación, en el Lis-tado 1 se muestra cómo extenderandroid.app.Application para añadir unaanotación a la definición e inicializar lalibrería ACRA en onCreate(). Dicho de otromodo, se va a añadir una clase nueva alproyecto llamada MyApplication, cuyasuperclase es android.app.Application.Luego, hay que hacer que se parezca alListado 1.

Como la mayoría de las opciones denotificación envían información a travésde Internet, habrá que añadir un permisopara android.permission.INTERNET alfichero AndroidManifest.xml. Y, mientrasse modifica el fichero del manifiesto, nodebes olvidar cambiar el nombre de laaplicación a MyApplication. ¡Y eso estodo! Ahora, cada vez que la aplicaciónfalle en el dispositivo, aparecerá una nuevaentrada en la hoja de cálculo, incluyendomultitud de detalles acerca de laconfiguración del dispositivo, además delos detalles de la excepción. Como la apli-cación manda información por Internet, locorrecto es informar a los usuarios de ellopara que sean conscientes antes de instalarla aplicación.

Hemos proporcionado algunos ejemplosde librerías y herramientas de interés paradesarrollar aplicaciones para Android.Ahora es un momento excitante para serprogramador de Android, de modo queespero que mi contribución haya aumen-tado esa excitación. �

Studio sirve para obtener los ficheros delas imágenes finales para la aplicación.Para hacerse una idea de su fácil uso, laFigura 1 muestra el resultado de cargar unaimagen de mi perro Max y simplementepulsando algunos botones, se centra laimagen en el círculo. Después, sólo conpulsar el botón Download, tendremos dis-ponibles las imágenes.

Probablemente hayas visto que hay otrosdos recursos en la página de Android UIUtilities: la herramienta Pencil y las planti-llas de iconos para Photoshop. La herra-mienta Pencil es un plugin para Firefox,pero también puede ejecutarse de formaindependiente. Esta herramienta permitecrear dibujos y especialmente prototipos deGUI fácilmente. Si utilizas Photoshop paratus gráficos, es posible que desees utilizarla herramienta de plantillas de iconos. Paraobtenerla, hay que hacer clic en la pestañaDownloads en la parte superior de lapágina de Android UI Utilities y buscar losficheros ZIP de las plantillas de iconos.

Más Proyectos paraAndroidHemos descrito un par de proyectos delsitio Project Hosting de Google, pero haymuchos más proyectos disponibles aquí ytodos son de código abierto. Para buscar losrelacionados con Android, se puede utilizarla URL proporcionada en los recursos [9] ysiguientes. Esta búsqueda devolverá milesde proyectos que están de alguna maneraligados a Android, pudiéndose añadir pala-bras claves para refinar los resultados. Elresultado es un gran tesoro repleto de apli-caciones y de código fuente a partir de losque se puede mejorar los conocimientossobre Android. Un ejemplo interesante esZXing, la aplicación para códigos de barra[10] o csipsimple, una aplicación SIP pararealizar llamadas VoIP [11].

Cada proyecto tiene pestañas que nosmuestran diferentes aspectos de los mis-mos. Normalmente, descargas, una wiki,

DESARROLLO • Android

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

DESARROL

RECURSOS

[1] Eclipse: http:// www. eclipse. org/

[2] Android SDK: http:// developer.

android. com/ sdk/ index. html

[3] Herramientas de Desarrollo para

Android: http:// developer. android.

com/ sdk/ eclipse-adt. html

[4] Guava: http:// code. google. com/ p/

guava-libraries/ wiki/ Release08

[5] Librerías Guava: http:// code. google.

com/ p/ guava-libraries/

[6] Librerías Android para Facebook:

http:// developers. facebook. com/

docs/ reference/ android

[7] Página para programadores de Face-

book:

http:// developers. facebook. com

[8] Android Asset Studio: http:// code.

google. com/ p/ android-ui-utils/

[9] Búsqueda de proyectos para

Android: http:// code. google. com/

hosting/ search?q=label:Android

[10] ZXing:

http:// code. google. com/ p/ zxing/

[11] csipsimple: http:// code. google. com/

p/ csipsimple/

[12] Descarga de Subversion:

http:// subversion. apache. org/

packages. html

[13] Librería ACRA:

http:// code. google. com/ p/ acra/

Listado 1: Modificando su Aplicación para ACRA

01 @ReportsCrashes(formKey = “su clave del formulario”)

02 public class MyApplication extends Application {

03 @Override

04 public void onCreate() {

05 // La siguientes líneas inicializan ACRA

06 ACRA.init(this);

07 super.onCreate();

08 }

09 }

Page 21: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85
Page 22: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

idea escribirlas de tal modo que poda-

mos recuperarlas de nuestro archivo

personal cuando pase el tiempo.

Antes para llevar esto a cabo necesitá-

bamos comprar partituras en nuestra

tienda de música local. Hoy, sin

embargo, gracias al software, las cosas

resultan mucho más fáciles. El pro-

grama TuxGuitar [1] es una gran solu-

ción para los usuarios de Linux que

tocan la guitarra y que buscan una

herramienta que les ayude a refrescar

sus memorias.

Este programa nos permite almacenar

nuestras composiciones de guitarra bien

como una partitura o como tablaturas –

una notación alternativa para música

que representa un mástil de guitarra – y

para reproducir los resultados cuando

hemos completado la entrada. De este

Tux Guitar • LINUX USER

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

Como la memoria de ninguno de

nosotros es perfecta, necesita-

mos guardar una grabación de

nuestras ideas cuando las desarrolla-

mos. En música, cuando componemos

nuevas melodías durante años, es buena

Con TuxGuitar y TiMidity podemos escribir y componer canciones sin

que sea necesario saber leer música. También podemos practicar,

reproducir nuestras propias composiciones y añadir ritmos de acompa-

ñamiento de instrumentos. POR VINCZE-ARON SZABO

Componer canciones con TuxGuitar

Clase Maestra

Page 23: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

formato, aunque también soporta el uso

de formatos de ficheros de programas

similares como Guitar Pro o Power Tab.

Instalación y Resolución deProblemasLa mayoría de las distribuciones poseen

TuxGuitar en sus repositorios. No obs-

tante, podemos visitar la sección GNU/

Linux Releases del proyecto que se

encuentra en la página Download para

recoger los paquetes de descarga, inclu-

yendo un instalador genérico y binarios

para varias distribuciones. Además,

Windows y Macs tienen versiones aquí

y una variante live nos permite probar

TuxGuitar online.

Si TuxGuitar no puede reproducir

nuestras composiciones, probablemente

necesitemos un secuenciador MIDI.

Habitualmente, el sintetizador TiMidity

[2] se recomienda a través del paquete

timidity. Luego, en TuxGuitar, pulsamos

Tools | Settings para abrir el diálogo

Configure TuxGuitar, seleccionamos

Sound y una entrada TiMidity coinci-

dente en la lista MIDI Port y pulsamos

OK para aplicar los cambios.

Si TuxGuitar sigue fallando para

reproducir cualquier sonido, salimos de

modo, podemos crear composiciones y

coger nuestra guitarra y acompañar

mientras están tocando. Un metrónomo

nos ayuda a seguir el tempo.

No necesitamos saber leer música

para usar TuxGuitar aunque, definitiva-

mente, ayuda. De la misma manera que

ayuda si somos músicos, si podemos

reproducir un par de acordes con la gui-

tarra y si podemos leer notaciones de

tablaturas. Cuando iniciamos TuxGuitar

por primera vez, no deben preocupar-

nos el excesivo número de botones del

programa o la terminología musical.

Con un poco de paciencia, pronto lo

dominaremos.

Con sintetizadores de software como

TiMidity [2] o Fluidsynth podremos

reproducir nuestras composiciones y

definir el número de instrumentos que

se encuentran disponibles. TuxGuitar

almacena nuestros ficheros en su propio

LINUX USER • Tux Guitar

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

Figura 1: TuxGuitar se centra en las acordes de la guitarra, aunque también podemos mostrar las notas correspondientes.

Figura 2: TuxGuitar también soporta temas de percusión. El presentador del tema nos ofrece una buena perspectiva de los temas existentes y

de los instrumentos asignados a ellos.

Figura 3: En el diálogo Properties podemos

conseguir el TuxGuitar virtual para hacer

coincidir nuestra guitarra real.

Page 24: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

la aplicación y la reiniciamos en una

ventana terminal introduciendo tuxgui-

tar. Si vemos un mensaje como /dev/

sequencer command o file not found, es

que no hay un secuenciador MIDI ejecu-

tándose. En este caso, necesitamos rei-

niciar TiMidity manualmente escri-

biendo:

timidity -iA -Os

Si nos topamos con otros problemas,

podemos comprobar la wiki de TuxGui-

tar [3] para más ayuda.

Tras el arranque inicial, TuxGuitar

presenta una tablatura de muestra y una

serie de acordes asociados (Figura 1).

Desde el principio hay disponibles

varias barras de tareas, que pueden ser

confusas, pero podemos mantener pul-

sado el botón izquierdo del ratón y dis-

poner la barra de herramientas de

acuerdo a nuestras necesidades. Así,

vamos al menú Tools | Settings para

ocultar o mostrar las diferentes barras

de herramientas. Para hacerlo, vamos a

Toolbars en el diálogo y marcamos/ des-

marcamos los cuadros correspondien-

tes. Las opciones Move up y Move down

nos permiten cambiar el orden de las

barras de herramientas. Pulsamos OK

para decirle a TuxGuitar que aplique

nuestros cambios.

PistasPara nuestros primeros

experimentos es buena idea

usar el fichero TuxGuitar de

muestra. Seleccionamos

File | New para crear un

nuevo fichero. Bajo la hoja

de composición existe una

vista de las pistas que

indica lo que reproduce

cada instrumento. Para aña-

dir más pistas selecciona-

mos Track | Add track y

luego, por ejemplo, añadi-

mos una parte de bajo a

nuestras composiciones.

Este método nos permite

reunir nuestra propia

banda, instrumento por ins-

trumento (Figura 2).

En la vista de la pista,

TuxGuitar también nos

muestra las barras como

pequeños cuadros. Más

tarde podremos seguir esta

presentación para ver en qué barra nos

encontramos y cuándo comienza o se

detiene un tema específico. Pulsar con

el botón derecho del ratón sobre un

tema nos permite modificar sus propie-

dades. En el diálogo Properties que apa-

rece (Figura 3), podemos definir el nom-

bre del tema, un color asociado, el tipo

de instrumento y el número de cuerdas.

El diálogo Properties es útil si deseamos

usar un bajo de cuatro o cinco cuerdas o

añadir otra guitarra de seis cuerdas.

Para cambiar el modo en el que el ins-

trumento se sintoniza, cambiamos el

valor en el cuadro Offset de modo que

TuxGuitar cambie las notas y acordes

para que coincidan con la sintonía de

un instrumento particular.

Para editar una canción, necesitamos

primero añadir más barras seleccio-

nando Measure | Add Measure. Para evi-

tarnos tener que acudir a este elemento

de menú continuamente, aparece un

cuadro de diálogo que nos permite aña-

dir múltiples barras al mismo tiempo.

Finalmente, definimos el número y posi-

ción de las nuevas barras (antes o des-

pués de la posición actual o al final de la

canción).

Notas y acordesLa manera en la que añadimos notas a

nuestra canción depende de lo que de-

seemos grabar. Por ejemplo, podemos

usar un editor de acordes para compo-

nerlos o puntear cuerdas de guitarra

individuales. Para producir un tono

específico, simplemente pulsamos la

cuerda requerida en el acorde y se dibu-

jará un pequeño cuadro. Seguidamente,

introducimos el número del traste para

aguantar esta cuerda. Para tocar múlti-

ples cuerdas al mismo tiempo, podemos

usar las teclas de flecha para subir o

bajar a la cuerda requerida y de nuevo

introducir el número del traste cuando

consigamos llegar.

Aunque de este modo podremos com-

poner acordes, tenemos una opción más

fácil: el editor de acordes nos permite

seleccionar acordes completos o, si

fuera necesario, también “dibujarlos”

nosotros mismos (Figura 4). Para abrir

el editor de acordes, seleccionamos Beat

| Chord | Insert chord o pulsamos el

botón A. El editor parece bastante recar-

gado, por lo que puede que tengamos

que mirar un poco antes de comenzar a

editarlos.

Una buena manera para comenzar es

dibujar los acordes. En la mitad superior

de la sección del Editor de acordes se

encuentra la sección del mástil de guita-

rra. Cogemos la barra de desplaza-

miento que se encuentra junto al mástil

para definir el traste en el que estamos

componiendo el acorde. Un número al

lado del mástil nos dice qué traste está

actualmente funcionando. Ahora, pulsa-

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

Figura 4: El editor de acordes nos permite crear acordes exóticos o comunes y añadirlos a nuestros acordes

con sólo un par de clics.

Tux Guitar • LINUX USER

Page 25: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Toque EfectivoTuxGuitar nos permite aplicar

técnicas para tocar la guitarra

como ligaduras ascendentes y

ligaduras descendentes o sli-

des de notas individuales. Para

hacerlo, pulsamos sobre la

nota en el acorde y selecciona-

mos el efecto requerido en

Beat | Effects. Si usamos

mucho esta técnica, es buena

idea recordar los atajos de

teclado coincidentes (Tabla 1).

Si deseamos enmudecer con la

palma (palm mute) una com-

posición completa, vamos a

apreciar no tener que navegar

por los menús para cada nota.

Tras introducir una nota,

podemos moverla a otra cuerda o

mediante un semitono usando un atajo

de teclado. Para hacerlo, seleccionamos

la nota y tocamos una de las teclas de

flecha mientras mantenemos pulsada la

tecla Mayúsculas. Las teclas de flecha

Arriba y Abajo mueven la nota a otra

cuerda y las de Derecha e Izquierda las

mueven mediante un semitono. El menú

Beat posee funciones adicionales que

podemos aplicar a las notas.

Después de haberlas escrito, no debe-

mos preocuparnos si descubrimos que

nos encontramos en la tecla errónea. En

lugar de cambiar todas las notas por

ejemplo dos semitonos abajo, el menú

Tools posee la funcionalidad Transpose,

que nos ayuda en este caso.

En el diálogo Transpose, podemos

seleccionar el número de semitonos a

transportar con la opción Transposition

Semitones. Hay más opciones relaciona-

das con el efecto de la transposición.

Pero ¿debería TuxGuitar transponer

todas las barras (all measures) o simple-

mente las actuales (only this measure)?

Este cambio sólo se aplicaría a la pista

actual, aunque Apply to all tracks nos

permite aplicar las transposiciones a

todos los temas en el fichero de cancio-

nes actuales.

En una composición con múltiples

temas, es posible que notemos que un

instrumento es demasiado silencioso

comparado con los otros y no podamos

oír el instrumento de la melodía o el

ritmo. Para este problema, TuxGuitar

tiene un mezclador, al que podemos

acceder vía View | Show Mixer. Los des-

lizadores nos permiten modificar el

volumen de cada tema o completamente

Mute las temas que prefiramos no oír.

Sección de RitmoTuxGuitar también nos permite crear un

tema de percusión. Para hacerlo, pulsa-

mos con el botón derecho del ratón una

nueva pista y luego comprobamos el

cuadro Percussion Track en el diálogo

Properties. Tras cerrar el diálogo, vere-

mos una entrada Percussions en la

columna Instrument de la vista del

tema. Como introducir la parte del tam-

bor en acordes es difícil de hacer, el edi-

tor matriz nos ayuda a simplificar el

proceso. Tras habilitar la pista de percu-

sión, podemos acceder a ella mediante

el menú View | Show Matrix (Figura 5).

El Editor Matrix nos muestra la barra

actual en el formato tabla. La primera

columna contiene la selección de los

instrumentos de percusión disponibles,

mientras que las otras columnas repre-

sentan partes de la barra actual. Las

teclas de flecha situadas en la parte

superior izquierda de la ventana nos

permiten navegar por las acordes (por

ejemplo, acceder a la barra siguiente).

Un icono situado en la parte superior

nos permite definir la longitud de las

notas (semi, cuartos, octavos, …).

Para tocar un instrumento de percu-

sión en ciertas posiciones en una barra,

pulsamos el cuadro correspondiente.

Pulsando otra vez lo desmarcamos.

Como podemos usar el editor en el

fondo, el diálogo no bloqueará la ven-

tana, lo que nos permite continuar tra-

bajando en ambos sitios en paralelo.

mos para definir qué cuerdas están pul-

sadas, abiertas a la izquierda o no pul-

sadas. TuxGuitar visualiza esta informa-

ción como un punto negro, un círculo

negro o una “x” respectivamente.

Por ejemplo, si introducimos un

acorde principal A, veremos A (100%).

Un valor inferior a éste indica que el

acorde que introdujimos no coincide

completamente con el nombre mos-

trado. Si pulsamos el nombre del

acorde, TuxGuitar nos muestra un

número de variantes en el acorde en el

tercio inferior del editor. Si selecciona-

mos un acorde de esta lista y pulsamos

Add, el nombre del acorde aparece bajo

el botón pulsado. Podemos seleccionar

este acorde más tarde en el menú Beat |

Chord, sin tener que volver a través del

editor de acordes.

LINUX USER • Tux Guitar

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

Figura 5: El Editor Matrix nos ayuda a rellenar el tema de percusión con instrumentos típicos.

Tabla 1: Atajos de Teclado ÚtilesFunción Atajo

Ir a la barra siguiente [Ctrl]+[Right arrow]

[Ir a la barra previa [Ctrl]+[Left arrow]

Ir al tema siguiente [Ctrl]+[Down arrow]

Ir al tema previo [Ctrl]+[Up arrow]

Ir al primer compás [Ctrl]+[Shift]+[Up arrow]

[Ir al último compás [Ctrl]+[Shift]+[Down arrow]

[Abrir el editor [A]

[Vibrato [V]

Nota bend (curva) [B]

Slide [S]

Ligadura ascendente/

descendente

[H]

Palm mute [P]

Page 26: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Los clics crean automáticamente una

entrada de nota en el acorde.

PartituraTuxGuitar puede crear una copia analó-

gica de nuestra composición impri-

miendo la partitura o creando un docu-

mento PDF. La función PDF se encuen-

tra localizada en File | Export. La funcio-

nalidad de exportar nos da más opcio-

nes, tales como crear ficheros MIDI que

podemos obtener mediante un repro-

ductor de medios.

TuxGuitar también ofrece a los usua-

rios un método adecuado para practicar

fragmentos de guitarra (Figura 6). Para

hacerlo, vamos a Player | Play Mode.

Simple Mode está seleccionado por

defecto. Training Mode nos permite ele-

gir configuraciones para facilitar el pro-

ceso de aprender una composición. Las

listas Tempo nos permiten definir la

velocidad de reproducción, que TuxGui-

tar puede aumentar gradualmente de

acuerdo a la velocidad de incremento

que introdujimos en el cuadro incre-

ment by. Finalmente, Loo Range nos

permite definir qué barras se repiten.

Play from measure define la primera

barra y Play to measure, la última. Tras

confirmar el diálogo, TuxGuitar marca el

final del bucle mostrando un punto rojo

en la barra seleccionada bajo Play to

measure. Para propósitos de aprendi-

zaje, también podemos habilitar el

metrónomo mediante Player | Metro-

nome.

Una cantidad considerable de mate-

rial de la web puede ayudarnos a apren-

der lecciones de guitarra. Un buen sitio

a visitar es Ultimate Guitar [4], donde

podemos buscar nuestras canciones

favoritas y filtrar los resultados de bús-

queda de modo que veamos las acordes

almacenados en el formato Guitar Pro,

que TuxGuitar puede abrir. El proyecto

TuxGuitar mantiene en sí mismo un

sitio con acordes creados por usuarios.

Para acceder al material de comunidad y

descargar nuestras propias canciones,

necesitamos registrarnos con la comuni-

dad TuxGuitar [5].

Tras registrarnos, podemos acceder a

los ficheros directamente en TuxGuitar

con Toools | Browser. Este paso abre un

pequeño diálogo del mismo nombre,

donde podemos establecer acceso a tra-

vés del elemento Collection | New | Com-

munity Files. Para hacerlo, necesitamos

nuestro nombre de usuario y la contra-

seña que introdujimos cuando nos regis-

tramos.

ConclusionesTuxGuitar va más allá de su propósito,

ya que gracias a este útil programa,

obtendremos resultados impresionantes

muy pronto y, lo más importante, nos

soporta cuando necesitamos practicar

una composición que ya existe. En

resumen, TuxGuitar es una pieza

impresionante del software de código

abierto. �

Tux Guitar • LINUX USER

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

1] Tuxguitar:

http:// tuxguitar. herac. com. ar

[2] Timidity:

http:// timidity. sourceforge. net

[3] Wiki de Tuxguitar:

http:// tuxguitar. herac. com. ar/

tgwiki/ doku. php?id=doc:no_sound

[4] Ultimate Guitar:

http:// www. ultimate-guitar. com/

[5] Comunidad Tuxguitar:

http:// community. tuxguitar. com. ar/

RECURSOS

Figura 6: El mástil de la guitarra nos muestra dónde colocar nuestros dedos para tocar las acordes.

Page 27: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

Adonde vayas...

... Linux Magazineva contigo.

http://www.linux-magazine.es/digital

Lee Linux Magazine desde cualquier sitio con nuestra subscripción digital.Accede a todos los números en PDF entrando en nuestro sitio.Encuentra lo que buscas con un sencillo formulario de búsqueda.Mantén tu propia biblioteca de artículos y léelos desde cualquier dispositivo.

Page 28: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

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

EVENTOS

Información de Contacto

DirectorPaul C. Brown

CoolaboradoresPaul C. Brown, José María Ruíz, Oliver Frommel,Klaus Knopper, Jose María Lancho, KristianKissling, Martin Streicher, Joe Brockheimer

EditoresPaul C. Brown, Alina Caravaca Chaves

TraductoresPaqui Martín Vergara, Víctor Tienda, FranciscoMolinero

MaquetaciónMiguel Gómez Molina, Alina Caravaca Chaves

Diseño de PortadaPinball [email protected]

Publicidadwww.linux-magazine.es/ pub/

Para EspañaMarketing y Comunicaciones [email protected].: (+ 34) 952 020 242Fax.: (+ 34) 951 235 905

Para el Resto del MundoPetra Jaser [email protected] Tel.: (+49) 8999 34 11 23Fax.: (+49) 8999 34 11 99

Director EditorialPaul C. Brown

Jefe de ProducciónMiguel Gómez Molina

Subscripciones:www.linux-magazine.es/ magazine/subsPrecios Subscripción España: 54,90 €Europa: 64,90 €Resto del Mundo - Euros: 84,90 €[email protected].: (+34) 952 020 242Fax.: (+34) 951 235 905

Linux MagazineLinux New Media Spain, S.L.Edfco. Hevimar, Planta 2, Ofic. 16C/Graham Bell nº 629590 - Málaga ESPAÑA [email protected].: (+34) 952 020 242

(+34) 951 235 904Fax.: (+34) 951 235 905

www.linux-magazine.es - Españawww.linux-magazine.com - Mundowww.linux-magazine.co.uk - Reino Unidowww.linux-magazine.com.br - Brasilwww.linux-magazine.pl - Polonia

Si bien se toman todas las medidas posibles para garantizar 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 comparte necesariamente las opiniones vertidas por sus colaboradores 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 © 2012 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 Polonia

Impresión: ArtDruck

DVDs: Fermata

Distribución: SGEL

Depósito Legal: MA-116-2005

ISSN edición impresa: 1576-4079

ISSN edición online: 1699-2237

Calendario de Eventos

España e Hispanoamérica

Evento Fecha Ciudad / Región Sitio Web

Barcelona Ruby Conference 08 - 09 Sep Barcelona, España baruco.org

Software Freedom Day 2012 15 Sep Mundial softwarefreedomday.org

Open Source Hardware Convention 2012 21 - 23 Sep Madrid, España www.oshwcon.org

Libre Software World Conference 2012 08 - 10 Oct Santiago de Comp., España www.libresoftwareworldconference.com

LinuxCon Europe 07 - 09 Nov Barcelona, España events.linuxfoundation.org

Resto del Mundo

Evento Fecha Ciudad / Región Sitio Web

Cloud East Africa Summit 07 Sep Nairobi, Kenya www.cloud-eastafrica.com

XDC2012 19 - 21 Sep Nuremberg, Alemania wiki.x.org/wiki/Events/XDC2012

Apps World 02 - 03 Oct Londres, R.U. www.apps-world.net/europe

Webit Congress 10 - 11 Oct Estanbul, Turquía www.webitexpo.com

LibreOffice Conference 2012 17 - 19 Oct Berlín, Alemania conference.libreoffice.org

Ubucon 2012 19 - 21 Oct Berlín, Alemania ubucon.de

OpenSuse Conference 2012 20 - 23 Oct Praga, Chequia en.opensuse.org/Portal:Conference

Strata Conference 2012 23 - 25 Oct Nueva York, EE.UU. strataconf.com

LISA '12 09 - 14 Dic San Diego, EE.UU. www.usenix.org/events/lisa12

CeBIT 2013 05 - 09 Mar, 2013 Hannover, Alemania www.cebit.org

LinuxTag 2013 22 - 25 Mar, 2013 Berlín, Alemania www.linuxtag.org

Barcelona RubyConferenceFecha: 08 - 09 Sep.

Lugar: Barcelona, España

Web: baruco.org

Libre SoftwareWorld ConferenceFecha: 18 - 19 Oct.

Lugar: Santiago de Composela, España

Web: www.libresoftwareworldconfer-

ence.com

OSWC 2012

Fecha: 08 Oct. - 10 Oct.

Lugar: Madrid, España

Web: www.oshwcon.org

Page 29: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85

PRÓXIMO NÚMEROPRÓXIMO NÚMEROiT

em

pu

sfu

git, 1

23R

F.co

m

Dispositivos yHardware

A LA VENTA: OCTUBRE 2012

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

Síguenos en nuestras redes sociales:

Facebook: facebook. com/ linuxmagazine. es

Twitter: twitter. com/ linux_spain

Google+: plus. google. com/ b/ 101673494113753130304/

Identi.ca: identi. ca/ linuxspain/

Hace ya algún tiempo que hablar de “Linux” en el contextode la alta tecnología es hablar de algo más que de software.Los móviles y tablets, el prototipado electrónico, los chipsetsabiertos y sus especificaciones abiertas, y los terminalessupuestamente obsoletos, pero que viven gracias al soft-ware libre, dibujan la nueva frontera de los profesionales yaficionados a las tecnologías abiertas.Así que, ya sabes, si te gusta el cacharreo, no te pierdas elnúmero 86 de Linux.

Page 30: Www.linux-magazine.es Issue Lmesce 85 Lmesce 85