www.shop.software.com.pl/es ¡Suscríbete a tus revistas favoritas y pide los números atrasados!
Ahora te puedes suscribir a tus revistas preferidas en tan sólo un momento y de manera segura. Te garantizamos: • precios preferibles, • pago en línea, • rapidez en atender tu pedido. ¡Suscripción segura a todas las revistas de Software-Wydawnictwo!
Pedido de suscripción Por favor, rellena este cupón y mándalo por fax: 0048 22 860 17 71 o por correo: Software-Wydawnictwo Sp. z o. o., Lewartowskiego 6, 00-190 Varsovia, Polonia; e-mail: subscription@software.com.pl Nombre(s) ...................................................................................................
Apellido(s) ..................................................................................................
Dirección .............................................................................................................................................................................................................................. C.P. ..............................................................................................................
Población ....................................................................................................
Teléfono .....................................................................................................
Fax ...............................................................................................................
Suscripción a partir del No ................................................................................................................................................................................................... e-mail (para poder recibir la factura) .................................................................................................................................................................................. o Renovación automática de la suscripción
Título Software 2.0 Extra! (1 CD-ROM) Bimestral para programadores profesionales
número de ejemplares al año
número de suscripciones
a partir del número
Precio
6
38 €
Linux+DVD (2 DVDs) Mensual con dos DVDs dedicado a Linux
12
86 €
PHP Solutions (1 CD-ROM) Bimestral sobre la programación en PHP
6
38 €
PHP Solutions .PRO La suscripción a PHP Solutions que autoriza a anunciarse a lo largo de un año en todas las versiones lingüísticas (tamaño del anuncio: 5,4 x 2,7 cm, 300 caracteres)
6
95 €
Hakin9 – ¿cómo defenderse? (1 CD-ROM) Bimestral para las personas que se interesan de la seguridad de sistemas informáticos
6
38 €
Linux+ExtraPack (7 CD-ROMs) Las distribuciones de Linux más populares
6
50 €
Realizo el pago con: ¨ tarjeta de crédito no
Fecha y firma obligatorias: ¨ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN:ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM Deseo recibir la factura antes de realizar el pago ¨
Válida hasta
CVC Code
índice
¡Sobre todo, comodidad en el trabajo!
Dirección: Software–Wydawnictwo Sp. z o.o., ul. Lewartowskiego 6, 00-190 Varsovia, Polonia La Redacción se ha esforzado para que el material publicado en la revista y en los DVDs que la acompañan funcionen correctamente. Sin embargo, no se responsabiliza de los posibles problemas que puedan surgir. Todas las marcas comerciales mencionadas en la revista son propiedad de las empresas correspondientes y han sido usadas únicamente con fines informativos. La Redacción usa el sistema de composición automática Imprenta: Stella Maris Los DVDs incluidos en la revista han sido comprobados con el programa AntiVirenKit, producto de la empresa G Data Software Sp. z o.o. ¡Advertencia! Queda prohibida la reproducción total o parcial de esta publicación periódica, por cualquier medio o procedimiento, sin para ello contar con la autorización previa, expresa y por escrito del editor.
Linux ® es una marca comercial registrada de Linus Torvalds.
En este número de 6
Descripción del contenido de los DVDs Michał Janik
Actualidades: 10
Linux+ 5/2005
:
Novedades Witold Kieraś
12
El núcleo Linux Tomasz Torcz
14
Debian
Bartosz Feński, Tomasz Napierała
16
Mandrakelinux Florent Villard
18
Aurox
Adrian Brzeziński
19
Gentoo
Witold Kieraś
4
de volver a este entorno del que estaba tan satisfecho. Y no me engañé. Si os son suficientes los rasgos básicos del entorno gráfico de trabajo (por ejemplo, la barra de herramientas con aplicaciones ejecutadas más frecuentemente, un simple simulador de terminal o incorporado administrador de archivos), os animo a probar Xfce (se encuentra también en nuestro Linux+ Live DVD). En este número de Linux+ nos concentramos en entornos gráficos de trabajo. Además del mencionado Xfce, describimos cómo cambiar el aspecto de KDE con este característico para el entorno Mac OS X – un experimento interesante que merece la pena realizar. Además, os recomiendo el artículo sobre Skype, mensajero de voz que sigue consiguiendo cada vez más usuarios; podemos emplear esta aplicación también en Linux+ Live DVD. En el disco DVD incluimos la versión más reciente de Aurox (10.2), una distribución de Linux que promocionamos mucho teniendo en cuenta su carácter europeo y el esfuerzo al mejor soporte de dispositivos. Nuestro proyecto interno, Linux+ Live DVD, consigue cada vez más tamaños, lo cual está relacionado con que incluimos cada vez más aplicaciones (una de las novedades es Planeshift, un excelente juego de red 3D). Os animo a conocer el contenido del número y a probar nuestro Linux+ Live DVD. Krzysztof Krawczyk Redactor Jefe de Linux+
DVD B
Distribución: Coedis, S. L. Avd. Barcelona, 225 08750 Molins de Rei (Barcelona), España
ace unos años, cuando todavía empleaba Debian, experimenté con diferentes entornos gráficos de trabajo: empleé FluxBox, AfterStep, Enlightenment, IceWM así como Xfce y fue éste , último el que más me gustó. Ofrecía la mayoría de funcionalidades accesibles en los entornos integrados, como GNOME o KDE, sin embargo, era ligero, estable y cómodo ( entiendo como ligereza del entorno pocas reservas de ordenador empleadas). Actualmente en los dos ordenadores en los que trabajo, empleo GNOME (Aurox) y KDE (Mandrakelinux). A mí me gusta más GNOME (me parece más compacto, ligero e intuitivo en manejo), aunque KDE seguramente ofrece una integración más completa de las aplicaciones que la componen. En gran medida, la selección de uno de los entornos es, cuestión de gusto. Podemos configurarlos de tal forma que se parezcan en su aspecto. Además, tanto en uno como en el otro podemos emplear aplicaciones de los dos entornos. Verdaderamente, las diferencias principales están dentro (librerías GTK/GNOME y Qt/KDE), sin embargo, éstas les interesan tan sólo a los desarrolladores. Cuando hace poco apareció la nueva versión Xfce (4.2), bastante difundida en Internet, pensé que era un buen momento
Mandrakelinux
Producción: Monika Godlewska monikag@software.com.pl Redactor jefe: Krzysztof Krawczyk krzysiek@lpmagazine.org Redactor de la edición: Marek Bettman, marekb@lpmagazine.org Redactores adjuntos: Michał Janik, michalj@lpmagazine.org Piotr Truszkowski, piotrt@lpmagazine.org Asistente de Redacción: Katarzyna Golędzinowska, kasiag@lpmagazine.org Preparación de DVDs: Krzysztof Krawczyk, Piotr Truszkowski Diseño portada: Agnieszka Marchocka Publicidad: adv@software.com.pl Suscripción: subscripcion@software.com.pl Maquetación y composición: Marcin Ziółkowski marcin@software.com.pl Traducción: Mariusz Muszak Correctoras: Rosario Ortega Serrano, Silvia López de Pariza, Pablo Dopico
H
Gentoo
Mensual Linux+ está publicado por Software-Wydawnictwo Sp. z o. o.
índice
Tema del número
Entornos gráficos de trabajo
Entornos gráficos de trabajo
20
Xfce – un entorno gráfico de trabajo ligero y eficaz
Software
38
Michał Mazak Xfce es un entorno gráfico que se caracteriza por la comodidad de utilizarla en el trabajo, su estética y por la posibilidad, teóricamente ilimitada, de poder ingerir en todos sus elementos. En el artículo presentamos la edición más reciente – Xfce 4.2.
24
KDE en color manzana Witold Kieraś
ImgSeek – visor avanzado de imágenes
40
Rhythmbox – como iTunes para Linux Eugenia Loli-Queru
Herramientas de oficina
28
Revisión ortográfica de textos redactados Artur Pierściński
No cabe duda de que los textos requieren una revisión ortográfica. En el artículo os mostraremos cómo instalar y emplear para ello la aplicación Aspell.
32
GOCR – OCR para Linux Joerg Schulenburg
OCR es una técnica de reconocimiento del texto incluido, por ejemplo, en el documento escaneado. Mostraremos cómo hacerlo por medio de una de las mejores aplicaciones OCR para Linux – GOCR.
Entrevista
36
Entrevista con Judd Vinet, líder del proyecto Arch Linux Krzysztof Krawczyk
Hablamos con Judd Vinet sobre los principios de crear Arch Linux, administrador de paquetes Pacman, y la comunidad reunida alrededor de esta distribución y planes para el futuro.
52
Witold Kieraś ImgSeek es un navegador avanzado de archivos gráficos para Linux. Además de las funciones estándar de este tipo de aplicaciones, posee muchas posibilidades avanzadas, como la creación y edición de colecciones de imágenes, opciones avanzadas de búsqueda y muchas más.
El reproductor multimedia Rhythmbox es una de las aplicaciones externas para la plataforma GNOME que más rápidamente se desarrollan y que se incluye ya, por defecto, en muchas distribuciones de Linux.
En este artículo observaremos las aplicaciones y suplementos para KDE que la asimilan a Mac OS X; incluso si no queremos convertir radicalmente nuestro escritorio, está bien saber lo que nos ofrecen los aficionados a tales soluciones.
Para principiantes
42
Rosegarden – aplicación avanzada para crear música Jean-Pierre Féval
En este artículo presentamos las posibilidades de la aplicación Rosegarden, una de las mejores aplicaciones para crear música en Linux.
44
Inkscape – programa para gráficos vectoriales Jean-Pierre Féval
Inkscape es, por el momento, una de las aplicaciones para crear y editar gráficos vectoriales que más rápidamente se desarrolla. Emplea el estándar SVG, y tiene también la posibilidad de exportar e importar entre muchos tipos de archivos gráficos.
46
QEMU – emulador rápido del procesador Jean-Pierre Féval
QEMU es un rápido y simple simulador del ordenador de la clase. Gracias a él podemos ejecutar aplicaciones e incluso distribuciones completas, sin la necesidad de reiniciar el sistema ni ejecutar nuestro entorno de trabajo.
50
Vega Strike – Juego espacial comercial Niels Weber
Vega Strike es el antecesor de juegos como Privater, o bien Elite. Nuestro objetivo es atravesar el espacio con nuestra propia nave tratando de ganar dinero con las mercancías transportadas y no dejarnos robar por los piratas que por él transitan.
Administración de particiones en Linux Piotr Machej
En este artículo observamos los métodos de administrar el disco duro, gracias a los que, de manera fácil y segura, podremos no sólo crear o eliminar particiones sino también cambiar su tamaño o localización.
60
Trucos y truquillos Grzegorz Niewęgłowski
Dispositivos
62
Skype y otras aplicaciones de micrófono en Linux Piotr Wolny
Os mostraremos cómo configurar el micrófono y los demás dispositivos de sonido en nuestro sistema para que, sin ningún problema, podamos emplear la muy popular aplicación para conversaciones de voz por medio de Internet Skype.
Para programadores
70
Mark3D – medimos el rendimiento del ordenador Marek Sawerwain
En el artículo os mostramos cómo escribir una aplicación en C++ con el empleo de la librería Animadead que os permitirá medir el rendimiento de vuestra tarjeta gráfica en el soporte de las aplicaciones que emplean la gráfica 3D.
Distribución del mes
77
GeeXboX 0.98.5 Piotr Truszkowski
Tests
78
IBM Open Power 720 Marek Bettman
En Internet Nvu – manual Daniel Koć En el número anterior presentamos Nvu , un editor gráfico que soporta la creación de las páginas web. Este mes os invitamos a conocer el manual que muestra el empleo de esta aplicación en la práctica. Podéis descargar el artículo desde nuestra página web: http://www.lpmagazine.org/. www.lpmagazine.org
5
descripción de DVDs
disco A
Aurox 10.2 Azurite
E
n el disco DVD A publicamos la nueva edición de Aurox con el número 10.2 y de nombre Azurite. Es una distribución de Linux ideal para el uso doméstico, en la oficina y en la escuela, gracias al avanzado soporte de dispositivos y las muchas aplicaciones que la acompañan: aplicaciones multimedia (MPlayer, Xine, K3b, XMMS, Rhythmbox, Sound Juicer), el paquete de ofimática OpenOffice.org, diferentes materiales didácticos para alumnos de matemáticas, astronomía, geometría y química así como herramientas avanzadas, por ejemplo, para cálculos estadísticos, numéricos o bien para crear diagramas. Podemos instalar el sistema en diferentes idiomas, incluyendo, por supuesto, el español. La instalación de Aurox se realiza por defecto, sin embargo, existe también la posibilidad de emplear el modo textual.
Kernel y paquetes
Aurox 10.2 se basa en el sistema Fedora Core. Emplea muchos paquetes de este sistema así como las actualizaciones y parches más recientes. Una gran parte de los elementos más importantes (herramientas responsables del soporte del equipo, servidor X, aplicaciones de configuración, aplicaciones de red) fueron ajustados a las necesidades de Aurox, que incluye también muchos paquetes que no son accesibles en Fedora. La versión más reciente de Aurox se basa en el kernel 2.6.9. Fue complementado con parches preparados especialmente para esta versión por Alan Cox (conjunto de parches señalado -ac16). Estos parches aumentan la seguridad y la estabilidad de funcionamiento del sistema de forma importante, en especial en caso de una gran carga de la memoria. Además, se pusieron algunos parches del conjunto idéntico -ac
para los kernels 2.6.10, incluyendo los parches de seguridad. El kernel incluye también unos parches transmitidos directamente desde la rama de desarrollo. En Aurox 10.0 apareció el soporte para la hibernación a través del mecanismo Swsusp2 que guarda los datos de la memoria en la partición swap (swap). En la versión actual (10.2) encontraremos la versión estable Swsusp2 (2.1.5). El mecanismo Swsusp2 puede funcionar con éxito en todos los ordenadores, y no requiere APM ni ACPI. Se necesitan las particiones swap con un tamaño 30 % mayor que la memoria operativa. Se soportan los ordenadores con muchos procesadores y con mucha memoria (hasta 4 GB).
Aurox y dispositivos
La manera de soportar y configurar algunos dispositivos ha cambiado. Por ejemplo, no se necesita ya la emulación de SCSI para las grabadoras CD/DVD ATAPI. Un cambio muy importante se refiere al punto del montaje de dispositivos. Hasta el momento los dispositivos se montaban en el directorio /mnt y ahora es el directorio /media. Además, dependiendo del tipo de la unidad se diferenciará el nombre del directorio creado. El nuevo Aurox da también mejor soporte a tarjetas inalámbricas. Gracias a la activación de los módulos ipw2100 y ipw2200 (para las tarjetas Intel PRO/ Wireless que soportan los estándares 802.11a/b/g), las tarjetas funcionarán sin problema alguno en portátiles dotados de Centrino. En la distribución está incluida también la aplicación Ndiswrapper que permite instalar drivers destinados para el sistema Windows XP para tarjetas inalámbricas. Uno de los nuevos y más importan-
El juego Battle of Wesnoth en Aurox
tes paquetes que apareció en Aurox 10.0, es Synaptics. Es un driver para touchpads empleados en la mayoría de portátiles.
Ventanas y aplicaciones
Azurite se basa en la implementación más moderna del servidor X Window, desarrollado por la fundación X.Org. La versión empleada en el sistema está señalada con X.org 6.8.1. En la distribución tenemos disponibles dos básicos entornos gráficos: GNOME y KDE. El entorno GNOME en Aurox 10.2 es la versión 2.8.1. Se han añadido y mejorado muchos applets de configuración. Esperamos también la nueva versión del cliente de correo Evolution. KDE fue actualizado en Aurox a la versión 3.3.2. Aquí generalmente los cambios se notan menos que en caso de GNOME (con excepción de la pantalla de bienvenida). Los desarrolladores introdujeron muchas funciones y mejoras nuevas y han corregido muchos errores. En Aurox 10.2 el navegador predeterminado es Firefox en su versión más reciente, 1.0, que se está haciendo cada vez más popular en el mundo. La distribución incluye también la nueva versión de la aplicación GIMP 2.2.3.
¿Para quién?
Aurox es una buena selección para las personas que esperan un sistema operativo organizado de forma que tengan la mínima necesidad de enredarse en su interior. Un soporte bien organizado para muchos dispositivos nos permite estar seguros de que nuestras tarjetas serán reconocidas y soportadas por los controladores adecuados. Aurox en la oficina
6
Linux+ 5/2005
Aplicaciones de educación en Aurox
disco B
descripción de DVDs
GNOME 2.10 LiveCD
H
a aparecido la nueva versión del entorno gráfico GNOME, con el número 2.10. Se han mejorado muchas cosas en cuanto a su aspecto gráfico y su comportamiento, además se han corregido muchos errores en el motor del sistema. Actualmente, GNOME 2.10 se basa en la librería GTK en la versión 2.6. Se ha reconstruido su menú principal: en vez de Applications (Aplicaciones) y Operations (Operaciones) ahora disponemos de Aplicaciones, Lugares, desde los que tenemos acceso a los directorios y dispositivos más importantes, y del Sistema, en el que hallaremos las configuraciones y las herramientas de administración. El administrador de ficheros Nautilus ha sufrido una integración más profunda con el sistema, para llegar a ser, según afirman los desarrolladores, hasta más rápido y estable. El soporte de arrastrar y soltar entre éste y las aplicaciones tipo Mozilla y Firefox se ha vuelto más eficaz. Además, se han introducido unas pequeñas correcciones, tales como el cambio automático de nombre a la hora de crear un nuevo fichero. Los autores de GNOME presumen de que éste cumple con el estándar Freedesktop.org. De hecho, se ha mejorado el irritante problema en el comportamiento de las ventanas que consistía en que la ventana de la aplicación que tardaba en arrancar se volvía la ventana actual. El usuario que estaba escribiendo en otra ventana, de súbito se daba cuenta de que no podía escribir en la aplicación en la que deseaba, sino, por ejemplo, en Gaim. “¿Y qué hubiera pasado si estuvieras indicando tu contraseña?” preguntan retóricamente los creadores de GNOME.
Aplicaciones
El nuevo GNOME abarca nuevas aplicaciones multimedia, que se basan en
la biblioteca GStreamer. La primera es Totem, un reproductor de ficheros de vídeo. Cuenta con una intuitiva interfaz de usuario y descubre el equipo de forma automática, gracias a lo que no es necesaria ninguna configuración complicada. El otro programa es Sound Juicer, un CD ripper, que descarga automáticamente de Internet los títulos de las canciones. Epiphany, un navegador de páginas web que se basa en Mozilla y está totalmente integrado con GNOME también forma parte de este entorno. En esta edición se ha mejorado su visualización en el modo de pantalla completa, se ha agregado la capacidad de exportar los marcadores, y se ha introducido un administrador de extensiones.
Applets
Ya en GNOME 2.8 se podía montar fácilmente los medios portátiles de datos, como los discos CD y DVD, o los discos flash. Ahora, un applet especial permite utilizarlos sin escribir los comandos en el teclado y sin buscar sus iconos en el escritorio. El applet muestra los dispositivos que están, o no , montados de momento, y permite operar en ellos: montarlos, abrirlos o verlos en el administrador de ficheros. Además, el usuario dispone de muchos applets de rasgos distintos, y de diversos grados de utilidad, como por ejemplo, el mezclador de notas adhesivas, o el informe meteorológico, que incluye la hora de la puesta y de la salida del sol. Podemos comentar, acerca del mezclador, que ha sido construido a partir de Gstreamer, igual que Totem y Sound Juicer. Se ha añadido también la posibilidad de fijar la papelera en el panel (de forma analógica a la que está sobre el escritorio). Gracias a esto se puede echar ficheros a la basura sin minimizar la ventana para hacer que el escritorio quede visible.
LiveCD
GNOME 2.10 LiveCD
Para demostrar las nuevas capacidades del entorno, publicamos GNOME 2.10 LiveCD, que permite conocer las características de la nueva edición sin que sea necesaria su instalación, que exige mucho tiempo. Nuestra edición se basa en la distribución Ubuntu. Para iniciar GNOME 2.10 LiveCD hay que insertar el disco en la unidad CD/ DVD y fijar el arranque desde el lector
Las aplicaciones multimedia que forman parte de GNOME: Totem y Sound Juicer
CD/CVC en nuestro BIOS. Después de un rato hay que pulsar [Enter]. A continuación aparecerá una lista de los idiomas, en los que podemos arrancar la distribución. Escogido el idioma, tenemos que determinar el tipo de nuestro teclado. Luego detectamos el equipo instalado, se cargan los componentes adicionales, y se arranca la red. GNOME 2.10 LiveCD intentará descargar la configuración de la red del servidor DHCP. Antes de que se produzca todo esto tenemos que armarnos de paciencia: a cada arranque el instalador suele detenerse mucho, un 27% del proceso de la carga del sistema, en la configuración de idioma. Por fin, se arrancará automáticamente la sesión, claro, con GNOME 2.10. En el panel superior, en el menú Aplicaciones–>Sonido y vídeo podemos iniciar y probar los programas de los que presumen los desarrolladores de GNOME: Totem y Sound Juicer. Además, se han agregado otras aplicaciones, como GIMP, el paquete OpenOffice.org, los navegadores web (Firefox, Epiphany), así como el conjunto de juegos simples y otros programas. En el panel superior, en el elemento Lugares disponemos de un menú, cuyos elementos nos remiten a: la Carpeta Personal, el Equipo, el CD-ROM, los Servidores de red, etc. Visualizamos estos lugares ayudándonos de Nautilus. No es posible instalar la distribución en el disco duro: la distribución se ha creado para demostrar las capacidades del nuevo GNOME, y no para ser distribuida para el uso común. http://www.gnome.org/start/2.10/ http://live.gnome.org/GnomeLiveCd/
www.lpmagazine.org
7
descripción de DVDs aktualności
Noticias Graveman 0.3.8 Graveman es una interfaz gráfica para las herramientas de grabación de discos CD (cdrecord, readcd, mkisofs) y también de discos DVD. http://graveman.tuxfamily.org/ GAIM 1.1.4 Nueva versión del popular sistema de mensajes instantáneos. Es compatible con las redes AIM, ICQ, MSN Messenger, Yahoo!, IRC, Jabber, GaduGadu, SILC, GroupWise Messenger y Zephyr y, lo que es más importante, es capaz soportarlas todas a la vez. http://gaim.sourceforge.net/ aMule 2.0.0rc8 Nueva edición de aMule, equivalente multiplataforma de eMule, es decir, un cliente de la popular red P2P. http://www.amule.org/ FluxBox 0.1.14 FluxBox es un administrador de ventanas para X, basado en el proyecto Blackbox 0.61.1 por lo que es completamente compatible con él, en cuanto a estilos y temas. En el disco se encuentra su última versión estable. http://fluxbox.sourceforge.net/ K3B 0.11.20 Potente herramienta para grabar discos CD/DVD que permite crear proyectos de audio, vídeo, discos de inicio del sistema y muchos otros. http://k3b.sourceforge.net/ BitTorrent 4.0 Nueva versión del cliente BitTorrent que sirve para enviar archivos por Internet. Los cambios más importantes se refieren a la interfaz de usuario. http://www.bittorrent.com/
disco B
Enlightenment E17 CVS
E
n el disco se encuentra la muy esperada versión del entorno gráfico Enlightenment. Según dicen sus creadores, la edición E17 del administrador de ventanas es una evolución en la dirección de los escritorios más modernos. El objetivo de Enlightenment no es competir con KDE o bien GNOME, sino crear un sistema completo de visualización del escritorio. El proyecto descrito llegará a ser la capa gráfica (ing. desktop shell). Esto significa que no sólo organizará el trabajo y el aspecto de las ventanas, o ayudará en la ejecución de aplicaciones, sino que también manejará los archivos. Para realizar los objetivos planeados, los desarrolladores han creado un nuevo conjunto de librerías, denominado después Enlightenment Foundation Libraries.
KToon 2D Animation Toolkit 0.7.2
K
Toon 2D Animation Toolkit es una herramienta para producir dibujos animados. Se comparte a través de la licencia GPL por la empresa Toonka Films. La aplicación fue escrita utilizando el lenguaje C++, las librerías OpenGL y Qt, y empleando KDevelop como la plataforma principal de programación. Por el momento, KToon es accesible tan sólo para sistemas Unix pero sus creadores dicen que en unos meses tendrán preparada una versión para Windows. KToon 2D Animation Toolkit soporta el proceso de creación de imágenes y animación. Es similar a otras soluciones similares en el mismo campo. Es posible la exportación de películas en el formato .swf.
Open Clip Art Library 0.11 Nueva versión de esta librería abierta de imágenes. http://openclipart.org/ Firefox 1.0.1 Es un popular navegador de páginas web. Su última versión incluye mejoras en la estabilidad y elimina los fallos de seguridad. http://www.mozilla.org/ NVidia 1.0.6629 Drivers actualizados para las tarjetas de vídeo basadas en chips NVidia. http://www.nvidia.com/ Ati 8.10.19 Drivers para las tarjetas de vídeo basadas en chips ATI. http://www.ati.com/
KToon 2D Animation Toolkit
8
Linux+ 5/2005
Los creadores de las librerías dicen que incluye soluciones para casi todas las tareas de la interfaz gráfica. Enlightenment estará compuesto de aplicaciones realizadas especialmente para él: Entice (navegador de archivos gráficos), Envision (reproductor de archivos vídeo), Evidence (administrador de archivos), Eplayer (reproductor ogg), Eterm (teminal) y otras. Desde el punto de vista de un usuario ordinario, después de ejecutar Enlightenment, nos sorprende la diferencia en relación a las soluciones de tipo KDE o GNOME. Hay que recomendar Enlightenment a las personas aburridas de las soluciones estándar de ventanas. Su indudable ventaja es la velocidad y sus amplias posibilidades de configuración. http://www.enlightenment.org/
En la página de la aplicación podemos acceder a una corta animación de ejemplo creada especialmente por medio de Ktoon. Los creadores de la aplicación nos animan a enviar nuestros propios trabajos y prometen incluirlos en la galería de su página. Merece la pena resaltar que la aplicación fue creada en una empresa que se dedica a la animación – así que fue creada por motivos profesionales prácticos. KToon es una propuesta interesante para las personas aficionadas a la la animación, pero también digno de atención de los profesionales.. http://ktoon.toonka.com/
disco B
descripción de DVDs
Linux+ Live DVD
L
inux+ Live DVD es una distribución de Linux que permitirá a los Lectores conocer los materiales descritos en la revista sin la necesidad de descargarlos de Internet, e incluso sin instalarlos en el sistema. Además, para ejecutar y ver la aplicación no necesitaremos cambiar ninguna configuración. Para ejecutar Linux+ Live DVD, en la BIOS del ordenador tenemos que fijar el arranque del sistema desde la unidad DVD. Aparecerá el título “boot:”, después del cual podremos ejecutar la distribución con parámetros adicionales. Si no hemos pulsado [Enter] ni hemos introducido ninguna opción, el sistema se ejecutará por si solo. Un momento más tarde el ordenador nos preguntará en qué idioma queremos ejecutar el sistema. Después de seleccionar y cargar el kernel, detectar los dispositivos y ejecutar el servidor X, aparecerá el administrador de registro que nos permitirá registrarnos en el sistema. Además, tenemos acceso al menú del entorno gráfico. El entorno estándar es KDE, sin embargo, podemos seleccionar en vez de ése Fluxbox, TWM, o la última versión de Enlightenment E17 CVS, de la cual hablamos en el número actual de Linux+ Xfce 4.2. Como nombre de usuario debemos introducir aurox, y dejar vacío el campo de la contraseña. Para emplear la red Ethernet en Linux+ Live DVD, en el menú Inicio tenemos que seleccionar Configuración del systema–>Red. Luego, pinchamos en el icono Nuevo, seleccionamos el tipo de dispositivo (por ejemplo, Conexión ethernet), luego seleccionamos el dispositivo (por ejemplo, el modelo de la tarjeta ethernet) y, por fin, introducimos los respectivos números de la IP estática (dirección de nuestro dispositivo, la máscara de subred y la dirección de la puerta de enlace), o bien dejamos la configuración de red en manos del servidor DHCP. Cuando ya tengamos configurado el dispositivo, en la misma aplicación tenemos que seleccionar la solapa DNS e introducir la dirección del servidor de nombres (por ejemplo 194.204.159.1). Los cambios serán visibles al activar la configuración. Ahora podemos ya consultar páginas web,
comunicarnos por medio de Skype, descargar archivos por medio de aMule e incluso jugar en red a PlaneShift. Después de ejecutar el sistema podemos probar muchas aplicaciones interesantes sin instalarlas en el disco duro. Las aplicaciones de Linux+ Live DVD se encuentran en el menú principal bajo la entrada Linux+, y agrupadas por temas. Aquí tenéis las más importantes de ellas: • • • • • •
•
• •
• • •
•
•
Anjuta 1.2.2 – entorno de trabajo para programadores C/C++; Blender 2.36 – aplicación para crear animaciones tridimensionales; Inkscape 0.41 – aplicación para gráficos vectoriales; Skype 1.0.0.1 – popular aplicación para charlar por medio de Internet; aMule 2.0.0rc8 – aplicación de tipo P2P, versión de eMule para Linux; OpenOffice.org 2.0 Beta – reciente versión del conocido paquete de ofimática; Audacity 1.2.3 – editor audio que soporta los archivos ogg y mp3 sustituyendo al incómodo y lento Ecawave; Rosegarden 4-1.0 – tracker y editor MIDI con muchas posibilidades; KQEMU 0.1 – aplicación para KDE que permite configurar y ejecutar QEMU, emulador de procesadores x86 de alto rendimiento; Avidemux 2.0.36 – aplicación para el montaje de películas; Bluefish 1.0 y Quanta Plus 3.3, Nvu 0.80, Screem 0.12.1 – editores HTML; Planeshift – un extraordinario, juego RPG en 3D, con fantásticos gráficos (número uno en la encuesta realizada en la redacción sobre el mejor juego Open Source); Privateer Remake y Vega Strike – dos juegos de aventuras cuya acción tiene lugar en el espacio, en la línea del juego Elite (en ambos juegos el jugador desempeña el papel del “freelancer” del espacio, que viaja por la galaxia en busca de fortuna); Scorched3d – versión en tres dimensiones del antiguo juego Scorched Earth. Para ejecutarlo, tenemos que ejecutar Linux+ Live DVD con el comando aurox xdepth 24 (al ver el título “ boot:”).
Linux+ Live DVD
En la última posición del menú de Linux+ se encuentra 3D Benchmark. Es aplicación que mide el rendimiento de la tarjeta gráfica 3D, cuya construcción está descrita en el número actual por Marek Sawerwain. Hay que destacar también los gráficos y samples en formato ogg de promoción del Software Libre (directorio Examples del directorio principal). El juego PlaneShift es un juego en red, que cada cierto tiempo requiere su actualización para poder conectarse al servidor del juego. Por lo tanto, cuando deje de estar actualizado, lo mejor es copiar el contenido del juego de /opt/ planeshift en el disco duro, actualizar el juego (script updater) y, luego, ejecutarlo desde la nueva localización (aplicación psclient). Cuando queremos escuchar sonido en la aplicación Rosegarden hacemos doble clic en el icono Rosegarden que se encuentra en el escritorio y, luego, seleccionamos QSynth. Luego, hacemos clic en Setup del cual vamos a la solapa Audio. Como Audio Driver seleccionamos alsa. En la solapa Soundfonts añadimos el archivo PC51f.sf2 que se encuentra en nuestro directorio principal en el directorio Soundfonts. Después de realizar los cambios hacemos clic en Aceptar. Desactivamos QSynth y volvemos a ejecutarla. Ahora podemos ya ejecutar Rosegarden. Cuando queremos emplear el servidor de sonido Jack (primero lo ejecutamos con el icono Run Jack), en la aplicación QSynth en vez de alsa seleccionamos jack, sin embargo, en algunas tarjetas esto puede ocasionar problemas. http://live.lpmagazine.org/
www.lpmagazine.org
9
actualidades aktualności
Noticias ¡Librar BIOS! Richard Stallman, icono del movimiento de Software Libre, no deja de luchar contra la libertad total de software. Esta vez llama a intensificar los trabajos sobre la implementación de la BIOS. Además, no escatimaba palabras de crítica hacia las empresas, que resultaron las menos entusiasmadas en cooperar para conseguir este objetivo. Critica sobre todo a Intel, que inició en su época el proyecto de BIOS Open Source, compartiendo una parte de su código. Sin embargo, según dice Stallman, son las partes menos importantes de tal programación, con lo cual este proyecto de ninguna manera nos acerca a conseguir el objetivo. Al contrario, alabó al directo competidor de Intel, es decir la empresa AMD, por sus acciones en este campo. http://www.fsf.org/news/freebios.html GIMP en la encrucijada Los productos comerciales de retoque gráfico tales como Photoshop, hace unos años se enfrentaron al dilema de crear un gran entorno para todos o desgajar una parte destinada exclusivamente a los creadores de gráficos para Internet (sobre todo para su empleo en páginas Web). Los creadores de Photoshop decidieron la división, con lo cual se hizo una aplicación aparte – ImageReady. Jozsef Mak, en su artículo titulado The GIMP at a crossroads, publicado en el servicio Newsforge establece la tesis de que ante un dilema parecido se encuentra también el equivalente Open Source de Photoshop, es decir, GIMP. http://software.newsforge.com/ article.pl?sid=05/02/24/1818224 GNUtemberg En la parte del centro y sur de Italia hace poco empezó el proyecto GNUtemberg. Está compuesto de una base de documentación (no sólo de Linux), compartida en licencias libres y convertidas a los formatos PDF o PostScript, ideales para impresiones. Además de la base de documentación, el proyecto dispone también una red de distribuidores locales, conocidos como GNUtemberg Centers los que a petición de empresas, y previo pago imprimen fragmentos seleccionados de documentación libre. Seguramente muy pronto GNUtemberg encontrará seguidores o extenderá su actividad a otros países. http://www.gnutemberg.org/
10
Linux+ 5/2005
novedades
Open Source a ritmo latino
E
l continente de América del Sur no se suele considerar como una región tranquila – por una parte tiene un enorme potencial y por otro tiene un montón de problemas internos. América Latina, destrozada durante decenas de años con unos más o menos sangrantes golpes de estado, hoy en día tiene la oportunidad de ser el campo de una totalmente nueva revolución sin sangre – la revolución Open Source. Actualmente en casi todos los países del continente podemos observar un creciente interés por el Software Libre. La delantera la lleva en este campo Brasil, cuyo presidente, Luiz Inacio Lula da Silva, resultó ser inesperadamente partidario de las soluciones abiertas en el sector informático y a través de ello está buscando la oportunidad de superar la brecha tecnológica que separa su país de los países desarrollados. Brasil es el país que ocupa la mayor parte del continente sudamericano, y es habitado por 170 millones de personas, lo cual constituye un enorme potencial económico. Sin embargo, uno de cada diez ciudadanos posee un ordenador. Lula fundó el Instituto Nacional de Tecnologías Informáticas y en su frente puso al doctor Sergio Amadeu, conocido entusiasta del Open Source, quien se hizo famoso en el país creando una red de 86 centros informáticos gratuitos basados totalmente en Software Libre. No sólo el gobierno está interesado en las soluciones open source, sino que también lo está el sector privado – se estima que pronto uno de cada tres ordenadores en Brasil funcionará bajo un sistema diferente a MS Windows. Unos pasos decisivos cuyo objetivo es liberar tecnología informática no sólo en Brasil – hace poco escribimos que el presidente de Venezuela, Hugo Chavez publicó un decreto conforme al cual en dos años todos los ministerios gubernamentales tienen que sustituir las aplicaciones existentes con otras Open Source, y todas las aplicaciones creadas para uso de la administración pública serán accesibles gracias a la licencia GPL. El siguiente ejemplo es Chile, donde el gobierno promociona activamente el Software Libre, sobre todo en las escuelas. Actualmente se están introduciendo redes de ordenadores en las escuelas basadas en el sistema Edulinux, con el cual funcionan tanto los servidores como los terminales conectados a ellos (muy a menudo son simplemente ordenadores antiguos) que
¿Llegará hasta nosotros la revolución de América del Sur?
tienen acceso al navegador Firefox y al paquete OpenOffice.org. En Perú el gobierno trabaja en una ley que obligue al empleo en la administración pública de las soluciones Open Source . Pero lo que es muy interesante, es que en el proyecto se trata la apertura del código como derecho ciudadano, y no sólo como solución técnica. El requisito que incluye la ley no le gusta a Microsoft, que hace promoción en contra del proyecto. Sin embargo, parece que tiene pocas oportunidades de conseguir este objetivo. En Argentina, donde hace poco había una gran crisis, el fenómeno Open Source sigue creciendo aunque en mayor medida gracias al sector privado – un 42% de las empresas argentinas emplean Linux y muchas de ellas en el futuro piensan emplear tan sólo soluciones abiertas. ¿Observaremos en los próximos años una verdadera revolución Open Source en América Latina? Así parece, ya que en también en los países latinos, igual que en el resto del mundo , los gobiernos son unos de los mayores usuarios de software. Y la adopción de soluciones abiertas en la administración pública ocasiona una adopción más rápida de las mismas por el sector privado, el cual, además, buscará en él una reducción de los gastos de administración de la empresa. A lo mejor, en unos años, los jóvenes de América del Sur van a conocer las nuevas tecnologías a través del fenómeno Open Source. ¿Tiene esta revolución la oportunidad de llegar también a nosotros? http://www.theregister.co.uk/2005/02/10/ south_america_open_source/
news@lpmagazine.org
Noticias
¿OASIS por mal camino?
C
uando hace tres años la organización World Wide Web Consortium (W3C) trató de introducir en los estándares de certificación la posibilidad de patentar algunas soluciones, surgieron protestas de las personas preocupadas por el hecho de que en caso de difundir tales estándares, ello podría conducir al monopolio de un estrecho grupo de empresas del ramo de Internet. Hoy en día las demandas se encuentran en las directivas del consorcio OASIS (Organization for the Advancement of Structured Information Standards) fundado por grandes empresas informáticas tales como Oracle, IBM o Sun Microsystems, para crear estándares de e-negocio y del sector público. No había que esperar mucho la reacción – los personajes más importantes del movimiento Open Source, tales como Eric Raymond, Richard Stallman, Bruce Perens y también el doctor Lawrance Lessig, iniciador del movimiento Creative Commons, firmaron la carta que llama al boicot de la nueva directiva de OASIS.
Además, Bruce Perens reprochó a los mayores partidarios del consorcio que, después de una prueba fallada de introducir estándares de las soluciones con patentes a los estándares W3C, las empresas centraran su atención hacia los estándares de OASIS, tratando de introducir sus propias ideas. Lo interesante es si las enérgicas protestas causarán la renuncia de OASIS a la idea de introducir en los estándares las tecnologías licenciadas, así como sucedió en el caso del consorcio W3C o bien si OASIS resultará inflexible, con lo cual no perderá importancia como organización de estándares. Igual de importante es, además, que la confusión alrededor de OASIS ocasiona demoras en la creación del estándar XML de intercambio de documentos para la Unión Europea. Pronto recibiremos respuestas a las dos preguntas. http://www.oasis-open.org/who/ intellectualproperty.php
Navaja de licencia de Ockham
L
a historia descrita por nosotros hace un mes, relacionada con las fuentes de Solaris en la licencia CDDL nos mostró a todos el gran problema que tiene la idea Open Source. Open Source Initiative, creando la definición Open Source, no previó que en unos años el listado de las licencias compatibles con él crecerían a más de cincuenta, y aún más, muchas de ellas incompatibles. Así es en el caso de la licencia CDDL construida por los abogados de Sun, de tal manera que ésta no sea compatible con la licencia GPL, con la cual se editó el kernel de Linux. Gracias a ello Sun puede a la vez comer un dulce y tener un dulce – por una parte tiene derecho a estar orgulloso de la edición del moderno sistema de Unix en la licencia Open Source, por otra parte se aseguró que la apertura de fuentes no ocasionaría el paso del código de OpenSolaris a su posterior competidor más importante, es decir, Linux. Aun más, todas las partes del código alrededor de OpenSolaris han tomado la la licencia CDDL, con lo cual aumentará la zona de software libre incompatible con la licencia más popular actualmente y plataforma del sistema de Open Source, es decir, GPL y Linux. En caso extremo puede ocasionar una guerra abierta, y no era eso lo que buscaban los creadores de OSI. Además, el
sección llevada por Witold Kieraś
listado de las licencias de tipo Open Source que sigue creciendo no es práctico. En un principio todos están de acuerdo en que hay que hacer algo con esto, sin embargo, hay pocos que tienen las ideas o el valor de tomar algunas medidas en este asunto. A esos pocos pertenece Sam Greenblatt de Open Source Development Labs (OSDL) quien anunció que pronto presentaría su idea de realizar una reforma radical. Según dice Greenblatt deberían quedarse tres licencias: GPL, versión comercial de GPL y BSD. No cabe duda de que sería una situación muy cómoda, sin embargo, es difícil imaginar el mundo Open Source sin licencias como MPL, LGPL, MIT o bien Artistic, que siguen teniendo muchos partidarios. No cabe duda de que el que se atreva a realizar esta reducción radical, tendrá que estar preparado para ser cubierto de invectivas, sin embargo, no cabe duda de que la idea Open Source requiere una reforma. Probablemente esto terminará con un compromiso racional, conseguido después de muchas peleas. Muy importante es lo que pasará con la licencia CDDL de Sun, de la que que muchos quisieran privarse. Entonces ¿Sun decidirá una licencia compatible con GPL? http://developers.slashdot.org/ article.pl?sid=05/02/16/2210209
Aceleración de QEMU Probablemente uno de los más populares emuladores Open Source de los ordenadores de la clase x86 consiguió hace poco el módulo de aceleración que aumenta su velocidad cinco veces más. El problema está en que el módulo surgió fuera del proyecto QUEMU y es difundido tan sólo en forma binaria. El autor manifestó su interés en compartir su código a través de la licencia Open Source con tal de conseguir una compensación financiera. Algunos planifican ya la publicación de una colecta general para comprar el módulo de forma igual a como tuvo lugar en el caso de la liberación de las fuentes de Blender, una aplicación para gráficos tridimensionales que fue comprada de la empresa que la creó por cien mil dólares recogidos con donaciones libres. http://fabrice.bellard.free.fr/qemu/ qemu-accel.html A MS no le gusta Wine Microsoft seguramente nunca apreció demasiado a Wine, emulador de las APIs de Windows . Hasta el momento no se atrevió a luchar contra el proyecto. Esta tregua ha terminado. Los usuarios de Windows que quieran usar las reservas de los servidores de Microsoft por medio navegadores diferentes a Internet Explorer, tienen que ejecutar una aplicación especial "GenuineCheck", que comprueba la legitimidad de la copia del sistema operativo poseída. Resulta que la aplicación comprueba que no está ejecutándose por medio del emulador Wine, tratando de abrir la clave del registro que guarda la configuración de Wine (inscripción: SOFTWAREWineWineConfig). Cuando la prueba tenga éxito la aplicación terminará dando un error. http://www.winehq.com/?issue=262# Microsoft's%20Wine%20Check:%20Details Nokia deja IE en favor de Firefox Dos servicios informativos escandinavos informaron hace poco que Nokia, el gigante de los teléfonos móviles, piensa renunciar a Internet Explorer en sus ordenadores de sobremesa. A cambio quiere instalar y emplear Mozilla Firefox, que va consiguiendo cada vez más partidarios. Seguramente esto no alegrará a la empresa de Redmond, ya que se trata de un número superior a los de 55 mil ordenadores. Sobre todo, poco después de que MS anunciara que intentaría en este año publicar la nueva versión de su navegador. http://theinquirer.net/?article=21381
www.lpmagazine.org
11
actualidades aktualności
Noticias Extensiones mount - -bind Los kernels 2.4 y 2.6 ofrecen una interesante funcionalidad accesible con el comando mount --bind. Existe la posibilidad de enlazar cualquier directorio, e incluso archivo, en otro lugar de la estructura de los directorios. Es muy útil en la creación de entornos separados (chroots) para demonios. En vez de copiar, por ejemplo, /lib podemos enlazarlo y así ahorrar espacio del disco. Pero falta un pequeño factor y es que se ignoran las banderas de monitoreo. Esto significa que no se puede delimitar el acceso a los objetos enlazados; excepto sólo para lectura. Interceptar los permisos del superusuario en el directorio chroot ofrece la posibilidad de sobreescribir las librerías empleadas por el resto del sistema, práctica que NO se recomienda. La solución a esta carencia son las extensiones mount --bind preparadas por Herbert Pötzl. Éstas protegen contra los daños de coherencia del sistema, debido a que se respetan las banderas. Los cambios se refieren a las llamadas básicas del sistema, que sirven a las operaciones en los archivos, y a las llamadas especiales ioctl(). Antes, se analizaron profundamente en dos ramas del kernel. Tcpdump para USB Pete Zaitcev presentó su solución, que facilitará la creación de los drivers y analizará el comportamiento de los dispositivos USB. Basándose en el kernel actual del sistema de archivos debugfs, compartió dentro de éste los datos de funcionamiento del subsistema responsable de Universal Serial Bus. De esta manera, eliminó centenares de líneas que se cargaban en los archivos de bitácora mediante printk() y consiguió acceder a los datos recogidos de la manera más simple posible: mediante el comando cat. Esta información se podrá convertir en aplicación Usbdump (todavía no escrita), que representará la comunicación USB de la misma forma que la interpretación de la transferencia por Red mediante Tcpdump. Cada uno, que a pesar de solucionar por fin el problema de Red, seguramente se haya dado cuenta de que esto facilita mucho el trabajo tanto para los desarrolladores como para los usuarios. Las soluciones de Pete no se pueden confundir con los trabajos anteriores de Dave Harding quien visualizó los datos binarios conseguidos del kernel mediante la aplicación USBmon, escrita en lenguaje Java.
12
Linux+ 5/2005
El núcleo Linux
Noticias del país de Wi-Fi
L
inux tiene fama de ser un sistema que funciona en aplicaciones de redes de forma perfecta. Sin embargo, últimamente se han hecho muy populares las tarjetas Ethernet inalámbricas cuyo servicio no es del todo perfecto. La situación con las tarjetas es bastante particular. Hace unos años, los fabricantes decidieron concretar al máximo la complejidad de las interfaces, lo que en la práctica delimitaba sus habilidades de dar y recibir señales radiofónicas. Todo el trabajo relacionado con el control de transmisión, con la construcción de marcos y con la implementación de protocolos de Red fue trasladado a la programación. A finales del siglo pasado, se hizo lo mismo con los módems telefónicos; de la parte del equipo se quedó tan sólo el transductor que lo une con la línea telefónica. En el caso de Wi-Fi, se ven dos resultados: primero, podemos comprar una tarjeta inalámbrica más barata que una buena tarjeta Fast Ethernet, y segundo, casi todos los proyectos que tienen como objetivo crear drivers para Linux empezaron por la implementación de la pila IEEE 802.11a/b/g, que determina las reglas de comunicación en el canal de radio. Como los trabajos se realizaban de manera autónoma, con el transcurso del tiempo, surgieron las pilas independientes, a expensas de una enorme duplicación del código y del trabajo. Para remediarlo, ahora es necesario introducir en Linux una implementación general, conforme a la muestra de una ordinaria Ethernet, es decir, IEEE 802.3. Entonces, los autores de los drivers para diferentes tarjetas Wi-Fi podrán concentrarse en las aplicaciones de la misma interfaz de Red. Estos requisitos fueron anticipados por James Ketrenos del equipo que trabajó en los drivers para la tarjeta de la empresa Intel. Separó de ellos el subsistema ieee80211 y lo ajustó para que lo pudieran emplear otros drivers. Empleó también los resultados del trabajo sobre el proyecto anterior p80211, del cual se ocupó uno de los hackers del kernel provenientes de Red, Dave Miller. Esta pila es independiente del equipo, es capaz de convertir los marcos de ethernet en wi-fi, así como de arreglárselas bien con la fragmentación. El subsistema criptográfico del kernel se emplea para la realización de los protocolos de protección Wired Equivalent Privacy (WEP) y Wi-Fi Protected Access
(WPA). Las opiniones favorables se recogieron en el grupo de noticias linux-net. La tipificación de la pila puede ayudar a conseguir más coherencia de los drivers de Linux para las tarjetas inalámbricas. Su gran listado de defectos lo preparó Dan Williams, quien se encontró con muchos de ellos durante la creación de la aplicación NetworkManager, cuya tarea es facilitar el empleo de diferentes redes a los usuarios móviles de ordenadores portátiles. El listado de Dan empieza con las quejas del estado de API de Extensiones Inalámbricas que sirve para el control de parámetros del trabajo de tarjetas. No sigue el paso del desarrollo de tecnologías inalámbricas, por lo cual, los autores de drivers investigaron sus propios parámetros, incompatibles con las maneras de fijar opciones más avanzadas. En esta materia se necesita una rápida tipificación, ya que las interfaces entre el kernel y las aplicaciones raramente cambian; a veces, tiene que soportar durante años una forma mal proyectada de configuración. Lo mejor sería que todas las tarjetas se pudiesen configurar con la herramienta estándar ethtool. Desgraciadamente, el soporte de esta forma de control no parece que sea el ideal. Falta también un método homogéneo de informar acerca de la fuerza de la señal recibida por punto de acceso. Los únicos drivers lo transmiten en por cientos y, los demás, en relación con un nivel de referencia empleando las unidades dBm. De igual manera, la frecuencia de trabajo puede ser controlada mediante la selección de la frecuencia concreta y el número del canal separado del campo de 2,4 GHz. Para que no haya problemas en el futuro, hay que decidirse por una de las representaciones e implementar una interfaz coherente en todos los drivers. Algunos de los drivers no son capaces de escanear las redes accesibles, o bien, lo hacen poco a poco, o con errores. Como NetworkManager realiza el escaneo cada decena de segundo, una baja calidad de esta función se refleja en la estabilidad general del sistema. El siguiente punto débil es trabajar sin el punto de acceso, es decir, en modo Ad-Hoc. Aunque el estándar IEEE 802.11 requiere esta forma de funcionamiento, pocos drivers de Linux en general lo soportan, sin mencionar ya un trabajo estable y sin problemas.
kernel@lpmagazine.org
Nuevo método de initrd
M
uchas distribuciones de Linux emplean técnicas de ejecución con el disco RAM inicial. Éstas se basan en que, durante el inicio del sistema, se carga el kernel de manera automática, así como la imagen del pequeño sistema de archivos en la memoria. Al ejecutarse el kernel, no se empieza a montar el sistema de archivos del disco, sino que pasa directamente a la ejecución de las aplicaciones incluidas en el mencionado sistema de archivos. Normalmente, son los scripts los que detectan algunos módulos (IDE, SCSI, FireWire etc.), necesarios para conseguir acceso al disco, para detectar el sistema de archivos empleado y para actividades similares. En las soluciones más avanzadas puede tener lugar la configuración de Red y el siguiente inicio del sistema operativo mediante Red. El disco RAM inicial es necesario también cuando empleamos el cifrado de datos del disco completo. Entonces, antes de conseguir acceso a los datos, hay que dar la contraseña, o bien, otra manera de identificarse uno mismo. Normalmente, la tarea principal del disco RAM es evitar la necesidad de compilar en el kernel los drivers para diferentes controladores de discos y sistemas de archivos y la carga tan sólo de aquellos necesarios en la configuración dada. Esto permite a los distribuidores preparar los kernels universales, cuya configuración final depende de los módulos cargados durante el inicio. El disco RAM inicial se emplea muy frecuentemente, sin embargo, a pesar de ello, sigue constituyendo la parte opcional del proceso de ejecución del ordenador. Esto va a cambiar en un futuro indeterminado. Los comandos del disco RAM se realizan en el espacio del usuario, lo que trae muchas ventajas. Allí, al contrario del espacio de kernel, el error en la aplicación no termina por kernel panic, sino sólo con proceso incorrecto. Las funciones y la configuración pueden basarse en los datos guardados en los archivos, lo cual no es favorable para el kernel. Gracias a ello, la configuración es más fácil y la elasticidad es mayor. Los respectivos elementos pueden intercambiarse mucho más fácilmente al volver a compilar el kernel. Esto lo observamos en el ejemplo de las posibilidades ofrecidas por udev, es decir, sacar del kernel en el espacio del usuario la administración de directorio /dev.
sección llevada por Tomasz Torcz
Noticias Por esta razón, la planificación de largo alcance consiste en mover el máximo número posible de configuración y algoritmos de la detección del kernel al disco RAM inicial, denominado initramfs. En él se encuentran pequeñas aplicaciones y la librería klibc, empleada por éstas. Su tarea es detectar los discos y particiones, configurar la Red y montar / por la Red, así como la interpretación de los arrays ACPI. Esto se diferencia de un ordinario initrd, cargado de forma separada de la aplicación de ejecución, initramfs en la adhesión a la respectiva imagen del kernel: no hay necesidad de crear un archivo adicional. Para construir la imagen del archivo empleamos el script mkinitrd. Es bastante complicado el script de la shell porque tiene una gran cantidad de excepciones implementadas. En este sentido, Erik van Konijnenburg elaboró la siguiente propuesta: realizar su script (Yaird) esta vez en Perl y utilizar la máxima cantidad de información accesible en sysfs y procfs. La exigencia de sysfs imposibilita el empleo de Yaird en los kernels anteriores a 2.6. Es necesario, por tanto, basar el equipo en el mecanismo hotplug. Esto garantiza que el script funcione de manera más próxima al modo que tiene el kernel de detectar el equipo. El resultado adicional es la resistencia a cualquier cambio futuro en el nombre de los módulos, o bien, en la manera de asignarlos a los dispositivos. No se gasta la memoria para la carga de los módulos en el equipo ausente en el ordenador. Este dato es importante, especialmente, como consecuencia de los cambios producidos en la filosofía del soporte de los módulos en Linux. Antes, el hecho de cargar el driver podía dar un fallo cuando el soporte del equipo no se encontraba en el ordenador. Ahora, cuando el módulo se carga, a pesar del fracaso de la inicialización, se queda en la memoria. De este modo surge el peligro de proceder con prisas a la hora de descargar los módulos. Por esta razón, también podemos bloquear completamente la posibilidad de eliminar los módulos cargados en la configuración del kernel. Los módulos tan cargados, a pesar de la falta del equipo, ocupan la memoria esperando la conexión del dispositivo que les interesa.
Hotfixs para dla 2.4.x A semejanza del árbol –as, anunciado hace poco, con los parches para el kernel 2.6, Willy Tarreau empezó a coleccionar pequeños parches para los kernels 2.4. Su trabajo servirá para todos aquellos que aún empleen la línea 2.4 y para aquellos que encontraron un error y, por ellos mismos, no quisieron o no pudieron seleccionar el parche separado de BitKeepera y, tampoco pudieron esperar por éste hasta la edición de la siguiente versión del kernel. Los kernels 2.4.x aparecerán cada vez menos, incluso, pueden pasar meses. Los parches dentro de -hf (hotfix) están divididos en seis categorías: los que se refieren a la seguridad (críticas teniendo en cuenta los daños, o bien, la posibilidad de suspender el trabajo), los que aumentan la estabilidad, los que tratan pequeños errores, los que abordan los problemas con la compilación, así como los parches de la documentación. Si bien, no se introducirán los cambios directamente en los drivers, ya que dentro de su marco arreglar un error supone la posibilidad de causar nuevos problemas. http://linux.exosec.net/kernel/2.4-hf/ Más luchas contra el tiempo real En las pruebas para crear una asignación segura a un usuario ordinario, con la posibilidad de emplear las prioridades del tiempo real, ocurre que transcurren meses y meses. Tales permisos son necesarios para conseguir demoras menores de milisegundos, algo con lo que tienen que contar las personas que se ocupan del retoque del sonido en Linux. Al mismo tiempo, un error en la aplicación que estén empleando puede ocasionar la suspensión completa del funcionamiento del sistema. Una solución justa parece la propuesta de Ingo Molnar. Él planteó fijar, mediante el mecanismo rlimit, el límite de carga del procesador por la aplicación, bajo el cual es posible la entrada en el modo de ordenar el tiempo real por un usuario ordinario. En caso de exceder este tiempo, por ejemplo, en un 70% de la carga del procesador, la aplicación se degrada a la clase normal de ordenación. El parche incluso se analizó ampliamente en el árbol -mm, sin embargo, se decidió retirarlo y volver a la propuesta antes rechazada de aplicar la infraestructura Linux Security Modules (LSM) a la asignación selectiva de los usuarios de los permisos Real-Time. http://lwn.net/Articles/122477/
www.lpmagazine.org
13
actualidades aktualności
Noticias Posibles problemas con la licencia de PHP Martin 'Joey' Schulze se apoya en un fragmento de la licencia de PHP para preguntarse si Debian, nombrando sus propios paquetes de PHP, puede hacer uso de los nombres ya utilizados por los desarrolladores de este software. MJ Ray constató que la frase citada se refiere a PHP4 y no prohíbe continuar nombrando los paquetes PHP de la misma manera en que siempre se lo ha hecho. Pero Steve Langasek explica que, en realidad, Debian nunca obtuvo autorización para ello. http://lists.debian.org/debian-legal/2005/ 02/msg00222.html Debian en conferencias El proyecto Debian informó sobre sus presentaciones en siete conferencias y exposiciones: CONSOL en México (22 – 25 febrero), FOSDEM en Bruselas, Bélgica (26 - 27 febrero), Asia Open Source Software Symposium en Pekín, China (28 febrero - 4 marzo), Chemnitzer Linux-Tage en Chemnitz, Alemania (5 - 6 marzo), CeBIT en Hannover, Alemania (10 – 16 marzo) e IT/Linux Days en Lorrach, Alemania (11 - 14 marzo). También tuvieron lugar varias conferencias con Debian como punto central. http://www.debian.org/News/2005/ 20050218/ Determinación automática de las dependencias Joel Aelwyn ha propuesto una implementación del mecanismo dh_devincludes, el cual tendría por objetivo determinar durante la creación del paquete las dependencias respectivas de las librerías de desarrollo. Se pregunta si será necesario un tratamiento especial de las dependencias versionadas, y si deberían ser soportados otros lenguajes además del C. http://lists.debian.org/debian-devel/ 2005/02/msg00855.html Verificación del archivo para Sarge Andreas Barth menciona la posibilidad de actualizar Apt en Sarge. A raíz de esto, una petición de ayuda ha sido enviada a los desarrolladores interesados en la verificación automática del archivo en la versión siguiente. Para ello, Florian Weimer ha creado la información detallada sobre el estado de esta empresa. http://lists.debian.org/debian-project/ 2005/02/msg00097.html http://www.enyo.de/fw/software/ apt-secure/
Debian
MPlayer en Debian
L
os usuarios principiantes de Debian frecuentemente se preguntan por qué esta distribución no tiene MPlayer, el reproductor de películas más popular, accesible para varias plataformas de Unix (y no sólo). Desde hace un par de años, de vez en cuando aparecen intentos de incluirlo en el archivo, pero éstos siempre se encuentran con problemas. El proyecto Debian es conocido por la importancia que da a la cuestión de la libertad del software. En contra de la opinión corriente, el problema no consiste solamente en el requisito de que la licencia de un programa determinado cumpla con los principios del Software Libre. Si se tratase únicamente de la licencia, ya hace tiempo MPlayer habría entrado a formar parte de la distribución, pues es desarrollado y distribuido de acuerdo a la Licencia Pública General GNU. Desafortunadamente, esta no es la única condición. Los derechos de autor de las personas participantes en el proyecto tienen que estar documentados en el fichero copyright, el cual es añadido a cada paquete en Debian. En la etapa inicial del desarrollo de Mplayer nadie se preocupaba por la documentación de los derechos de autor de las personas que enviaban sus correcciones o extensiones al programa. En consecuencia, la creación de una base de datos de la gente que tiene los derechos de autor al código del programa nunca ha sido una tarea trivial, aunque no imposible. Además, los autores del programa nunca se preocuparon mucho por arreglar estos asuntos, por lo que entre los desarrolladores de Debian y los de MPlayer hubo algunas riñas, después de las que las perspectivas de entablar una cooperación efectiva entre los dos grupos se vieron muy reducidas. Por suerte, Andrea Mennucc, que desde un par de años dedica sus esfuerzos a incluir Mplayer al archivo de Debian, no se dio por vencido y, junto con algunos de los desarrolladores de Mplayer, examinó su ex-
tensa base de parches, documentándola de manera a hacer posible la determinación de sus respectivos autores. Así fue solucionado el problema de los derechos de autor, el cual, desafortunadamente, no era el único que concernía al paquete MPlayer. Otra cuestión discutible era la utilización en el código fuente de fragmentos patentados, o publicados en base a una licencia no conforme a la GPL. DeCSS, el método más eficaz de decodificar los discos DVD, fue probablemente la más problemática de las cuestiones jurídicas. En consecuencia, el paquete de MPlayer para Debian incluirá en su lugar una librería menos rápida - libdvdread3, la misma que utiliza otro popular reproductor multimedia, Xine. Otras librerías problemáticas fueron simplemente eliminadas de las fuentes, ya que la mayoría de ellas ya hace tiempo habían sido sustituidas por ffmpeg, el cual forma parte del archivo de Debian. Dado que MPlayer es capaz de detectar una gran parte de sus librerías en tiempo de ejecución, el usuario podrá obtener las partes “no libres” de repositorios no oficiales de Debian e instalarlas por sí mismo. Por lo tanto, incluso la utilización de las librerías provenientes del sistema Windows no debería resultar muy problemática, aunque con toda seguridad éstas nunca llegarán a encontrarse en el archivo oficial de Debian en su forma actual. La tarea de llevar a MPlayer al estado actual duró bastante tiempo y exigió mucho esfuerzo, pero Andrea espera que ya nada pueda impedir que el reproductor más popular en el mercado pueda ser incluido en la sección main de Debian. Hasta que esto suceda, los usuarios deberán seguir utilizando los paquetes no oficiales que mantiene, ya desde hace un par de años, Christian Marillat. http://lists.debian.org/debian-legal/2005/02/ msg00175.html http://tonelli.sns.it/pub/mplayer/sarge/ http://www.apt-get.org/
MPlayer es uno de los reproductores multimedia más populares
14
Linux+ 5/2005
debian@lpmagazine.org
Revoluciones después de Sarge
U
no de los defectos más frecuentemente reprochados a Debian es su largo ciclo de ediciones estables. No podemos ignorar el hecho de que Woody salió en julio 2002 – hace ya más de dos años y medio, lo que es toda una eternidad para un sistema operativo. Tanto más, que la mayor batalla que se libra es por la hegemonía en los escritorios de los usuarios, los cuales pueden utilizar Woody, pero a costa de renunciar a muchas mejoras útiles. En consecuencia, los usuarios impacientes eligen la versión de prueba de Debian, o a veces incluso la versión inestable. Desde un punto de vista pragmático, todo está bien, pero estas dos versiones no incluyen el soporte para seguridad. Incluso los desarrolladores de Debian admiten que es imprescindible buscar soluciones a los problemas actuales, pues entre otras cosas éstos socavan la motivación de los mantenedores. El ciclo de ediciones habitual se puede caracterizar con una sola frase: el nuevo Debian sale cuando está listo, o sea en el momento cuando está terminada la infraestructura necesaria (p. ej. seguridad garantizada, funcionamiento correcto de la red buildd), y el número de errores críticos de la edición es igual a cero. Este modelo funcionaba perfectamente en los tiempos cuando el proyecto no era muy grande. No es difícil notar que el intervalo de tiempo entre las ediciones sucesivas sigue creciendo drásticamente (hamm/slink – 8 meses, slink/potato – 17 meses, potato/woody – 23 meses, woody/sarge – 32 meses), aún cuando al mismo tiempo aumenta el número de desarrolladores. Sin embargo, este método de liberar la distribución es el que ha permitido mantener su legendaria estabilidad y un nivel óptimo de soporte técnico (sin contar el sistema de administración de paquetes y su cantidad). Actualmente se considera diversas proposiciones de cambios en el sistema de liberación de la distribución. Una de ellas consiste en congelar rápidamente la distribución inestable. Este método fomentaría el interés de los desarrolladores por la siguiente versión estable, permitiría detener la continua desestabilización de la versión en desarrollo y aumentaría la actualidad de la edición estable. Sin embargo, este método ya fue aplicado, y sus desventajas son evidentes: en primer lugar, la congelación del testing junto con el sistema actual no funciona para un proyecto tan inmenso y, en segundo lugar, este mecanismo puede provocar una situación en la cual elementos claves del
sistema (GNOME, KDE, etc.) están ya bastante obsoletos en el momento de liberar la distribución. Una de las propuestas más temerarias fue la de abandonar la liberación de una versión estable, o trasladarla a algún otro proyecto p. ej. Ubuntu. Varios usuarios opinan que las distribuciones derivadas de Debian se adaptan mejor al escritorio. Sin embargo, Debian es utilizado no sólo en escritorios, sino también en servidores. Existe el peligro de que, una vez eliminada la presión que acompaña a la liberación de una distribución estable, la calidad de los paquetes pueda empeorar. Además, ¿cuáles son los criterios a aplicar en la elección del editor oficial de la versión estable? ¿Quién garantizará que los otros proyectos no desaparezcan dentro de un mes, un año o cinco años? En las listas de discusión aparecen también otras ideas, como por ejemplo la liberación de Debian por partes, en base a los subsistemas más importantes (X, KDE, GNOME etc.). Este método permitiría aumentar la frecuencia de aparición de versiones sucesivas y no influiría considerablemente en la calidad de los paquetes. Los problemas de liberación afectarían a un solo componente y no al sistema entero. Este mecanismo es utilizado entre otros en el proyecto Componentized Linux (previamente: Progeny), así que hay experiencias. Y son justamente estas experiencias las que, desafortunadamente, proporcionan los argumentos contra este método. Sobre todo porque satisfacer las dependencias de cada componente sería un suplicio, si es en absoluto posible. Este sistema puede probablemente funcionar bien para grandes subproyectos, pero ¿qué hacer con los miles de pequeños paquetes surtidos por Debian? Hay varias otras proposiciones, como por ejemplo la racionalización del sistema de paquetes del software, la reorganización de la versión partes en más pequeñas, fechas fijas de liberación, etc. La discusión general fue aplazada hasta después de la liberación de Sarge. Apenas entonces podemos esperar una decisión. Y en práctica ¿qué nos espera después de la liberación de Sarge? Varios cambios e innovaciones interesantes: finalmente la entrada de X.org al repositorio (aunque el XFree86 para Debian posee ya varios parches de X.org), PostgreSQL 8.x, PHP5, Python 2.4 o 2.5 y muchos otros.
sección llevada por B. Feński, T. Napierała
Noticias Tareas y responsabilidades del equipo FTPmaster Matthew Garrett ha colocado en la lista debian-project una explicación sobre las tareas realizadas por los miembros del equipo FTPmaster; esta explicación es el primer artículo de un ciclo sobre los distintos grupos que funcionan en Debian. Este grupo administra el archivo master, añade y suprime paquetes en él, y colabora con los mantenedores de la versión para asegurarse si todos los ficheros se encuentran en el lugar adecuado del archivo. El equipo escribe y mantiene los scripts que permiten automatizar considerablemente este proceso. El grupo sólo se ocupa del archivo principal – de la red de los servidores espejo se encarga un equipo aparte. http://lists.debian.org/debian-project/ 2005/02/msg00184.html Apareció el autor de Moria Robert Koeneke, el autor de Moria (el juego de tipo roguelike) se contactó con la lista de discusiones debiandevel , y se mostró muy sorprendido por el hecho de que la gente todavía siga jugando el juego que empezó de desarrollar hace 20 años. Robert piensa en cambiar la licencia de juego a GNU GPL, lo que permitiría trasladar Moria, Angband y sus derivados al archivo principal. http://packages.debian.org/moria/ http://lists.debian.org/debian-devel/ 2005/02/msg00806.html Comportamiento equívoco de udev Maykel Moya, después de darse cuenta de un extraño directorio /.dev y de haber suprimido su contenido; después de hacerlo, no pudo arrancar más el sistema. Sam Morris explica que durante el lanzamiento de udev, el directorio real /dev se monta en el directorio /.dev, para que pueda ser accesible. Esto sólo pasa si este directorio existe, así que puede borrarse sin problemas. http://packages.debian.org/udev/ http://lists.debian.org/debian-devel/ 2005/02/msg00380.html Sistema de control de versión y configuración Enrico Zini informó que había colocado su directorio /etc/ bajo el control de svk, el sistema de control distribuida de las versiones basado en una subversion. Florian Weimer añadió que este sistema posee también soporte nativo para enlaces simbólicos. http://packages.debian.org/svk http://packages.debian.org/subversion http://lists.debian.org/debian-devel/ 2005/02/msg00495.html
www.lpmagazine.org
15
actualidades aktualności
Noticias Drakbt Mandrakesoft ha empleado, actualmente, BitTorrent para editar sus versiones de hace más de un año. Tanto las versiones accesibles libremente como las versiones comerciales, se compartieron con los miembros del club por medio de BitTorrent. Sin embargo, no todos estaban satisfechos con BitTorrent. Éste funciona muy bien para algunas personas e incluso mejor que el acceso mediante FTP, porque cuanto más se descarga de manera simultánea, mejor. Sin embargo, en las mismas condiciones, la velocidad binaria es muy decepcionante. Drakbt no sólo es herramienta de Mandrakelinux que sirve para acceder a todos los torrents accesibles sino que también se utiliza para comprobar tu línea y para saber si el torrent funciona o no. 10.2 beta 1 para PPC La primera versión beta de Mandrakelinux 10.2 para los procesadores PPC es accesible, actualmente, en los servidores réplicas FTP. Las tres imágenes de 700 MB llevan las últimas versiones de todos los paquetes de Cooker para los ordenadores Apple. Además, esta versión debería funcionar en la mayoría de los nuevos Mac, incluyendo iMac G5. Accede a la página http://www.mandrakelinux.com/ en/102beta.php3 para obtener las últimas imágenes ISO. 10.2 beta 1 para x86_64 A partir de marzo ya se encuentra accesible la primera edición beta 10.2 para los procesadores de 64 bit con la tecnología de x86_64. Estos procesadores incluyen, desde luego, los procesadores AMD64 y Opteron de la empresa AMD y también el nuevo Pentium IV con extensiones EMT64. Esta edición tiene todas las nuevas características de la versión i586 y, además, un mejor soporte para el desarrollo mixto, tanto de las aplicaciones de 32 bit como de 64 bit. Actualmente, podéis crear en el mismo sistema tanto los binarios RPM de i586 como los de x86_64. Simplemente, necesitáis emplear el envoltorio de linux32 para ello, por ejemplo, de tipo:
Mandrakelinux
mandrakelinux@lpmagazine.org
Proyecto EDOS (Entorno para la Distribución del Software Libre)
E
l proyecto europeo del grupo EDOS de Mandrakesoft y de 9 socios más, incluyendo universidades y compañías del mundo del software libre tiene como objetivo mejorar los procesos empleados en la creación de la distribución, así como su amplia difusión en discos CD o empleando servidores réplica de FTP, e incluso, crear una red P2P para compartir distribuciones muy
E
l 24 de febrero de 2005, Mandrakesoft anunció el convenio definitivo para obtener Conectiva, el editor brasileño de la famosa distribución de Linux en Brasil y América Latina. Las dos compañías tienen un montón de características comunes: casi el mismo tamaño, una historia muy parecida y las dos tienen un gran grupo técnico, incluyendo a los desarrolladores de Perl, Python, KDE, GNOME, del kernel, los autores de Apt-rpm, Smart, Urpmi, y, desde luego, todo el grupo que creó el instalador de Mandrakelinux, DrakX, así como todas las herramientas de configuración de la distribución. Esta fusión es un paso muy importante para Mandrakesoft que hacía menos de un año se encontraba bajo la protección de la sección 11 y que ahora, sin embargo, tiende a profundos cambios en el mundo de Linux. Actualmente, este mercado está cada vez más desarrollado y tiene cada vez más público; las necesidades de los clientes van cambiando y no siempre se sincronizan con el entorno del software libre, que se desarrolla muy rápi-
recompilar la versión de 32 bit de Evolution.
Mandrakesoft compró Conectiva
Linux+ 5/2005
activas como Cooker. Este proyecto quiere construirse a partir de las soluciones existentes o crear unas nuevas en el mundo del software libre. El entorno de la comunidad es un elemento clave para este proyecto y todo aquel que esté interesado es bienvenido para comprobar los detalles del proyecto. http://www.pps.jussieu.fr/~dicosmo/EDOS/ index.html
Mandrakesoft, Conectiva y otras distribuciones
linux32 rpm –rebuild evolution2.0.4-2mdk.src.rpm para
16
sección llevada por Florent Villard
damente. La distribución de Mandrakelinux actualmente es lo bastante madura como para cumplir la mayoría de las necesidades de este mercado. Mandrakesoft, probablemente, aprovechará esta compra, reconsiderará su proceso de desarrollo y preparará una nueva distribución que podrá sacar provecho tanto de los conocimientos de sus propios grupos como de los de Conectiva. La siguiente versión de Mandrakelinux (10.2) estuvo accesible, a principios de abril, para los miembros del Club en Mandrakestore y, unas semanas más tarde, para todos los usuarios. La tercera versión beta se hizo accesible el 22 de Febrero, y la edición Candidates en marzo. Sin embargo, esta versión no es una versión común con Conectiva, que será la siguiente y se editará en septiembre de 2005. Por tanto, la nueva versión será la única oficial del nuevo grupo Mandrakesoft/Conectiva. http://www.mandrakesoft.com/company/press/ pr?n=/pr/corporate/2539
actualidades aktualności
Noticias Aurox Integrator y Aurox Reseller A finales del primer trimestre del año 2005 empezó el programa Aurox Integrator. La oferta está destinada a toda empresa relacionada con la introducción en el mercado y la venta de aplicaciones de la marca Aurox. Aurox Integrator es un programa gratuito del que se pueden aprovechar las empresas que prestan servicios de consulta e instalación del sistema Aurox. Aurox Reseller está destinado a los socios que venden productos de la marca comercial Aurox. Aurox Live 10.3 Los cambios se realizan no sólo en las siguientes versiones de la distribución sino también en el cada vez más popular Aurox Live. El primer cambio que se nota es la mejora del instalador del sistema. El objetivo principal de las modificaciones realizadas es elaborar un procedimiento de instalación que ocasione los menos problemas posibles a los usuarios principiantes. Por lo tanto, la mayoría de los parámetros de configuración tienen una configuración predeterminada y los cambios eventuales se pueden introducir en el menú para usuarios avanzados. Aurox Support Se siguen precisando expertos del sistema Aurox. En relación con las preguntas y problemas de los que se avisa en las páginas del soporte técnico de Aurox, Core Team de la distribución cuenta con el soporte de parte de la comunidad de Linux. Se precisan voluntarios que puedan prestar su ayuda para los siguientes idiomas: francés, polaco, italiano, inglés, checo y alemán. http://aurox.org/support/
Aurox
aurox@lpmagazine.org
Aurox Translator
A
demás del soporte de dispositivos, una de las prioridades del grupo de programadores de Aurox es la preparación del soporte de idiomas extranjeros. Por lo tanto, Aurox Core Team ha pedido ayuda a la comunidad de Linux para los trabajos relacionados con las traducciones. Para ello, en las páginas de Internet de Aurox ha aparecido una interfaz especial, por medio de la cual los usuarios pueden participar en el proyecto Aurox Translator.
A la vez se finalizan los siguientes proyectos cuyo objetivo es animar a la comunidad de Linux a que trabajen en la distribución. Primero se publicará la especificación de módulos para ACC (Aurox Control Center). Al mismo tiempo debería aparecer el proyecto relacionado con el desarrollo de la interfaz gráfica de Aurox. Para los desarrolladores más tenaces se han previsto regalos atractivos y otras sorpresas.
Aurox 10.3 – el mejor soporte de dispositivos
T
odos los usuarios de Linux saben cuántos nervios se relacionan con la ejecución de todo tipo de dispositivos conectados al ordenador. “Se conecta y funciona”, quisiéramos decir después de comprar una cámara fotográfica, impresora, escáner o portátil con tarjeta inalámbrica. Sin embargo, la mayoría de usuarios sigue estando obligada a introducir comandos complicados en la ventana de la terminal; fracasa incluso la cuestión del montaje automático de unidades tradicionales CD/DVD, sin mencionar los discos con memoria flash. De las investigaciones realizadas en los últimos meses por la empresa Aurox ha resultado los problemas que tienen los usuarios con la conexión de los dispositivos al ordenador. Para enfrentar tal
demanda, el grupo de programadores de Aurox ha preparado un sistema de configuración automática de los dispositivos inalámbricos de red. La solución es simple y elegante – son servidores proxy transparentes basados en el funcionamiento de hotplug. Tan sólo hay que comprobar que la tarjeta se encuentra en el listado especial de dispositivos. Si no está, llamamos drvinstall, es decir, el instalador gráfico de drivers. Su mayor funcionalidad es la búsqueda automática de unidades CD/DVD para encontrar archivos de tipo inf, es decir, aplicaciones de control destinados al sistema Windows XP. Asimismo, es posible indicar manualmente la localización de drivers.
11.0 – versión de prueba de antes de la primera edición En los servidores réplicas de la distribución Aurox han aparecido imágenes de prueba de la nueva versión de Aurox número 11. La edición de la versión completa se planifica para el otoño del año en curso. Inaugurar de forma tan temprana este sistema tiene como objetivo alargar el período de pruebas que intensamente ha realizado Aurox Community.
Aurox – el mejor soporte para los dispositivos móviles
18
Linux+ 5/2005
sección llevada por Adrian Brzeziński
sección llevada por Witold Kieraś aktualności
gentoo@lpmagazine.org
Gentoo
actualidades
Portage no oficial
E
xisten muchas aplicaciones, desde pequeños scripts hasta extendidas aplicaciones gráficas, cuyo objetivo es facilitar el trabajo con Portage en diferentes aspectos, que no han sido incluidas, por diferentes causas, en el árbol. Un tal Pythonhead, desarrollador y usuario del foro Gentoo, decidió recoger y sistematizar todas las aplicaciones existentes que podrían encontrarse en la rama app-portage, sin embargo, todavía no han llegado hasta allí. Resultó que su base de aplicaciones, que se publica y actualiza rápidamente en el foro, consiguió grandes tamaños. Algunas de las aplicaciones encontradas por él llegaron gracias a ello al árbol Portage. Pythonhead dividió las aplicaciones recogidas en varias categorías: herramientas para administrar las banderas USE y CFLAGS en paquetes, aplicaciones que sustituyen el comando etc-update, herramientas para el comando emerge, etc. Además, quitó paquetes innecesarios de las herramientas de depuración del sistema, herramientas que sacan información sobre paquetes, aplicaciones de sustitución de Portage y diferentes aplicaciones que caben en otras categorías. Merece la pena fijarse en las herramientas destinadas a depurar el sistema, ya que en
Eix
C
uando el árbol de Portage tenía pequeños tamaños, su búsqueda por medio de la opción -s del comando emerge no resultaba demasiado problemática. Pero a medida que el árbol se iba extendiendo, la esperanza del resultado en la búsqueda tardaba cada vez más y más y se hacía cada vez más irritante. En este sentido, han empezado a surgir proyectos de aplicaciones simples para indexación del contenido de todo el árbol y para la búsqueda sólo de su base de datos, gracias a lo cual, en equipos de media clase, obtenemos un resultado de la búsqueda prácticamente inmediato. Hasta hace poco, la aplicación más popular de este tipo era Esearch, sin embargo, ha aparecido una fuerte competidora. Se trata de Eix (Ebuild IndeX), antes conocida como Portagedb. A pesar de que Eix se encuentra en una fase de desarrollo muy temprana, ya parece una herramienta mejor que Esearch. Eix funciona más rápidamente, tanto durante la búsqueda de paquetes en la base como durante su creación. Aunque la propia
Genu, superposición en Portage escrita en MONO
este sentido el grupo de desarrolladores oficiales de Gentoo todavía no ha suministrado aplicaciones avanzadas. Sin embargo, hay que recordar que la mayoría de las aplicaciones presentadas en el listado todavía no han llegado a Portage, porque aún se encuentran en una fase muy temprana e inestable de desarrollo. Por lo tanto, tenemos que emplearlas con bastante cuidado. http://forums.gentoo.org/ viewtopic.php?t=67849
velocidad de búsqueda no es especialmente atractiva, ya que nadie se preocupa de una aceleración de medio segundo (incluso cuando esto constituye un resultado, por ejemplo, tres veces mejor que Esearch), sin embargo, una aceleración más alta durante la creación de la base sí será reconocida por todos los usuarios de Gentoo. La misma sincronización del árbol Portage (emerge sync) es un proceso que gasta bastantes recursos, y tampoco podemos permitirnos que durante la creación de la base de paquetes nuestro procesador se cargue durante unas decenas de segundos más. En este aspecto, Eix es mejor que Esearch puesto que crea la base de datos mucho más rápidamente y gasta mucho menos recursos. Eix, para la aplicación en la fase alpha, se presenta extraordinariamente bien, aunque es difícil esperar aquella versión que los autores consideren completa y estable.
Migración del foro Ya ha tenido lugar la anunciada migración del foro principal de Gentoo, tanto del equipo como de las aplicaciones. El foro se ha trasladado a una máquina más rápida y también se ha actualizado el engine phpBB, en el que se basa el foro, a una versión nueva. Gracias a ello, ha logrado muchas funciones nuevas: mejor soporte en idiomas diferentes al inglés, la posibilidad del escaneo del foro por buscadores de Internet y nuevas opciones para moderadores, tales como la posibilidad de unir sujetos. La migración se ha producido sin ningún problema. Mientras ocurría esto, en el foro principal de Gentoo apareció el mensaje número dos millones... Progreso del proyecto Gentoo/ FreeBSD Gentoo/FreeBSD es un proyecto de compartición del sistema FreeBSD, sobre todo, de las herramientas del sistema y de las librerías LibC en la versión BSD, así como del kernel FreeBSD en convención de Gentoo. Gracias a él, en un futuro, cada usuario que cree su propio sistema podrá seleccionar el kernel y la LibC que quiera emplear. Los desarrolladores de Gentoo/ FreeBSD anunciaron que pronto migrarán a las construcciones en la versión FreeBSD 5.3 (por el momento empleaban la versión 5.2.1). Asimismo, informan de que Portage funciona ya en Gentoo/FreeBSD sin la necesidad de poner parches y de que el conjunto de construcciones que instalan componentes específicos para FreeBSD es casi estable. El ambicioso objetivo para este año es editar la primera edición estable. Se siguen precisando programadores para cooperar con el proyecto. Portage en OpenBSD Karol Pasternak, conocido también como reb, anunció que había llegado a trasladar Portage al sistema OpenBSD. Según él mismo escribe en la explicación: Lo hice porque el sistema de puertos en OpenBSD es bastante pobre y Portage puede constituir una alternativa para él. Tengo que admitir que funciona bastante bien... En su página comparte su versión de Portage para OpenBSD y una corta HOWTO dedicada a su instalación. http://reb.piwko.com.pl/GentooOBSD/
http://forums.gentoo.org/ viewtopic.php?t=278819 http://sourceforge.net/projects/eix
www.lpmagazine.org
19
entornos gráficos de trabajo
KDE en color manzana Witold Kieraś
E
DVD
Después de ejecutar la distribución Linux+ Live DVD podemos conocer las aplicaciones descritas.
En el disco DVD
En el disco DVD se encuentra la aplicación descrita en el artículo.
24
Linux+ 5/2005
l sistema operativo Mac OS X de la empresa Apple se considera uno de los más innovadores y elaborados en cuanto a la interfaz de usuario. Los aficionados de este sistema esperan con mucha impaciencia las versiones siguientes, sobre todo, si tenemos en cuenta las novedades de su escritorio que se suelen llamar “efectos especiales” en el mundo de Linux. Muchas de estas novedades encuentran a aficionados también entre los usuarios de Linux, lo que no es nada raro: suelen ser útiles en el trabajo cotidiano. La estética de Mac OS X tiene muchos partidarios, sobre todo, entre los usuarios de KDE. No es nada raro que desde hace algún tiempo surjan muchos tapices gráficos y conjuntos de colores para KDE, así como aplicaciones adicionales que tienen como objetivo imitar el aspecto y la funcionalidad de Mac OS X. En el servicio KDE-look.org podemos encontrar las capturas de pantalla que se parecen a la interfaz de este sistema. En este artículo observaremos las aplicaciones y suplementos para KDE que lo hacen muy similar a Mac OS X, incluso si no queremos transformar de una manera tan radical nuestro escritorio, merece la pena mirar lo que nos ofrecen a los aficionados de estas soluciones. Cuando ya conozcamos las posibilidades y queramos convertir nuestra KDE en Mac OS X, primero tendremos que hacer una copia de seguridad del directorio cuyo enlace simbólico sea un archivo escondido en nuestro directorio principal .kde. Luego, podemos eliminarlo y empezar la configuración predeterminada de KDE.
para la barra de tareas. El objetivo del creador de Baghira es imitar el aspecto de Mac OS X, algo que sabemos hacer con éxito. El estilo se actualiza muy a menudo y ya tiene una opinión tan buena, que algunas distribuciones de Linux suministran paquetes preparados con Baghira (por ejemplo, Fedora, o también Gentoo). Cuando no tenemos paquetes para nuestra distribución de Linux podemos emplear las fuentes. Podemos descargar el archivo respectivo desde la página del proyecto o bien encontrarlo en el disco que acompaña a la revista. Descomprimimos los archivos descargados con el comando tar -xjvf baghira.tar.bz2 y, luego, pasamos al directorio baghira/ en el directorio del mismo nombre que acabamos de crear (cd baghira/baghira) y realizamos el comando: ./configure --prefix=`kdeconfig --prefix` --disable-debug. Después de configurarlo nos queda realizar make y como root make install. Después de instalarlo, pasamos al Centro de configuración de KDE y en la sección Aspecto y Temas seleccionamos primero la posición Decoración de ventanas. En la solapa Decoración de ventana, en el menú desplegable de arriba buscamos la posición Baghira, la seleccionamos y confirmamos los cambios. Realizamos una operación parecida en la sección Aspecto y Temas–>Estilo.
Baghira
Baghira es un estilo para KDE que incluye un conjunto de colores, ornamentación de ventanas e incluso un applet adicional
Figura 1. KDE por el estilo de Mac OS X
KDE y Mac OS X
Figura 2. Kompose en acción
Además, en la sección Colores podemos seleccionar uno de los conjuntos de colores Aqua (celeste o grisáceo) que sientan bien a Baghira.
¿Qué tipo de Docker?
Hace un tiempo el elemento más deseado que se imitaba de Mac OS X era la barra de acoplamiento, o docker, empleada en vez de la barra estándar de KDE, denominada Kicker. De esta popularidad nacieron, por lo menos varios proyectos – tenemos a nuestra disposición, entre otros: KXDocker, KSmoothDock, KoolDock y KlearDock así como unos temas de docker para SuperKaramba. Me da la impresión de que el proyecto SuperKaramba es algo menos cómodo que su pariente próximo GDesklets destinado al entorno GTK (a pesar de que este segundo surgió más tarde). Por esta razón nos concentraremos en aplicaciones independientes que ofrecen barras de acoplamiento. Desgraciadamente, a pesar de la gran selección ninguno de ellos es perfecto. La ventaja es que la instalación es relativamente simple: es suficiente descomprimir fuentes y dar tres comandos estándar ./configure, make, make install. Algunos de ellos son accesibles también en paquetes para las distribuciones populares de Linux. Ejecutamos los acoplamientos con el comando que constituye a la vez su nombre. Las diferencias entre todos ellos son muy pequeñas aunque pueden decidir sobre la selección de uno de ellos.
KSmoothDock sabe funcionar de dos modos: normal y parabólico. El modo normal se parece mucho en cuanto al comportamiento a una barra normal; solamente aumenta los iconos al moverlos con el cursor del ratón. En el segundo modo la barra se extiende (al mover con el cursor en algún icono) y aumenta no sólo el icono seleccionado sino que también (en menor grado) los iconos vecinos lo que da un efecto de onda en la barra de tareas. Esto parece muy bonito, aunque con un empleo frecuente parece poco práctico, por lo tanto, una gran ventaja de KSmoothDock es la posibilidad de conmutar entre los dos modos. Además, el acoplamiento ofrece, entre otros, reloj, iconos de escritorios virtuales y la posibilidad de avisar sobre el cambio del estado de la ventana desplegada hacia la barra (en la práctica esto importa cuando se trata de las ventanas de mensajeros y avisos sobre nuevo mensaje). KSmoothDock ofrece también muchas opciones más, todas accesibles al hacer clic con el ratón derecho en la barra y seleccionar la posición Editar Preferencias. Podemos añadir y eliminar las aplicaciones accesibles del acoplamiento por medio de la opción Edit Quich Lauch Menu. El cambio del modo se realiza al seleccionar la posición Switch to Parabolic/Normal Zooming Mode. Merece la pena considerar KoolDock; funciona tan sólo en modo parabólico, sin embargo, tiene muchas más opciones de
entornos gráficos de trabajo
configuración. Como único acoplamiento que conozco posee la posibilidad de añadir la bandeja del sistema (lo que es muy importante cuando queremos librarnos de Kicker). Desgraciadamente, la bandeja es, por el momento, una opción experimental y no funciona de manera estable. Además, KoolDock posee muchas opciones que son accesibles también en KsmoothDock según los antes mencionados avisos del estado de la ventana minimizada. KXDocker tiene un aspecto totalmente diferente al de los dos anteriores por su transparencia. Como único se ejecuta junto con el icono de la bandeja del sistema, algo que puede ser irritante porque, cuando queramos, además, emplear aplicaciones como Kompose y Katapult (descritas en la siguiente parte del artículo), nos faltará espacio. El siguiente de sus defectos es su interfaz de configuración poco intuitiva. Por lo tanto, si no te ha atraído a ti, Lector, el aspecto del acoplamiento, es mejor elegir una de las anteriores. La barra de acoplamiento menos interesante es KlearDock. Surgió como reacción a la muerte del proyecto KsmoothDock; desde hace más de un año no ha cambiado nada en KlearDock, por lo tanto, ofrece muchas menos opciones y, en cualquier aspecto puede ser sustituida por KSmoothDock. Cuando ya nos hayamos decidido por uno de los acoplamientos, queda un problema más por resolver, ¿qué es lo que hay que hacer con la barra original de tareas de KDE? Simplemente, podemos esconderla por medio del botón de despliegue a los lados (cuando el botón no existe podemos pulsarlo al hacer un clic del ratón en la barra y seleccionar Configurar panel->Disposición->Ocultación-> Mostrar botón derecho de ocultación del panel).
Figura 3. Katapult puede gustarles no sólo a los aficionados del aspecto de los ordenadores Macintosh
www.lpmagazine.org
25
entornos gráficos de trabajo
Figura 4. KSmoothDock es una de las posibles opciones para seleccionar
No es la solución del problema, ya que habrá que hacerlo con cada ejecución de KDE. A algunos les gustaría desactivarlo completamente: podemos conseguirlo creando en el directorio principal el directorio .kde/share/autostart/, y en este el archivo panel.desktop con el siguiente contenido: [Desktop Entry] Hidden=True
Kicker no aparecerá con la siguiente ejecución de KDE. Lo peor de esta solución es que junto con Kicker perdemos acceso al menú KDE, por lo tanto, este paso es recomendable sólo para aquellos usuarios que estén decididos a no emplearlo. La mejor solución es convertir Kicker en la barra superior, así como en Mac OS X sobre el cual hablaremos en la siguiente parte del artículo.
Kompose
Kompose es una aplicación inspirada con la Expose de Mac y ayuda mucho, sobre todo, a administrar muchas ventanas. Se ha denominado administrador de tareas de ventanas completas (fullscreen task manager). Esto significa que durante la mayor parte del tiempo se esconde en la bandeja de sistema para que, al apretar la respectiva combinación de teclas, mostrar en el escritorio las miniaturas de todas las ventanas abiertas, gracias a lo cual, el usuario tiene una mejor revisión
26
Linux+ 5/2005
de las ventanas que le son necesarias para el trabajo. Kompose es accesible desde hace un tiempo, entre otros, en Mandrakelinux en el repositorio Contrib así como en el árbol Portage Gentoo, por lo tanto, puede ser accesible también en muchas distribuciones populares de Linux en forma de paquetes preparados. Para instalar esta aplicación de los archivos fuentes, es suficiente desempaquetar el archivo (tar xjvf kompose-<versión>.tar.bz2) y, luego, dar los siguientes comandos: ./configure, make, make install (el último como root). Tenemos que tener instalada también la librería Qt en la versión, por lo menos 3.2 y KDE también en la versión, por lo menos 3.2. Después de instalarla, podemos ejecutar la aplicación con el comando kompose. En la bandeja del sistema aparecerá un icono blanco azul: ése es Kompose. Ahora apretamos la combinación de teclas [Win]+[Tab] y haremos que se muestren en modo de la pantalla completa las miniaturas de todas las ventanas abiertas. Al hacer un clic en una de las miniaturas volveremos al modo normal con la ventana activa. Kompose ofrece unas opciones de configuración; es suficiente hacer un clic en el icono de la aplicación en la bandeja y seleccionar del menú Configure Kompose... En la bandeja Behavior podemos decidir la manera de ordenar las ventanas al apretar la combinación estándar
de teclas [Win]+[Tab] (Default Layout). En la sección Autoactivate when mouse moves into podemos activar automáticamente la ejecución del modo de la pantalla completa Kompose, al mover el cursor del ratón en el rincón seleccionado de la pantalla. Cuando tengamos ya configurado el soporte para el módulo Xcomposite (responsable de las sombras y verdadera transparencia) en X.org, podremos activar en la sección Screenshots el soporte para este módulo en Kompose. Tenemos que recordar que el módulo puede funcionar de manera inestable y, además para trabajar cómodamente requiere reservas del ordenador. En las solapas Appearence y Layouts podemos configurar rasgos menores del modo de la pantalla completa, como las fuentes, colores etc. Al hacer un clic con el botón derecho del ratón en el icono Kompose en la bandeja y seleccionar Configure Global Shortcuts... podemos configurar las combinaciones de teclas que ejecutan el modo de la pantalla completa, de manera separada para la configuración fijada de la vista predeterminada, ventanas no ordenadas, ventanas agrupadas teniendo en cuenta los escritorios virtuales y ventanas agrupadas dentro de un sólo escritorio virtual.
Katapult
Katapult es, probablemente una de las pequeñas aplicaciones más útiles que imitan las funciones de Mac OS X. Se inspira en la herramienta Quicksilver y sirve para un acceso rápido y fácil a las aplicaciones y archivos en el directorio principal de usuario y solapas (bookmarks) del navegador. Por el momento, es un proyecto muy joven y a pesar de las posibilidades de buscar las solapas en Mozilla, Katapult los abre en Konquer. El autor, sin embargo, tiene planes ambiciosos relacionados con esta pequeña aplicación. Por el momento no he encontrado paquetes preparados de Katapult, aunque esto no quiere decir que no aparezcan. Así que tendremos que compilar esta aplicación nosotros mismos, algo que no es nada difícil; es suficiente, como en caso de Kompose, desempaquetar el archivo fuente y, luego, dar el comando estándar: ./configure, make y make install. Tenemos que recordar que Katapult se ha escrito para KDE en la versión 3.3.x o mayor. Con la ejecución de la aplicación con el comando katapult, en nuestra bandeja del sistema aparecerá el icono Katapult.
KDE y Mac OS X
Ahora podemos apretar la combinación de teclas [Alt]+[Espacio] – en el centro del escritorio aparecerá el cuadrado con el dibujo del icono del botón del menú en Kicker del conjunto actual de iconos (de manera estándar es la gran letra “K” con rueda dentada). Es entonces cuando podemos empezar a introducir el nombre de una aplicación, un archivo o directorio – cuando el fragmento introducido del nombre de manera unívoca indique un objeto, este será abierto en una aplicación predeterminada para él – archivo gráfico en Kuickshow, el directorio en Konqueror, el archivo de texto en KWrite, en cambio, cuando lo sea el nombre de la aplicación, simplemente se ejecutará. Otra vez, de manera muy parecida a Kompose, al apretar el botón derecho del ratón en el icono de la bandeja podemos seleccionar la configuración adicional para Katapult y definir nuestras propias combinaciones de teclas. Merece la pena prestar atención a que Katapult, por defecto, buscará las solapas de Mozilla y no de Firefox. Para cambiarlo, seleccionamos Configure Katapult...–> Catalogs–>Bookmark Catalog y luego, después de marcar la opción Import Mozilla Bookmarks fijamos el archivo con solapas conmutando la opción Use the following file: e introducimos la ruta. En la sección Program Catalog podemos decidir, entre otros, si queremos buscar los nombres de aplicaciones sin los iconos asignados (Ignore applications without icons).
del ratón (Tamaño->Diminuto). Luego, desactivamos consecutivamente todos los applets (Eliminar->Applet->Todo), botones de aplicación (Eliminar ->Botón de aplicación->Todo) y botones especiales (Eliminar->Botón especial-> Todo). Ahora tenemos vacía la barra superior, aunque tenemos que asimilarla a la barra de Mac OS X. Para ello, activamos el applet Baghira (Añadir->Applet–>Baghira) que mostrará el nombre de aplicación cuya ventana está activa. Ahora añadiremos los dos elementos restantes del menú de la barra por el estilo de Mac OS X. Apretamos con el botón derecho del ratón en el escritorio y seleccionamos Configurar escritorio. Luego, seleccionamos la solapa Comportamiento y en ella la sección Barra de menú en la parte superior de la pantalla seleccionamos la opción Barra de menú de la aplicación actual (Estilo Mac OS) y confirmamos los cambios. En la barra aparecerán los elementos adicionales del menú. Podemos añadir, además, (cuando tengamos esta necesidad) la bandeja del sistema: apretando con el botón derecho del ratón en la barra, seleccionamos Añadir–>Applet–>Bandeja del sistema. Asimismo, podemos añadir otros applets del conjunto cuando sean necesarios. Esta solución nos da la barra superior, a lo mejor un poco menos parecida a la original de MacOS X, que podríamos conseguir por medio del tema de SuperKaramba, sin embargo, mucho más práctica.
Barra superior
Otros suplementos
Nos queda tan sólo la cuestión de la barra superior para Mac OS X. A nuestra disposición tenemos dos soluciones: el tema OSX Menu para SuperKaramba y una cierta solución nativa interesante incluida en KDE. En el primer caso es suficiente descargar el tema, descomprimir y ejecutar mediante SuperKaramba. Sin embargo, tiene un gran defecto funcional : no posee la bandeja del sistema. Como ninguno de los acoplamientos puede desempeñar la tarea de una manera satisfactoria, tendremos que poseer la bandeja del sistema en la barra superior. Para ello lo mejor es emplear la solución preparada que se encuentra ya en KDE : – es suficiente con modificar Kicker. Primero arrastramos con el cursor la barra de KDE en la solapa superior de la pantalla y, luego la reducimos, apretándola con el botón derecho
Está claro que existen un montón de suplementos por el estilo de Mac OS X con los que podemos enriquecer nuestro KDE. Podemos, por ejemplo, emplear conjuntos de sonidos del sistema, emplear el conjunto de cursores del sistema ajustados al estilo de Baghira, o bien fijar splashscreen con algún motivo de Mac OS X. Muchas aplicaciones separadas que no están relacionadas con KDE tienen también sus carátula ajustadas con el aspecto al sistema Apple – entre ellas se encuentran, entre otras, MPlayer y XMMS. Una parte muy importante del buen aspecto de un escritorio son, desde luego, los iconos – yo empleé un conjunto modificado de iconos Crystal SVG, ajustado a las necesidades de Mac OS X con la característica manzana azul en vez del icono con el símbolo KDE. Podemos encontrar un gran número de
entornos gráficos de trabajo
diferentes mejoras para nuestro entorno en el servicio KDE-look.org, entre las que se encuentran las capturas de pantalla de los escritorios de diferentes usuarios (incluyendo también a los aficionados de la estética de OS X) que nos describen los elementos con los que construyeron sus ordenadores de mesa.
Resumen
Incluso cuando no queremos convertir de manera radical nuestro KDE en Mac OS X, merece la pena interesarnos en las posibilidades de modificación que nos da nuestro entorno. Algunas conveniencias o mejoras a lo mejor formarán parte para siempre de KDE. Por el momento a mí me encantó la sencillez y la funcionalidad de Katapult y recomiendo esta pequeña aplicación a quiénes les gustan los efectos especiales en sus escritorios.
En Internet: •
• • •
• • •
•
•
•
•
•
•
KDE-look.org – servicio destinado al embellecimiento de KDE: http://www.kde-look.org/ Tema Baghira para KDE: http://baghira.sourceforge.net/ Proyecto Kompose: http://kompose.berlios.de/ Proyecto Katapult: http://sourceforge.net/projects/ katapult/ Proyecto KoolDock: http://ktown.kde.cl/kooldock/ Proyecto KlearDock: http://kleardock.sourceforge.net/ Proyecto KSmoothDock: http://kde-apps.org/content/ show.php?content=6585 Proyecto KXDocker: http://www.xiaprojects.com/www/ prodotti/kxdocker/main.php OSX Menu – barra superior como tema de SuperKaramba: http://www.xiaprojects.com/www/ prodotti/osxmenu/main.php Iconos Mac OS X por el estilo de Crystal SVG: http://personal.telefonica.terra.es/ web/ivanciko/crystalsvg.tar.bz2 Carátulas para MPlayer y XMMS por el estilo de Mac OS X: http://ryan.adeptit.com.au/ Conjunto de sonidos para Mac OS X: http://www.sagefire.org/index.php/ 2004/11/07/macos_classic_sound_ pack_v1_4 Cursores por el estilo de Mac OS X: http://kde-look.org/content/ show.php?content=13524
www.lpmagazine.org
27
herramientas de oficina
Revisión ortográfica de textos redactados Artur Pierściński
N
o cabe la menor duda que hay que revisar la corrección lingüística de los textos. Uno de los primeros programas que verifican la ortografía en documentos de texto fue el programa Ispell, elaborado en 1971 por R. E. Gorin, para el mini-ordenador PDP-10 en ensamblador. Luego se volvió a escribir en el lenguaje C y se amplió varias veces. Kevin Atkinson se ocupa, en la actualidad, del programa Aspell, que es una de sus versiones revisadas.
Instalación del programa Aspell
El diccionario se puede instalar desde los paquetes binarios preparados, que en la distribución Aurox 10.1 tienen el aspecto siguiente: # rpm -i aspell-0.50.5-9.4.aur.1.i386.rpm
DVD
En el disco Linux+ Live DVD se encuentran los programas descritos en este artículo.
si no se ha instalado durante la instalación del sistema. A continuación incorporamos los paquetes lingüísticos. En caso del español, hay que ejecutar el comando rpm -i aspell-es-0.51-9.3.aur.1.i386.rpm, si no usamos la distribución Aurox 10.1. De modo similar podemos instalar los diccionarios de otros idiomas. Si no disponemos de todos los paquetes necesarios, o de la parte necesaria, ,tenemos que instalarlos desde las fuentes. Para hacerlo, hay que descargar un archivo con el programa (aspell-0.60.2.tar.gz) y el archivo con definición del diccionario para un idioma determinado (para el idioma español es el fichero aspell-es-0.510.tar.bz2). Al principio, hay que descomprimir los ficheros fuentes desde los archivos: # tar zxfv aspell-0.60.2.tar.gz # tar jxfv aspell-es-0.51-0.tar.bz2
28
Linux+ 5/2005
A continuación, hay que pasar al catálogo con las fuentes del programa Aspell (con el comando cd aspell-0.60.2), en el que marcamos los configuración comandos que configuran y compilan el programa: # ./configure && make
Después de finalizar exitosamente la compilación, hay que instalar el programa con el comando make install, ejecutado con los derechos del administrador del sistema (root). ¡Ojo! Después de la instalación hay que ejecutar el comando ldconfig (también con los derechos del administrador). A continuación, de modo similar hay que preparar el diccionario ortográfico (con comandos ./configure && make) e instalarlo con el comando make install (obviamente como administrador del sistema).
Trabajar con el programa Aspell
La sintaxis del programa Aspell es la siguiente: # aspell [opciones] <comando>
Las opciones están relacionadas con el idioma (--lang = es para idioma español, --lang = en para inglés, etc.), tipo de documento revisado (p.ej.: --mode =tex para documentos con un texto formateado para el sistema TeX, --mode =sgml para documentos simples tipo SGML/XML etc.). Con estos comandos el programa Aspell realiza las operaciones determinadas. Para verificar la corrección del fichero con un texto redactado hay que usar el comando check fichero.tex. Si arrancamos el programa Aspell con el argumento help, se visualiza el listado entero de opciones y de comandos en este programa.
diccionarios en las herramientas de oficina
herramientas de oficina
anterior del diccionario Ispell, nos ayudará el script llamado ispell. Este script se encuentra en el paquete del programa Aspell y asegura la compatibilidad con el programa Ispell.
Verificación de ortografía en el paquete de oficina OpenOffice.org
Figura 1. Sesión interactiva con el programa Aspell
Podemos revisar la ortografía del fichero que nos sirve de ejemplo ficheroprueba.tex, que contiene el texto formateado en el idioma español, del modo siguiente: # aspell --lang=es --mode=tex check
S
fichero-prueba.tex
Con esto se inicia una sesión interactiva con el programa Aspell en el documento con el texto formateado para el sistema TeX. Su imagen se representa en la Figura 1. En la parte superior de la ventana se encuentra el texto revisado. Vemos que se realza el primer error ortográfico detectado. En la parte inferior de la ventana están las propuestas encontradas de corrección. Seleccionamos la adecuada presionando el número oportuno: en este caso son las cifras desde 1 hasta 7, y la forma correcta propuesta se halla bajo el número 2. Las letras hacen posible realizar operaciones determinadas, cuya descripción se halla en el Recuadro 1.
Figura 2. Botones que controlan los diccionarios en el paquete OpenOffice.org
Hay que comentar por separado el modo de agregar nuevas palabras (letras "a" y "l") al conjunto de palabras modelo. Se añaden al fichero .aspell.es.pws (por supuesto, si se trata de otro idioma existe un código correspondiente), situado en el directorio del usuario. Hay una dificultad práctica al colocar los modelos de todas las palabras en el diccionario básico. Varios grupos de profesionales han desarrollado sus propios vocabularios, lo que casi imposibilita la acumulación de todas las palabras existentes actualmente en circulación en un diccionario.
Otras aplicaciones que aprovechan el diccionario
El diccionario Aspell puede ser utilizado por otros programas aplicados. Si la aplicación se preparó para trabajar con la versión
Tanto en el editor de texto, como en la hoja de cálculo del paquete de oficina OpenOffice.org, los botones relacionados con el procedimiento de verificación del texto se encuentran a la izquierda de la ventana. Con el botón superior se empieza la revisión de la ortografía, por orden, a partir de la ubicación actual del cursor o en el fragmento del texto antes marcado. El botón inferior activa/desactiva la revisión ortográfica durante la escritura del texto. Las palabras consideradas erróneas se subrayan con un zigzag rojo. OpenOffice.org emplea los diccionarios Myspell, desarrollados como parte del proyecto Lingucomponent. Los modelos para idiomas distintos forman parte de la distribución fuente de este paquete (por lo menos en la versión 1.1.2). Por supuesto, podemos también instalar nuestros propios diccionarios. Podemos adaptar a nuestras necesidades el funcionamiento de los diccionarios en el paquete OpenOffice.org. Lo hacemos con Herramientas–>Opciones en la barra superior del menú. A continuación hay que escoger (Figura 3) Configuración del idioma–>Lingüística en la parte izquierda de la ventana. En la parte derecha hay un grupo de opciones que permiten adaptar el funcionamiento de diccionarios inclusive a unas necesidades muy específicas. Si tenemos un par de diccionarios instalados, p.ej. para el idioma polaco
Recuadro 1. Índice de las operaciones que se pueden ejecutar durante una sesión interactiva con el programa Aspell Letra
Operación
i (Ignore)
Ignorar palabra actual
I (Ignore all)
Ignorar todas las apariciones de palabra, empezando con la posición actual
r (Replace)
Cambiar palabra actual en una palabra introducida desde teclado
R (Replace ll)
Cambiar palabra y todas sus repeticiones a partir de la posición actual en una palabra introducida desde teclado
a (Add)
Agregar palabra actual al diccionario personal
l (Add lower)
Agregar palabra actual al diccionario personal, después de cambiar sus letras de mayúsculas en minúsculas
b (Abort)
Abortar la revisión ortográfica y rechazar los cambios introducidos
x (Exit)
Finalizar el trabajo del programa
www.lpmagazine.org
29
herramientas de oficina
Figura 3. Configuración de los diccionarios en el paquete OpenOffice.org
e inglés, podemos comprobar con facilidad qué diccionario se empleará en un momento determinado. Con este objetivo seleccionamos Herramientas–>Opciones–>Configuración del idioma–>Idiomas y seleccionamos el idioma en el listado en la sección Idiomas predeterminados para los documentos. Después de confirmar las modificaciones, de repente se revisará el documento con el diccionario nuevo. Asimismo, se puede revisar la ortografía en un par de idiomas a la vez. Para hacerlo, en Herramientas–>Opciones–>Configuración del idioma–>Lingüística marcamos la opción Revisar en todos los idiomas. Con esto, no se subrayará ni la palabra configuration (inglés), ni configuración (español). La revisión en todos los idiomas accesibles puede producir errores, así como también influir en la rapidez del funcionamiento de la aplicación. Es razonable limitar la revisión de ortografía sólo a unos idiomas empleados en el texto. Volvemos a Herramientas–>Opciones–>Configuración del idioma–>Lingüística y en la sección Módulos de idioma disponibles presionamos el botón Editar. En la ventana que se muestra, podemos determinar las opciones para revisar la ortografía en un idioma determinado. En la parte superior de la ventana hay un listado desplegado de idiomas. Abajo se visualizan los nombres de los módulos accesibles para un idioma determinado. Cuando los marcamos o desmarcamos con el ratón, los activamos o desactivamos. Después de desactivar el módulo de revisión de ortografía de un idioma determinado, las palabras en este idioma no se reconocerán, a pesar de la previa selección de la opción Revisar en todos los idiomas.. De este modo podemos, p. ej. desactivar la revisión de ortografía en el idioma inglés y activar la revisión en español y alemán.
30
Linux+ 5/2005
KWord, KSpread, KPresenter, KMail, ...
KWord (procesador del texto en el entorno KDE), KSpread (hoja de cálculo) y otras aplicaciones del paquete KOffice emplean el mecanismo interno de KSpell. Para usarlo, antes hay que instalar los programas Aspell/Ispell y sus diccionarios en el sistema. Además, hay que configurar cada aplicación del paquete KOffice. En el menú Preferencias seleccionamos preferencias para un programa determinado (p.ej. Configurar KWord.... para los procesadores de textos KWord). Se nos muestra la ventana de configuración en la que seleccionamos la pestaña Spelling. Según la aplicación que escojamos hay una cantidad mayor o menor de opcio-
nes relativas a los detalles de verificación de ortografía. En todos los casos hay que seleccionar la aplicación (ing. client) empleada por el mecanismo que verifica la ortografía KSpell y el diccionario del idioma en que redactamos el texto. Desde ahora, el modo de emplear el diccionario en aplicaciones de paquete de KOffice se parece al modo de emplear los diccionarios en otros paquetes de este tipo. Podemos activar la revisión de ortografía durante el trabajo (Herramientas–>Verificación ortográfica–>Verificar la ortografía automáticamente) u ordenar que se revise la ortografía (Herramientas–>Verificación ortográfica–>Ortografía...). En el primer caso el texto considerado erróneo se subraya con un zigzag rojo, y en el segundo tenemos la posibilidad de verificar de modo interactivo, como en el resto de aplicaciones (p.ej. en el paquete OpenOffice.org). Sólo el cliente del correo KMail posibilita la revisión de ortografía a petición.
Revisión de ortografía en el programa Mozilla y Thunderbird
En los programas Mozilla y Thunderbid también se puede controlar la lingüística de mensaje antes de mandarla. Éstos programas se han servido del proyecto Spellbound. Mozilla requiere el acceso a la Red con el objetivo de instalar los diccionarios adicionales. Se descargan si nos falta un diccionario particular para revisar textos
Figura 4. Ventana de configuración de diccionario ortográfico en aplicaciones de KOffice
diccionarios en las herramientas de oficina
Figura 5. Ventana de revisión de ortografía del cliente de correo Mozilla
en el listado de selección del idioma. Después de esta operación puede resultar necesario volver a arrancar Mozilla. En caso de que aparezcan otros problemas hay que intentar realizar el procedimiento anteriormente mencionado con los derechos del administrador. Los diccionarios en el programa Thunderbird se instalan con la opción Extensiones en el menú principal Herramientas. Si disponemos de un fichero preparado con el diccionario, podemos instalarlo seleccionando el botón Instalar, y a continuación el fichero adecuado. Podemos también instalar el diccionario del mismo modo que en el programa Mozilla.
La ortografía se verifica interactivamente en la ventana con palabras incorrectas detectadas. Podemos seleccionar la forma adecuada entre las sugerencias o agregarla al diccionario personal.
Trabajamos en Evolution
El paquete Evolution, desarrollado en la actualidad por la empresa Novell, es un representante de aplicaciones para trabajo colectivo. Además del organizador de tareas, calendario y otros módulos típicos contiene también un cliente desarrollado de correo electrónico. Junto con muchas funciones útiles, se implementó también la de revisión ortográfica por el
mecanismo Gnome-spell, que es parte del entorno GNOME. El modo de controlar la lingüística no es tan típico como en las aplicaciones antes descritas. En la ventana principal del programa Evolution, en el submenú Herramientas elegimos Configuración..., y a continuación activamos Preferencias del editor, en que pasamos a la carpeta Ortografía, situada a la derecha de la ventana (Figura 6). Indicamos el diccionario para un idioma particular. Si marcamos un par de diccionarios, podemos verificar la ortografía en un par de idiomas a la vez. Aquí también activamos/desactivamos la revisión de la ortografía durante la redacción del texto del mensaje. Se puede también verificar a petición. Los autores del programa han previsto esta operación, aunque el lugar de su activación es poco común. En el menú de la ventana principal de edición del texto hay que seleccionar el comando Editar y continuación Comprobar la ortografía... En resultado, se visualizará la ventana con sugerencias, con funcionalidades parecidas a las ventanas de paquetes descritos anteriormente.
En Internet: • •
•
•
•
•
•
Figura 6. Configuración del diccionario del paquete lingüístico Evolution
herramientas de oficina
•
Página principal del programa Aspell: http://aspell.net/ Página principal del programa Ispell: http://fmg-www.cs.ucla.edu/ fmg-members/geof/ispell.html Definiciones de diccionarios ortográficos españoles: http://ftp.gnu.org/gnu/aspell/dict/es/ Listado de diccionarios ortográficos de varios idiomas: http://fmg-www.cs.ucla.edu/ ficus-members/geoff/ ispell-dictionaries.html Página web del paquete OpenOffice.org: http://www.openoffice.org/ Página web del proyecto Lingucomponent de paquete OpenOffice.org: http://lingucomponent. openpffice.org/ Página web de diccionarios para programas Mozilla y Mozilla Thunderbird: http://dictionaries.mozdev.org/ installation.html Página web del proyecto Spellbound: http://spellbound.sourceforge.net/
www.lpmagazine.org
31
herramientas de oficina
GOCR – OCR para Linux Joerg Schulenburg
M
DVD
Las herramientas descritas se pueden probar en Linux+ Live DVD sin necesidad de instalarlo en el disco duro.
En el DVD
En el DVD encontrarás las aplicaciones descritas.
32
Linux+ 5/2005
ientras que los usuarios de Windows suelen obtener aplicaciones OCR que acompañan a los escáneres comprados, es mucho más difícil obtener una buena aplicación OCR para Linux. GOCR tiene la intención de resolver el problema. Esta es una herramienta del intérprete de comandos para el reconocimiento óptico de caracteres (OCR). Aunque GOCR sigue encontrándose en estado alpha, puede emplearse para la mayor parte de los trabajos de OCR reconociendo sus partes fuertes y débiles. Además, trata de integrar la funcionalidad de OCR a la manera de Linux, con lo cual, es universalmente integrable con los scripts de shell o con las interfaces gráficas de usuario a las que los usuarios de Linux se han acostumbrado. Su primera publicación se editó en el año 2000 como archivo fuente tarball de 76 kB. A medida que el archivo fuente tarball ha ido creciendo, hasta ahora a un tamaño diez veces mayor, ha crecido también la utilidad de la aplicación. Sin embargo, el usuario no debe esperar mucho de la versión actual de GOCR. Dependiendo de la calidad del modelo escaneado, la velocidad de reconocimiento de GOCR puede ser frustrante, mientras que, en este sentido, las aplicaciones conocidas de Windows demuestran un resultado excelente. Aún así, cuando uno sabe todos los secretos de GOCR, algunos problemas pueden resolverse y, si no, siempre podemos solicitar ayuda del autor. Por el contrario, una de las ventajas de GOCR es que es capaz de descifrar el código de barras.
GOCR no está afinado para la velocidad, por lo tanto, no trates de reconocer una página A4 con una resolución de 300dpi en un ordenador de 300 MHz PC, porque sería terriblemente lento.
Descarga
GOCR se halla en Sourceforge.net. El nombre del proyecto es JOCR, lo que se debe a cuestiones históricas. Este nombre estuvo ya reservado para otro grupo de proyectos en el momento de la primera edición de GOCR, que también se planificó para crear una aplicación OCR para Linux. La última versión oficial de GOCR que viene con la mayoría de las distribuciones es 0.39 y tiene más de un año. Generalmente, es una buena idea descargar el árbol de CVS de sourceforge descrito en http://sourceforge.net/cvs/?group_id=7147.
Instalación
Si has descargado el archivo tarball con las fuentes, haz de descomprimirlo con “untar” y, luego, deberás configurarlo y compilarlo con la siguiente secuencia de comandos: # tar -xzf gocr-0.39.tar.gz # cd gocr-0.39 # ./configure # make
Si todo va bien, encontrarás el archivo ejecutable en el directorio ./bin. En los sistemas Linux más antiguos, o cuando netpbm no puede enlazarse correctamente, tienes que añadir la opción --with-netpbm = no al comando configure.
GOCR
Esto desactivará el empleo de la librería netpbm y activará las rutinas internas pnm. Analiza también los binarios con ./bin/gocr -h. Si recibes un listado de opciones, es que la aplicación está funcionando. Ahora puedes cambiar a root y mover los binarios a la posición adecuada al introducir make install. Si tienes instalado el paquete transfig, puedes realizar otra prueba al ejecutar gocr examples/ font2.fig. Fig2dev, del paquete transfig, hace una imagen del archivo fig-file y GOCR realiza la conversión en ASCII. La salida debería ser un listado de grupos de caracteres. Cuando no te encuentras a gusto compilando fuentes por ti mismo, descarga el adecuado archivo binario rpm-file e instálalo con rpm -i gocr-XX.i386.rpm, o bien empleando la función de actualización rpm -U gocr-XX.i386.rpm.
ción favorita para escanear, que probablemente será Sane, XSane o Kooka. Selecciona el escaneo en gris. Los colores no se emplearán por GOCR y los escaneos blanco y negro no suministrarán probablemente suficiente información. Otras fuentes para imágenes de textos son las capturas de pantalla, las fotos, los convertidos ps y los documentos pdf. Los escaneos deberían tener una resolución de más de 200dpi. 300dpi, o más, es una selección buena. Los caracteres deberían tener una altura de 20 a 50 pixels después del escaneo. Una mejor resolución retardará de manera inmediata el tiempo de reconocimiento, sin embargo, normalmente no dará mejores resultados. Las imágenes de fax no son buenos recursos para GOCR y las capturas de pantalla son difíciles de manejar por GOCR cuando las fuentes son muy pequeñas. También puedes dar el comando make examples, dentro del árbol de fuente, para generar algunas imágenes en la ruta ejemplar. Antes de que escanees un montón de páginas, trata primero un pequeño ejemplo de unas líneas de texto para ver si GOCR funciona bien. Para este artículo, se ha generado un modelo muy simple al mostrar la página man del comando man en un fondo blanco, y al hacer la captura de pantalla empleando el comando import del paquete ImageMagick para guardar example1.gif.
Consigue escaneos
OCRing
Figura 1. Interfaz GOCR.tcl
Si tienes un escáner que funciona bajo tu sistema Linux, puedes utilizar tu aplicaListado 1. El paso 2 trata de comparar lo desconocido con caracteres conocidos # L02 best fit was 004e N dist= 7% i=1 w= 100% # list 2 patterns @@....@@
@@....@@
@@....@@
@@@...@@
@@@..@@@
@@@...@@
@@@..@@@
@@@@..@@
@@@@@@@@
@@@@..@@
@@.@@.@@
@@.@@.@@
@@.@@.@@
@@.@@.@@
@@.@@.@@
@@..@@@@
@@.@@.@@
@@..@@@@
@@....@@
@@...@@@
@@....@@
@@...@@@
@@....@@
@@....@@
@@....@@
@@....@@
S
Dentro de GOCR está la fuente que funciona independientemente del motor. Esto significa que no tienes porque entrenar a la aplicación para tipos especiales de fuentes. Está preparado para usar después de instalarlo. Cuando tu imagen es grayscan.jpg, por ejemplo, basta con introducir el comando gocr greyscan.jpg. Como siempre, la salida de texto va directamente a tu consola y, o bien, se puede enviar a los archivos, o bien, utilizarse como entrada en otras aplicaciones empleando envolventes. Al añadir la opción –f, obtenemos la salida en formatos TeX, HTML, UTF8, ASCII o XML. Estos formatos están destinados prácticamente son para los usuarios que quieren importar los textos a otras aplicaciones. Si has diseñado el texto, añade la opción -m 4, si no, GOCR ignorará por completo el diseño y la salida puede tener un aspecto raro. La salida de GOCR no
herramientas de oficina
Listado 2. Siguiente problema con la I # list shape 206 x= 73 225 d= 6 13 h=0 o=1 dots=0 0049 I
S
S S
# list box dots=0 c=I ac=(?) mod=(0x00) line=8 m= 0 5 12 16 r= 0 0 # list box char: I(99) [(98)
# list pattern x= 73 225 d= 6 13 t=1 1 @@@@@@<@@.... @@.... @@.... @@.... @@....< @@.... @@.... @@.... @@.... @@.... @@.... @@@@@@<-
contiene ninguna información de diseño en su vista normal. Los dibujos, cuando no están mezclados con otros campos de texto, vienen organizados de manera automática. Ahora, trataremos nuestra captura de pantalla ejemplar. Después de ejecutar GOCR, vemos que la mayoría de las capturas de pantalla se han convertido correctamente, sin embargo, la letra "M" se reconoce como una "N" y el paréntesis izquierdo como una "I". Otro problema es que el texto en amarillo se pierde por completo en la salida.
Resolvemos los problemas
Como GOCR sigue estando en estado de desarrollo, probablemente recibirás malos resultados inesperadamente. ¿Qué es lo que hacemos en este caso? El comando:
S
# gocr -v 39 example1.gif 2>out.err | tee out.txt
generará la salida detallada y dos archivos de imagen out20.bmp y out30.bmp en el directorio actual. Estas imágenes contienen una copia modificada de la imagen original. Todos los caracteres van rodeados por cajitas azules, las líneas de texto están marcadas por 4 líneas con puntos y las imágenes señaladas con dos líneas diagonales. Los caracteres no reconocidos están impresos en rojo, mientras que, los que
www.lpmagazine.org
33
herramientas de oficina
pueden no ser reconocidos con seguridad, están marcados en rojo suavizado. De esta manera, puedes ver por qué algunos ejemplos se reconocen tan mal. Si un carácter no es reconocido, es posible añadir este modelo a la base de datos. Para este caso, crea el directorio ./db y vuelve a ejecutar GOCR con la opción -m 130. Gocr invitará al usuario siempre que encuentre un carácter desconocido y guardará su modelo en el código perteneciente en una simple base de datos. En situaciones especiales, un filtro puede resultar útil para mejorar la velocidad de reconocimiento. Un ejemplo típico es un listado de números que deberían reconocerse. En este caso, la opción -C 0-9 provocará que sólo se encuentren 10 dígitos en la salida. La opción -C 0-9A-F hace lo mismo para 16 dígitos, que serán muy útiles en el protocolo de transmisión de datos de Internet (CPIP en la página http:// www.blug.linux.no/rfc1149/ ). Cuando veas que la reciente versión de CVS de GOCR hace una cosa estúpida con tu imagen original, envía el ejemplo al autor. Él siempre estará interesado en mejorar los algoritmos de reconocimiento. Con suerte, pronto editará una versión mejor del árbol CVS. Ahora, volvamos a nuestro ejemplo. La razón de que el texto amarillo se pierda es por la conversión en niveles de gris dentro de GOCR en un valor umbral calculado de manera automática. Si fijamos el valor umbral muy cercano al blanco añadiendo la opción -l 250, resolveremos el problema fácilmente. Sin embargo, ¿por qué no reconoce la "M"? Las opciones adicionales -v 39 (salida detallada) y -c IN (muestra de I y N) permitirán tener una visión más clara de lo que hace GOCR. El paso 2 del proceso de reconocimiento compara los caracteres no reconocidos con unos ya reconocidos que son los que fracasan en nuestro ejemplo (véase el Listado 1). El siguiente carácter similar para GOCR es la letra "N", con lo cual, aquí el reconocimiento funciona mal. Al desactivar el motor de comparación con la opción -m 8, prevendremos el mal reconocimiento y sólo tendremos que marcar la caja en rojo en la imagen de depuración out30.bmp. Para prevenir el mal reconocimiento de GOCR, podríamos añadir la "M" a la base de datos mediante la opción -m 130 y, de este modo, hacer un rodeo hasta resolver el problema algún día.
34
Linux+ 5/2005
Figura 2. Kooka empleó GOCR como motor OCR
Para el paréntesis izquierdo, vemos la salida del Listado 2, donde la tercera línea dice que el paréntesis izquierdo tiene una probabilidad de reconocimiento de un 98 por ciento, mientras que la probabilidad de I es de un 99 por ciento. Por tanto, el reconocimiento obviamente es malo y el ejemplo debería enviarse al autor de la aplicación junto con una breve descripción de lo que hemos hecho y de lo que ha salido mal. Como puedes ver, las imágenes más claras pueden dar resultados muy precisos. El escaneo real demuestra muchos problemas más y, a veces, fracasa completamente, mientras que sus equivalentes comerciales realizan su trabajo sin ningún problema.
Kooka utiliza los binarios, no será problema actualizar GOCR 0.39 editado con SuSE 9.0. Después de sustituir /usr/bin/gocr por la versión más reciente de CVS, Kooka funcionará con la versión actualizada, y por ello, OCR dará mejores resultados. Cuando haces clic en el botón OCR aparece una caja de diálogo. Reduce el nivel de grises de 160 a 0 para activar la detección automática GOCR. Asimismo, reduce el tamaño de polvo a un valor pequeño. Si no lo haces, se eliminarán algunos puntos pertenecientes a los caracteres. El ancho del espacio se detectará también automáticamente, si está configurado a 0 por Kooka.
Interfaces gráficas
GOCR está lejos de sustituir aplicaciones comerciales OCR. El autor quiere aumentar la velocidad de reconocimiento respecto a sus hermanos comerciales. El siguiente paso en el desarrollo será el cambio importante del motor de reconocimiento basado en pixels al basado en vectores, que no sólo mejorará la robustez del reconocimiento sino que también mejorará la velocidad de éste. También se creará una interfaz para la revisión ortográfica que empleará el listado interno de probabilidad de GOCR.
El paquete fuente de GOCR contiene una simple interfaz gráfica (bin/gocr.tcl), escrita en Tcl/Tk. Utiliza Xsane para escanear, GOCR (que usa el motor de OCR), Tkispell para deletrear y Xli para mostrar imágenes. El comando de previsión, así como muchas más opciones, pueden configurarse desde el menú Options/set_Options. Esta interfaz sólo tiene las funciones esenciales, sin embargo, soporta la mayoría de las opciones de GOCR. Más potente es la aplicación Kooka, producida por Klaas Freitag, que se distribuye junto con KDE. Yo comprobé SUSE 9.0 con Kooka 0.41. Kooka conoce las tres diferentes aplicaciones OCR (GOCR, KADMOS y OCRAD). Tienes que entrar en Settings/Configure_ Kooka/OCR para seleccionar GOCR con la aplicación OCR y reiniciar Kooka. Como
El futuro de GOCR
En Internet: ●
●
Del proyecto GOCR: http://jocr.sourceforge.net/ Obtenemos la versióPáginan reciente: http://sourceforge.net/cvs/?group_ id=7147
¡Acoge el pingüino! Sólo ahora, si te suscribes a Linux+ recibirás un original pingüino de peluche de una serie limitada, únicamente para los Lectores de la revista.
¡Pide suscripción!
UN RE
GALO
LiNUX+ por suscripción es más barata:
86 €
¡En cada número 2 DVDs! Si tienes preguntas, problemas o dudas, escribe a:
subscription@software.com.pl
En nuestra tienda virtual podrás adquirir todos los productos de la editorial Software-Wydawnictwo: shop.software.com.pl/es
Pedido Por favor, rellena este cupón y mándalo por fax: 0048 22 860 17 71 o por correo: Software-Wydawnictwo Sp. z o. o., Lewartowskiego 6, 00-190 Varsovia, Polonia; e-mail: subscription@software.com.pl
Nombre(s) ......................................................................................... Apellido(s)........................................................................................ Dirección ......................................................................................................................................................................................................... C. P. ...................................................................................................
Población, provincia ........................................................................
Teléfono ............................................................................................
Fax ....................................................................................................
E-mail ................................................................................................ Suscripción a partir del N° ..............................................................
Precio de suscripción anual Absender-Daten de Linux+: 86 € Realizo el pago con: □ tarjeta de crédito nO
Válida hasta
□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN: ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM Deseo recibir la factura antes de realizar el pago □
Fecha y firma obligatorias:
CVC Code
entrevista
Entrevista con Judd Vinet, líder del proyecto Arch Linux Krzysztof Krawczyk: ¿Puedes contarnos como empezó tu aventura con Linux y más tarde, con Arch? Judd Vinet: Mi exploración del mundo Linux comenzó en 1998. Desde siempre he buscado maneras de modernizar mi ordenador y, al mismo tiempo, de aprender nuevas cosas sobre él. Linux es muy atractivo de este punto de vista. Empecé con Red Hat, después probé Mandrake y Debian para, al final, decidirme por Slackware a por su simplicidad y transparencia. La única cosa que me hacía falta era un sistema de administración de paquetes, así que me concentré en PLD, que utilizaba para ello Apt-get (y rpm). Aunque me gustaban Apt-get y la estructura de la PLD, pronto me di cuenta de la excesiva modularidad de los paquetes – por lo menos para mi gusto. Además, las dependencias demasiado restrictivas no me permitían modelar el sistema como yo quería, así que abandoné PLD y pasé a Crux, que me ofrecía mayor transparencia y simplicidad. Sin embargo, no estaba equipada con un administrador de paquetes capaz de resolver dependencias. Per dijo que no pensaba introducir funcionalidades de este tipo, así que empecé a crear mi propia distribución Linux. Adopté varias reglas utilizadas en Crux, pero escribí mi propio administrador de paquetes y traté de hacerlo lo más eficaz posible, sin renunciar a la elegancia que caracteriza a las distribuciones sencillas. KK: ¿Cuantas personas desarrollan/ colaboran con Arch y cómo organizáis vuestro trabajo (repartición de tareas)? JV: Nuestro equipo cuenta con unas 15 personas. Actualmente funcionamos como un grupo de estructura bastante plana, o sea, cada uno se encarga de las
36
Linux+ 5/2005
tareas que le parecen interesantes. La administración de paquetes tiene por lo general la prioridad más alta. Por otro lado, Arch se está desarrollando, y el equipo tiene que desarrollarse también. Actualmente estamos discutiendo como podemos reorganizar nuestro trabajo y los proyectos para que sea más fácil planear y comunicarnos entre nosotros mismos. Hasta ahora, estas discusiones han sido muy efectivas. KK: ¿Qué nos puedes decir sobre la administración de paquetes en Arch? JV: En Arch Linux tenemos Pacman. Empecé a escribir Pacman y A crear Arch al mismo tiempo, y por eso los dos proyectos se desarrollaron juntos y comparten las mismas reglas generales, como la transparencia y el control. El formato de paquetes es sencillo: son archivos tar comprimidos que contienen diversos ficheros con los datos utilizados por Pacman. Gracias a la utilización del sistema de ficheros, Pacman puede controlar el estado de repositorios remotos e instalar nuevos paquetes (con sus respectivas dependencias) con un simple comando. Se encarga igualmente de velar por la actualidad del sistema, descargando las actualizaciones de paquetes cuando éstas aparecen. Una de las mayores ventajas de Arch es la de estar siempre al corriente: en vez de realizar grandes actualizaciones cada vez que aparecen nuevas versiones del sistema, éste es modernizado continuamente, a medida que nuevos paquetes van apareciendo. Esto significa que basta instalar Arch una sola vez. No hace falta ninguna gran actualización del sistema. Además de Pacman, tenemos ABS – el Arch Build System. Se trata de un sistema muy sencillo que sirve para
crear nuevos paquetes o modificar los ya existentes. Los usuarios de FreeBSD pueden notar un cierto parecido con el sistema de portes, y los de Crux inmediatamente descubrirán las semejanzas. En práctica, cada paquete es definido por un fichero PKGBUILD que contiene todas las informaciones necesarias para construir un paquete completo. Se trata de datos tan evidentes como nombre, versión y lugar de descarga, así como las sumas MD5 de los ficheros fuente y la función build(), responsable de la compilación y de la instalación correcta. KK: ¿Porque la distribución para i686 se ha optimizado? JV: Arch es una distribución bastante joven, y en el momento en que apareció, la arquitectura i686 ya se estaba poniendo vieja. Los usuarios de la sociedad Arch trabajan con portes; por lo que sé, existen portes para i586, x86-64 y PPC. KK: ¿Qué opinas sobre las demás distribuciones, p. ej. Debian, Slackware, Fedora, Gentoo y SUSE?
Entrevista con Judd Vinet
JV: Pues nunca he utilizado Fedora, Gentoo ni SUSE. Debian era bueno, pero como yo era un usuario audaz, me interesaban los paquetes más actuales. Me gusta mucho la distribución Slackware, porque siempre supone que el usuario sabe qué es lo que quiere hacer, incluyendo la configuración y las cuestiones de paquetes. Yo lo valoré mucho. En realidad creo que la experiencia con otras distribuciones ha sido muy buena para mí. Hasta ahora, Arch ha logrado con éxito adoptar lo mejor de otras distribuciones, así que de haber yo tenido una experiencia más amplia, mayores habrían sido las ventajas para Arch. KK: ¿Es Arch un sistema para estaciones de trabajo o una plataforma sencilla de servidor? ¿Cuál es su finalidad principal? JV: Puede ser uno y otro. Gracias a su simplicidad, Arch es una distribución muy elástica. Yo la estoy usando tanto en estaciones de trabajo como en diferentes servidores. KK: ¿Hay alguna sociedad comercial con influencia en el desarrollo de Arch? JV: No. Arch no genera muchos ingresos ni tampoco estamos patrocinados por ninguna empresa externa. En consecuencia, respondemos por nuestro trabajo únicamente ante nosotros mismos y ante la comunidad. KK: ¿Qué influencia tiene la cuestión de las patentes en el desarrollo de Arch? ¿Qué opinas tú sobre ellas? JV: Las patentes de software no influyen mucho en el desarrollo de Arch. Dentro de poco vamos a agregar a los paquetes informaciones relativas a la licencia. Gracias a ello, los usuarios podrán elegir la licencia que prefieran. En lo que a patentes se refiere... Definitivamente no soy experto en asuntos legales (la ley me interesa únicamente en cuanto me permite conocer las reglas que no puedo infringir), pero como programador considero que debo tener derecho a la protección de mis obras y eso es lo que me garantizan los derechos de autor. Por otro lado, creo que las ideas no pertenecen a esta categoría. Si escribo un programa para que realice una tarea concreta, todos deben tener derecho a crear una herramienta original con el mismo objetivo, sin que con ello viole las condiciones de una patente. KK: ¿Qué problemas encontraste durante el desarrollo de Arch? ¿Cómo los solucionaste?
JV: A veces, para el líder de un proyecto es difícil mantener el equilibrio entre sus propias necesidades y esperanzas y aquellas de los desarrolladores y usuarios. El líder debe tomar en cuenta todas las opiniones, y evaluarlas de acuerdo a sus propios conocimientos y experiencia, la historia y su importancia para el proyecto. Todo considerado, la solución sigue dependiendo de las decisiones que alguien – por regla general yo – tiene que tomar, aunque a veces puedan no gustarles a todos los demás. Otra cosa problemática en un gran proyecto es el tiempo que éste requiere, particularmente cuando el trabajo dedicado al proyecto no ayuda a pagar las cuentas. A medida que se desarrolla el proyecto, crecen las necesidades relativas a la organización y a la delegación, así que uno pronto se da cuenta que está pasando la mayoría del tiempo administrando y planeando, y no dedicándose al propio trabajo. Como programador joven, me gusta analizar código y depurar sus efectos, por lo que tengo que mantener un equilibrio entre la supervisión y la programación. KK: Muchos usuarios se enfrentan - o se enfrentarán alguna vez – al problema de elegirde una distribución apropiada. ¿Por qué vale la pena elegir Arch en lugar de otra distribución popular de Linux (Mandrakelinux, Fedora, SUSE, Gentoo o Debian)? JV: Generalmente nunca obligo nadie a usar Arch Linux. Yo le cuento a la gente qué es lo que me gusta en Arch, y por qué esta distribución ha alcanzado la mayoría de los objetivos que me fijé cuando comencé a trabajar en ella. Luego los invito a probar cuando tengan tiempo para que puedan evaluar el sistema por sí mismos. Hasta ahora, este método ha funcionado bastante bien: una gran parte de los usuarios de Linux que han probado Arch se han quedado con él. Si cuentas con un par de años de experiencia con Linux y sientes un deseo insaciable de no sólo utilizarlo, sino también comprender cómo y por qué funciona, ¡échale un vistazo a Arch! No es matemática superior, aunque carece de la abstracción que introducen las herramientas gráficas de configuración que oculta la naturaleza de un verdadero sistema operativo Linux/UNIX. Existen varias razones por las que vale la pena darle a Arch una oportunidad...
entrevista
Si te gusta meterle mano a tu sistema, si eres un aficionado de FreeBSD, si quieres descansar de las distribuciones basadas en fuentes, si eres administrador de varios servidores y quieres poder mantenerlos actualizados fácilmente, si buscas una manera sencilla de manejar una cantidad de paquetes no estándar... Podemos alargar bastante la lista. KK: Arch es actualmente una distribución de Linux bastante popular (noveno lugar según distrowatch.org). ¿Sientes el peso de tal responsabilidad? JV: En efecto, me siento obligado por la comunidad Linux a seguir llevando este proyecto en la dirección justa, aunque no pienso mucho en la popularidad. Me alegra mucho que tantos usuarios de Linux compartan mis ideales. Cuando empecé me preguntaba si Arch lograría captar alguna atención, dado que la mayoría de la gente prefiere distribuciones amigables, como por ejemplo Mandrake. Por otro lado, la gran parte de nuestros usuarios utilizaban antes Slackware o Gentoo. KK: Me pregunto cuál será el siguiente paso para Arch. ¿Para cuando podemos esperar la versión 1.0 (o 0.8) y en qué se concentrará? JV: Hemos decidido que la versión 1.0 no contenga muchas diferencias con respecto a la versión 0.9. Se tratará simplemente de una versión sucesiva, aunque mejorada. Como no podemos ofrecer una edición/instrucción de Arch Linux en caja, la distribución tiene que brillar por el propio software. En lo que concierne a nuestros siguientes pasos, estamos planeando cierta reorganización dentro de las comunidades de desarrolladores y de usuarios, así como la creación del Arch User Repository (AUR) que permitirá a la comunidad extender libremente la lista de paquetes, soslayando el punto flaco constituido por el - relativamente pequeño - grupo de desarrollo. No nos quejamos por falta de trabajo. KK: Gracias por el tiempo que nos has dedicado. JV: No hay problema. Gracias.
En Internet: •
El sitio Web oficial de Arch Linux: http://www.archlinux.org/
www.lpmagazine.org
37
software aktualności
KDE
ImgSeek
– visor avanzado de imágenes Witold Kieraś
K
uickshow es un visor de gráficos estándar en KDE. Se dice que está muy mal elaborado y que es poco práctico. Sobre todo es difícil administrar con él grandes recursos. Lo atractivo o lo malo de la creciente popularización de la cámaras digitales es la acumulación de cantidad enorme de fotos en discos duros, no importa que sean buenas o no, o que sirvan a alguien. En los tiempos en que, cada vez que sacábamos una fotografía, y teníamos que pagar por cada impresión, nos moderábamos todos a la hora de hacer fotos. Hoy, cuando disponemos de una cámara digital, hacemos fotos de todo y de todos, y sin duda con muy poca frecuencia usamos el botón [Delete]. Así, tenemos amplias colecciones de fotos digitales y es difícil encontrar en ellos una foto determinada. En este artículo voy a describir el programa ImgSeek, cuyo objetivo es resolver este problema.
Instalación
ImgSeek ha sido escrito en Python, que es un lenguaje de script cada vez más popular, por eso no tenemos que compilar nada. No obstante, necesitamos el intérprete Python, que en la mayoría de distribuciones se halla en el paquete python (es posible que ya haya sido instalado en el sistema). Además, necesitamos una librería PyQt – por lo general se encuentra en el paquete pyqt. Está presente en la mayoría de distribuciones de Linux, pues debe hallarse en los discos de instalación o en unos repositorios de redes estándar. Necesitamos también la librería misma Qt en la versión 3.x (desde luego si ya tenemos KDE instalado, tenemos también esta librería), y su paquete developer (con sufijo devel). El autor recomienda también la instalación del programa mageMagick junto con los ficheros tipo developer, así como también con PIL, o sea Python Image Library. Para instalar ImgSeek desde los fuentes, tenemos que descomprimir el archivo con el comando tar xjvf imgSeek<versión>.tar.bz2, y a continuación en el directorio recién creado, como root realizar el comando ./install. El script de instalación
38
Linux+ 5/2005
Figura 1. Ventana principal del programa
copiará los ficheros en unos directorios determinados en el sistema y con esto el proceso de instalación terminará. Arrancamos el programa con el comando imgSeek (nota: es importante poner la mayúscula S en el nombre).
Administración con colecciones
Cuando activamos el programa por primera vez, en nuestro directorio principal, se creará un directorio oculto .imgseek/, y en este directorio, el fichero img-db.iqd, en que se guardarán todas las informaciones sobre colecciones que se agreguen. La ventana del programa está dividida en tres partes: a la izquierda tenemos los árboles de colecciones (de grupos definidos – por ahora no hay ninguna), y la derecha está dividida en las partes: superior e inferior. En la parte superior, después de agregar las fotos a la colección, seguirán apareciendo las miniaturas (thumbnails) de todos las imágenes del grupo seleccionado en el árbol. La parte inferior está destinada para visualizar las fotos indicadas en la ventana de miniaturas. Sobre el árbol de grupos, a la izquierda,
tenemos un par de pestañas de trabajo. Para agregar nuevo grupo de imágenes, pasamos a la pestaña Add, en que agregamos la ruta a los ficheros. Podemos usar el botón '...', para ojear los recursos locales. Si marcamos la opción recursively, se agregarán todas las fotos del directorio indicado y de todos sus subdirectorios. Si hasta ahora no hemos creado ningunos grupos, podemos seleccionar la opción Create group name automatically – entonces los recursos se colocarán en un grupo cuyo nombre es la fecha actual. Siempre podemos cambiar este nombre, haciendo click en la pestaña Browse–>Groups con el botón derecho del ratón y seleccionando la opción Rename group. Asimismo, podemos crear un grupo pasando a la pestaña Browse–>Groups, haciendo click en el árbol con directorios a la izquierda con el botón derecho del ratón y seleccionando el el menú contextual New group. Además, podemos filtrar los recursos que agregamos, eliminando los ficheros en cuya ruta de acceso se encuentra una serie de determinada de signos (Ignore files with this string on their path), demasiado pequeños (Ignore files smaller than), con una resolución
KDE
demasiado baja (Ignore files with a dimention smaller than) o los que tengan una extensión no deseada (Ignore files with these extensions). Podemos también ajustar unas opciones de menos importancia: por ejemplo el programa puede emitir el sonido que comunica que se ha terminado el proceso de agregar las fotos a la colección (si agregamos muchos ficheros con una resolución alta, puede tardar un momento). Al final, presionamos el botón Add! y esperamos al fin de agregación de ficheros. De este modo, podemos añadir unos recursos desde varios sitios, y luego administrar con ellos como nos guste en la pestaña Browse–> Groups, cambiar sus nombres y mudar las imágenes entre grupos (basta arrastrarlas con el ratón).
Búsqueda
Ahora, podemos ocuparnos con una función principal y la más interesante de ImgSeek, es decir, empezar buscar las imágenes en la colección. En la pestaña Browse hay cuatro subpestañas, con que podemos ojear las imágenes en nuestro disco. Primera de ellas, Files, permite visualizar los directorios con gráficos en forma de árbol. A través de la pestaña Groups podemos ojear imágenes clasificados en grupos, en ImgSeek cada fichero pertenece a un grupo. Si no la hemos definido, el fichero se agregó de modo automático al grupo Orphan (huérfanos). En la pestaña System podemos visualizar el árbol entero de directorio de nuestro sistema. La última pestaña y la más interesante, Similarity, permite mostrar y agrupar las fotos de la colección segú su similitud. En el menú de despliegue By podemos escoger tipo de similitud: por colores (Color), por contenido (Content), por fecha de creación del fichero (Date) o por nombre del fichero (Filename). Después de seleccionar la similitud presionamos el botón Group! y esperamos hasta que se clasifiquen las imágenes. Después de buscar y clasificar, cada colección se representará a la izquierda de la ventana del programa con una de miniaturas de imágenes que formen parte de la colección. Cuando hacemos click en la parte superior derecha de la ventana, aparecerán las miniaturas de todas las fotos de este grupo. Podemos exportar estos grupos como grupos lógicos (especificados en la pestaña Groups), haciendo click en un botón pequeño con la imagen de la llave y del martillo (cerca del botón Group!). Si en las pestañas Files o Groups, hacemos dos clicks en una miniatura cualquiera de la foto, de repente pasamos a la pestaña Search–> by Image content, en la que se buscarán todas
las fotos con el contenido parecido y a la vez se determinará el porcentaje de la similitud con una imagen seleccionada. Desde la pestaña by Image content se puede acceder a dos pestañas más del nivel inferior: Import y Draw. A través de la primera podemos importar a la pestaña Search cualquier imagen del disco (y luego buscar en la colección unas imágenes parecidas a ella). La segunda nos permite esbozar de modo sencillo y esquemático el sistema de formas y de colores, y luego encontrar en la colección las fotos que cuadren con este modelo.
Otras herramientas
En el menú Tools hay unas herramientas interesantes, entre otros, una herramienta que permite que se cambien colectivamente los nombres de ficheros o otra con que se hace una demostración de diapositivas en la pantalla completa. Hay que recordar que muchas de ellas exigen que se defina el grupo de trabajo (work batch) – basta presionar el botón derecho del ratón en un recurso seleccionado (grupo o fichero singular) y seleccionar la posición Add to batch. Una de posibilidades más interesantes es la de crear galerías en Internet. En el menú Tools seleccionamos Create HTML album. A continuación, elegimos de qué grupo de trabajo vamos a crear el álbum. En la ventana siguiente, decidimos qué informaciones con así llamados metadatos (tamaño de fichero, descripción, tamaño de imagen) van a encontrarse en la galería. Al final decidimos qué tema usará ImgSeek para crear álbum (hay dos temas predeterminados: Acqua y Slides) y en qué lugar en el disco se grabará el álbum. Pasado un instante, ya se puede mostrar el álbum y ponerlo en la página web.
Resumen
ImgSeek en un programa interesante, destinado ante todo para administrar unas colecciones fotográficas grandes, aunque también puede resultar útil a las personas que acumulen gran cantidad de gráficos de otro tipo, p.ej. a los webmasters. Cuando lo probé por primera vez, tuve la impresión que tiene una interfaz poco cómoda y soluciones técnicas raras, que pueden producir confusión de usuarios principantes. No obstante, como siempre, en el caso de unos programas avanzados y estrechamente perfilados, lo que a la primera vista parece poco natural, con el tiempo resulta ser muy útil.
Noticias
ShowImg 0.9.4-1 Otro programa para mostrar los gráficos para KDE, alternativo a Kuickview, es ShowImg. En contrario a ImgSeek, descrito en el artículo principal en esta sección, no es estrechamente perfilado sólo para administrar colecciones de fotos: su objetivo más bien consiste en sustituir a Kuickshow que tiene poca fuerza en el trabajo de cada día con el sistema. Una de las novedades es plugin para Kipi (KDE Image Plugin Interface), es decir, unos mecanismos universales de procesamiento de gráficos, comunes para Digikam, KimDaBa, Showimg y Gwenview. http://www.jalix.org/projects/showimg/ http://extragear.kde.org/apps/kipi/ Katapult 0.2 Hace poco que se proyectó una aplicación pequeña para KDE con el nombre Katapult, inspirada con Quicksilver de Mac OS X. Su objetivo es facilitar el acceso más rápido a programas, pestañas, etc. Por ahora, su estado de desarrollo es temprano. Se ha creado el siguiente producto que ofrece funciones de MacOS X para KDE, que ya es una tendencia evidente ... http://sourceforge.net/projects/katapult Jogger Publishing Assistant 0.4.8 Jogger Publishing Assistant es una pequeña aplicación escrita en Python con el uso de la librería PyQt, que sirve para publicar las inscripciones en jogger, o sea, en un blog administrado desde el nivel del cliente de Jabber. En la nueva versión el autor hizo más fácil la configuración y eliminó las opciones innecesarias. Asimismo, se subsanaron los errores relacionados con la codificación de signos. http://jpa.berlios.de/ Trucos en KDE KDE tiene muchas opciones interesantes poco conocidas por los usuarios comunes de este entorno. En el sitio web de Newsforge hace poco apareció el artículo titulado KDE tips and tricks, en el que el autor muestra cómo aprovechar unas posibilidades interesantes en KDE. Podemos enterarnos entre otros, de cómo usar sombras de ventanas en KWin (asistente de ventanas en KDE), cómo crear atajos de teclado que ejecutan determinados comandos en el sistema, cómo mostrar por la pantalla aplicaciones escritas en GTK+ por medio de la biblioteca Qt, para que tengan mejor aspecto en KDE, y qué funciones interesantes tiene Konqueror. http://software.newsforge.com/ article.pl?sid=05/01/20/ 1822225&from=rss
http://imgseek.sourceforge.net/
www.lpmagazine.org
39
software aktualności
GNOME
Rhythmbox
– como iTunes para Linux Eugenia Loli-Queru
E
xisten muchos reproductores de música y de multimedia para GNOME, y muchos más para Linux en general. Rhythmbox es una de las aplicaciones “externas” para la plataforma GNOME que más rápido se desarrolla y que ya está incluida en muchas distribuciones.
Instalación
Cuando ya tenemos instalados Xine o GStreamer, la instalación de Rhythmbox es tan fácil como introducir ./configure; make; make install. Su aplicación hermana, Sound Juicer, descrita a continuación, requiere además la librería MusicBrainz. Es importante recordar que el número de formatos reproducidos por Rhythmbox depende de las extensiones instaladas para GStreamer o Xine: por ejemplo, cuando el módulo mp3 de GStreamer, Rhythmbox no está instalado, no será capaz de reproducir un archivo de este tipo.
Empleo
Lo primero, hay que cargar un poco de música. Con Rhythmbox lo podemos hacer de tres maneras distintas: al seleccionar el directorio con música, al descargarla mediante http (dando la respectiva dirección URL) y al leer un CD con música. La última opción requiere instalar Sound Juicer, del que hablaremos más adelante. Por defecto, Rhythmbox presenta la vista de la Librería (Library), una ventana de cuatro partes que muestra la fuente de música, el navegador de los artistas, el navegador de álbumes y el respectivo listado de canciones. Al seleccionar el artista, el listado Álbum se actualizará de manera automática, mostrando el listado de álbumes del artista dado, así como las canciones de los álbumes seleccionados. Luego, el usuario puede restringir el resultado de la búsqueda al seleccionar el álbum del listado que se va a reproducir. Además, es posible hacer una búsqueda más precisa utilizando el campo
40
Linux+ 5/2005
live searching, situado por encima de la vista Listado de reproducción (Playlist). En lugar de la barra de herramientas, Rhythmbox ofrece un gran espacio que incluye los botones rebobinar, reproducir/pausa y pasar, así como el nombre de la canción. A la derecha, encontramos el índice de progreso y la regulación de volumen. Además, en vez de la barra de estado, encontraremos las opciones al azar/repetir y las estadísticas del listado corriente; donde se encuentra también el índice de progreso, que, a diferencia del anterior, nunca cambia (es posible que se trate de un error). Basta con hacer doble clic en el título de la canción para empezar a reproducirla. Al hacer un clic con el botón derecho, accedemos a opciones como la eliminación de la canción, la navegación según el artista o el álbum, así como la opción “copiar”, prácticamente inútil, ya que la opción insertar no funciona. La ventana de las propiedades de la canción nos muestra el metatags de ésta, es decir, el título, el artista, el tipo, etc. La pestaña Detalles nos da la duración, la calidad de bits, la ubicación en el disco, el número de reproducciones y su evaluación. Es imposible, desgraciadamente, editar los metatags mp3/ogg, sin embargo, sí podemos cambiar la evaluación de la canción. Rhythmbox también nos permite escuchar las radioemisoras de Red definidas por separado (por medio de la determinación del nombre, del tipo y de la URL al uso), o bien, seleccionadas de las 10 preinstaladas. Los usuarios que compilaron la aplicación con la extensión iPod, en la vista Listado de fuentes (Source list) verán el icono de iPod. Esta extensión se emplea de la misma manera que la librería o que el listado de reproducción. Desgraciadamente, no hay manera de cargar las canciones en iPod, sólo es posible su uso como fuente. El usuario tiene la posibilidad de crear muchos listados diferentes para su repro-
ducción, por ejemplo, puede separarlos para blues, para música clásica o para música de baile. También puede cargar archivos como .pls del disco. La siguiente opción accesible es la creación del listado de manera automática: su ventana de diálogo permite determinar criterios como título/ género/artista/álbum/evaluación incluye/no incluye/es igual. Estos criterios pueden ser múltiples, además, es posible poner restricciones en el número máximo de canciones, así como en el tamaño del archivo. Una de las propiedades agradables de Rhythmbox es la opción de seleccionar una de las tres formas de su aspecto: normal, pequeño (todos los navegadores y las fuentes están escondidos) y el icono en el espacio de mensajes. En el modo de iconos se puede controlar la aplicación mediante el menú y mostrar u ocultar su ventana.
Extracción de música de los discos CD
El ripper de los discos CD llamado Sound Juicer es la aplicación hermana de Rhythmbox; coopera estrictamente con ella. Su ventana incluye el listado de pistas que se pueden extraer (después de montar el disco con música), así como unos campos
Figura 1. Ventana principal de Rhythmbox con la creación del listado automático de reproducción
GNOME
Figura 2. Las preferencias de Sound Juicer, y Rhythmbox en modo mini
que permiten introducir el título, el artista y el género cuando su descarga automática resulte un fracaso. Es posible también extraer todas las canciones del disco y su parte seleccionada. El panel de configuración de Sound Juicer permite al usuario seleccionar la unidad óptica, por medio de la cual se leerán los discos con música, el modelo de los nombres de los archivos guardados (por ejemplo, pista-álbum-artista o bien título-artista) así como el directorio final y el formato para la música grabada. Como estamos con los formatos de los archivos cargados, es necesario que el usuario prepare los perfiles necesarios por medio de la herramienta gnomeaudio-profiles-properties, algo que para muchos puede ser una novedad. Por medio de éste se crean los perfiles que informan a GStreamer de cómo se realizará la extracción; en el caso de ogg, por ejemplo, es necesario introducir el comando audio/x-raw-int,rate=44100,channels=2 !
S
vorbisenc name=enc quality=0.5
No es una manera demasiado amigable para el usuario. Por ejemplo, la creación del respectivo perfil para mp3 no será fácil para alguien que no tenga ganas de ocuparse de este tipo de detalles.
Defectos
Volviendo a Rhythmbox, conviene enumerar en este punto sus defectos. En este sentido, es
bastante visible la falta de un profundo análisis de su empleo, con lo cual, alguna de sus partes no tiene sentido; por ejemplo, al hacer clic con el botón derecho sobre la canción o sobre una radioemisora, éste señala la opción de eliminar y no de reproducir. Así pues, el menú da la impresión de no estar acabado. Tampoco hay forma de eliminar el género. Una vez, yo mismo creé un listado ejemplar llamado "rockl" en vez de "rock", luego, no era capaz de eliminar esta falsa inscripción. Asimismo, la falta de la posibilidad de editar el metatags (tags mp3/ogg) es otro de sus defectos. No obstante, sí es posible observarlos y, aunque dan la impresión de ser editables, esta opción es imposible. Por último, otro defecto es que la visualización no es soportada.
Resumen
Rhythmbox es una aplicación muy simpática, sin embargo, desde sus últimas versiones es puntualmente estable. Antes de empezar su inclusión en la distribución estándar de GNOME, será necesario elaborar un par de cosas. A pesar de ello, y especialmente teniendo en cuenta el número de gente que trabaja con ella, es muy prometedora. La futura versión 0.8.9 tiene que ofrecer muchas nuevas posibilidades, entre otras, el soporte de las cubiertas de álbumes, así como la grabación de CD con música. http://www.rhythmbox.org/ http://www.burtonini.com/blog/computers/ sound-juicer
Noticias
Cairo, nuevo motor gráfico en GTK+ El jefe del proyecto GTK+, Owen Taylor, ha anunciado recientemente la planificada inclusión del motor gráfico Cairo en la siguiente versión (2.8.0) de GTK+. Cairo es la librería de la gráfica vectorial planificada con la idea de mostrar e imprimir imágenes de alta calidad, de una manera parecida a Quartz Apple o a Avalon de Longhorn. Esto permitirá mostrar la independencia de la resolución en el empleo de OpenGL. Además, Havoc Pennington (Red Hat / freedesktop.org) ha descrito últimamente las posibilidades de elaborar una nueva idea de composiciones (theming) GTK+, gracias a las cuales los creadores de aplicaciones podrían conservar el aspecto de la aplicación como total y no sólo unos widgets. Esto recuerda a Avalon, así como al proyecto Fresco: sistema innovador de gráficos para Unix desde hace unos años. http://www.osnews.com/story.php? news_id=9609 http://log.ometer.com/2005-02.html Novell Hires XGL Developer XGL es el servidor X-server basado en Glitz, librería de la composición de la imagen. Glitz ofrece la composición con el método de Porter/Duff y la creación confidencial de las máscaras para los elementos geométricos básicos, incluyendo trapecios, triángulos y rectángulos. En conexión con Cairo, puede introducir Linux y GNOME en la siguiente generación de los sistemas desktop. David Reveman, creador de XGL, actualmente trabaja para Novella y continúa el desarrollo del proyecto. http://www.freedesktop.org/Software/ glitz Sabayon: compartición del trabajo del administrador de escritorios Sabayon es el primer gran proyecto de GNOME que tiene como objetivo facilitar el trabajo a las personas que administran los sistemas GNOME. Está destinado más bien a los administradores que a los usuarios. En cierto modo, es un compendio automático de los posibles cambios y opciones para introducir en el prototipo de las cuentas de usuarios, lo cual permitirá su inclusión en el perfil. Tiene en cuenta también los trucos necesarios en este momento, como por ejemplo, la modificación de las pistas de directorios escondidos en la configuración. De esta manera, Sabayon automatiza las tareas de administradores realizadas, hasta el momento, manualmente. http://www.gnome.org/~seth/blog/ sabayon/
www.lpmagazine.org
41
software aktualności
linuxfresh
Rosegarden
– aplicación avanzada para crear música Jean-Pierre Féval
R
osegarden es uno de mejores y más avanzados programas de tratamiento de audio para Linux. Aunque antes, en la línea 2.1, ahora denominada X11 Rosegarden, tuvo una interfaz poco cómoda, en la línea desarrollada en actualidad, a veces llamada Rosegarden-4, se solucionó este problema. Al principio hay que indicar que Rosegarden es accesible gratis, junto con el código fuente (bajo la licencia GNU GPL), pero también se halla en un paquete comercial Studio..to go!. Por eso, los usuarios que tienen interés en obtener ayuda por parte del editor, pueden tomar una decisión de comprar la distribución que se arranca desde CD, en un paquete completo de este software músico. El programa Rosegarden puede servir tanto a la edición de ficheros listos MIDI, como para cerrar unos ficheros nuevos. Podemos tratar el material MIDI de varios modos. Disponemos de: vista de pianola (Matrix Editor), listado de eventos y editor de partitura. Su manejo es muy cómodo: incluso un principiante está capaz de introducir las notas (podemos usar el ratón, el teclado, así como también el telcado MIDI ). En el último caso, se puede introducirlas en el tiempo real o nota tras nota. Es interesante, que junto con datos en el formato MIDI, Rosegarden soporte también las rutas en forma de ficheros audio. Para editarlos se emplea un programa exterior Audacity (u otro programa escogido por el usuario). Ya sabemos con que programa tenemos que ver, pues es tiempo para instalarlo. En la página principal del programa son accesibles tanto los códigos fuentes, como los paquetes binarios de la mayoría de distribuciones populares. Junto con el mismo programa, merece la pena instalar también un software adicional, porque al contrario podemos no disfrutar de todas las funcionalidades de Rosegarden. En el caso de la instalación
42
Linux+ 5/2005
desde los paquetes, una parte de software es absolutamente necesaria para instalarlo de modo correcto. Me refiero entre otros al servidor audio JACK, y a la librería LRDF. Necesitamos también las librerías Qt 3.x y KDE 3.x (por supuesto podemos activar el programa mismo en cada entorno gráfico). Antes de arrancar Rosegarden, debemos comprobar que se activó el servidor audio JACK (lo mejor con los derechos del mismo usuario que Rosegarden). El comando más sencillo, en que se emplee las opciones predeterminadas es jackd -d alsa. A continuación podemos arrancar Rosegarden con el comando rosegarden o seleccionando una opción determinada en el menú. Después de arrancar el programa, vamos a ver la ventana principal con el listado de rutas. Aquí podemos agregar unos segmentos con los datos MIDI y audio. Podemos cambiar a gusto su lugar
y modificar su tamaño con el uso de herramientas situadas en la barra superior. A la izquierda, podemos cambiar los parámetros del segmento. Si hacemos dos clicks con el botón izquierda del ratón en un segmento, éste se abrirá en la ventana del editor de partitura. Parece que los autores del programa dan mucha importancia a este componente del programa. Por eso, casa versión es mejor que la anterior. El manejo de este editor es muy fácil y funcional, gracias a unas barras con herramientas visibles y gracias a una interfaz familiar. Si queremos, podemos también agregar tanto los textos que describen cambios de ritmo, como las letras de las canciones. Podemos ver las notas en un pentagrama largo o mostrarlas en una o varias páginas del menú (menu View–>Layout Mode), que de verdad ayuda cuando queremos leerlas. Luego, podemos imprimir con facilidad la partitura, seleccionando en el menú File–>Print.
Figura 1. Podemos imprimir estas notas o cambiar a nuestro gusto la melodía
FRESH
Figura 2. Rosegarden cuidado por varios años sigue floreciendo cada vez más
Junto con el editor de la partitura, para modificar el contenido del segmento podemos usar la vista de pianola. Para hacerlo, después de seleccionar el segmento en el menú oculto bajo el botón derecho del ratón, elegimos Open in Matrix Editor. Si ya hemos abierto el editor de partitura, podemos seleccionar esta opción en el menú Segment–>Edit with. La vista de pianola, a lo mejor no es tan cómoda, como la inscripción en el pentagrama, pero es fácil acostumbrarse a ella, incluso si antes no tuvimos que ver con los secuenciadores MIDI. Si no disponemos del teclado MIDI, con ayuda del teclado de nuestro ordenador se introduce más rápidamente las notas en esta vista. Con las teclas podemos determinar el tiempo de duración de la nota [5] (nota entera), [1], [2] (blanca), [4] (negra), [8] (corchea), [6] (semicorchea), [3] y [0]. A continuación, con las flechas del cursor a la izquierda y a la derecha elegimos la posición en que se situará la nota. Ahora ya podemos usar las teclas [A], [S], [D], [F], [J], [K] y [L] para introducir nuevas notas. Si queremos escribir las notas una octava más alto, empleamos las teclas oportunas situadas en la fila superior (de [Q] a [R] y de [U] a [O]). De modo análogo, las notas una octava más bajo, escribimos con las teclas de la fila inferior (de [Z] a [M]). Las notas con sostenido escribimos reteniendo la tecla [Shift], y las notas con bemol, reteniendo las teclas [Shift] y [Ctrl]. Cuando se escribe una nota, el cursor de modo
automático se sitúa detrás de ella, y sin problemas podemos seguir escribiendo las notas siguientes. La última de las vistas accesibles es el listado de eventos. Podemos abrirla como la vista de pianola, pero esta vez seleccionando Open in Event List Editor. Es una vista destinada a las personas que conozcan bien el estándar MIDI. Además, los datos se colocan de modo bastante incómodo. Es óptima cuando queremos sólo perfeccionar un evento particular. Rosegarden permite no sólo crear y modificar los ficheros, porque con el uso de este programa podemos con facilidad unir unos ficheros separados en una totalidad. Basta con indicar el fichero después de seleccionar una posición adecuada en el menú File–>Merge. A continuación, nos queda decidir si los segmentos del fichero agregado tienen que unirse con el principio o con el final del fichero editado. Merece la pena recordar que aunque Rosegarden permite leer y grabar los ficheros MIDI, no soporta este formato para trabajar con los datos. Por esta razón, cuando grabamos los ficheros, la mejor solución consiste en emplear el formato propio de Rosegarden. En resultado, se guardarán varias informaciones, que se pierden durante el exporte al formato MIDI. La última versión de Rosegarden contiene ante todo las mejoras de errores detectados y las actualizaciones de traducciones. http://freshmeat.net/projects/rosegarden/
Noticias
Neveredit 0.8 Neverwinter Nights es uno de estos juegos que funcionan de modo estable bajo Linux, y al que podemos jugar largos días. Es más, junto con una aventura principal y de una diversión en la red, nos posibilita también participación en aventuras creadas por los aficionados del juego por separado. Neveredit es una herramienta que facilita creación o modificación de aventuras preparadas. Por eso, podemos editar los parámetros de: monstruos, objetos o puertas. Hay también un editor de scripts desarrollado, que soporta realización de la sintaxis o sangrados del código. En la última versión del proyecto que todo el tiempo sigue desarrollándose se introdujo la función de introducir nuevos objetos a los módulos, así como también el soporte correcto de signos internacionales excepto de ASCII. Asimismo, se subsanó un par de errores detectados. http://freshmeat.net/projects/neveredit/ EffecT V 0.3.10 Los propietarios afortunados de tarjetas de televisión o de cámaras de Internet soportados por Linux, deben interesarse por el programa EffecTV. Permite sobreponer en el tiempo real varios efectos sobre la imagen visualizada. Los usuarios de la consola PlayStation 2 se alegrarán, porque el programa funciona también con ella. Los efectos accesibles en el programa son muy distintos: podemos envejecer la imagen, hay efectos de invisibilidad, de llamas y de cambio del ritmo. En la última versión del programa se agregaron tres efectos nuevos: OpTV, NervousHalf i SloFastTV y se mejoró el funcionamiento del efecto AgingTV. http://freshmeat.net/projects/effectv/ Squid 2.5.STABLE8 El servidor intermediario Squid desde hace mucho no se ha ampliado con nuevas funciones, y sus actualizaciones se limitan a subsanar los errores. Con esta versión pasa lo mismo. Se subsanó el error que provoca 100% de gasto del procesador en el caso de consultas semicerradas PUT/POST y otros errores detectados. http://freshmeat.net/projects/squid/ KlamAV 0.12 KlamAV, es una aplicación auxiliar para popular programa antivirus Clam AntiVirus, destinada para el entorno KDE. Con esta aplicación se puede escanear tanto el correo entrante, como los ficheros en en el disco (de modo manual y de modo automático). Además, permite actualizar las bases de viruses. En la nueva versión se perfeccionó la interfaz. http://freshmeat.net/projects/klamav/
www.lpmagazine.org
43
software aktualności
linuxfresh
Inkscape
– programa para gráficos vectoriales Jean-Pierre Féval
I
nkscape es un programa para crear gráficos vectoriales, que usa el formato SVG estándar (Scalable Vector Graphics). Soporta las funcionalidades SVG, entre otros formas simples, rutas, textos, indicadores, clones, transformaciones, gradientes, agrupación y translúcidez (alpha blending). Además, Inkscape permite editar los nodos, soporta las capas, operaciones complejas sobre las rutas, nivelación del texto a la ruta, así como también la edición de SVG en XML. El programa tiene asimismo la funcionalidad de importe de unos formatos, como EPS, Postscript, JPEG, PNG, BMP o TIFF, y de exporte al formato PNG y a un par de formatos vectoriales. Gracias a una interfaz cómoda, es un programa para cada usuario. Puede servir tanto para crear unos gráficos simples (p.ej. una tarjeta postal de Navidad), iconos para consola, así como también un cartel con diseño complejo. Desde la página principal de Inkscape se puede descargar tanto las fuentes, como los paquetes RPM y SRC.RPM. La instalación
Figura 1. Primeros pasos con el programa
44
Linux+ 5/2005
del programa no ocasionará problema alguno. Durante el arranque(con el comando inkscape o desde el menú), se nos puede visualizar una advertencia, que algunas de las extensiones no se pudieron cargar. En el fichero ~/.inkscape/extensions-errors.log podemos encontrar unas informaciones específicas relativas a ellas. Si consideramos que necesitamos unas funciones desactivadas, probablemente tendremos que instalar un software adicional (p.e. Pstoedit en el caso del importe Postscript). Inkscape tiene unas funcionalidades bastante amplias. Por eso, hay muchos atajos de teclado. Por suerte, no tenemos que recordarlos todos. Si seleccionamos Help–> Keys and Mouse, se nos visualizará un listado con las actividades que podemos realizar en cada sección determinada con el uso del ratón y del teclado. Podemos desplegarlo libremente y ampliar, escogiendo las informaciones que nos interesen. En particular, es muy cómodo el uso del ratón con ruedecilla. Cuando movemos con la
ruedecilla, la imagen se despliega de modo vertical. Si retenemos la tecla [Shift], la ruedecilla desplegará la imagen de modo horizontal. En cambio, si retenemos la tecla [Ctrl], la ruedecilla nos servirá para ampliar y para reducir la imagen. Por supuesto, cada una de estas operaciones se puede realizar de maneras diferentes: por ejemplo con el botón central o derecha del ratón, o sólo con el uso del teclado. También es interesante la historia de ampliaciones. Con las teclas [`] y [Shift]+[`] podemos movernos atrás y adelante entre las ampliaciones siguientes. Merece la pena, familiarizarnos con todos los atajos de teclado, así como también recordar los empleados con más frecuencia, que acelerará de modo significativo nuestro trabajo con el programa. Las bases de uso del programa las podemos aprender de los tutoriales. Son accesibles desde el menú Help–>Tutorials. Gracias a los tutoriales, podemos conocer no sólo los secretos de creación de unas formas básicas, sino que también unas técnicas más avanzadas. Seguramente, tanto los principiantes, como los usuarios avanzados del programa, encontrarán unas informaciones interesantes. Entre sus varias posibilidades Inkscape ofrece las herramientas para la caligrafía. En la versión actual, los autores se enfocaron el la caligrafía occidental, porque en escritura árabe y china se necesita más bien un pincelito que una pluma. Desde luego, los mejores resultados se pueden obtener con el uso de tablet. No obstante si no disponemos de un equipo así, tenemos que contentarse con el ratón. Afortunadamente, por contrario a la caligrafía en el papel, en Inkscape podemos permitirnos el lujo de retirar y mejorar los movimientos hasta obtener un resultado satisfactorio. Después de seleccionar una herramienta de caligrafía ([Ctrl]+[F6]), en la barra superior se nos mostrarán unas opciones características de esta herramienta. Permiten modificar la anchura del pincelito,
FRESH
Noticias
Clam AntiVirus 0.83 Aunque por norma es difícil encontrar un virus en Linux, el sistema a menudo vigila el acceso a los ordenadores con otros sistemas operativos. El objetivo principal de Clam AntiVirus es la integración con servidores de correo. Por eso, los anexos de los mensajes se controlan en búsqueda de viruses y de gusanos. Además, en el paquete se halla un demonio multihilo, escaner activado desde la línea de comandos y herramienta de actualización automática. Para Clam AV se crearon varios segmentos de superposición gráfica que facilitan su uso. En la última versión se corrigió el problema con la estabilidad de clamav-milter/clamd, se mejoró el escaneamiento del correo, así como también se perfeccionó la detección de exploit MS05-002. http://freshmeat.net/projects/clamav/
Figura 2. En Inkscape podemos p.ej. crear íconos sobre la consola
su peso, el ángulo y otros parámetros. Estas opciones están descritas con pormenores en el tutorial Help–>Tutorials–>Inkscape: Calligraphy. Al principio, no cambiemos los ajustes e intentemos dibujar unas líneas y unas letras singulares. Podemos por ejemplo dibujar la letra L y el signo + (como en Linux+). Si estemos satisfechos con el aspecto de este signo, seleccionamos la herramienta para inscribir el texto (tecla [F8]). Escribimos un texto cualquiera, (p.ej. Linux+ mencionado). Ahora seleccionamos una herramienta para marcar ([F1]). Indicamos una de las líneas de nuestra letra L, y cuando la marcamos, retenemos la tecla [Shift] e indicamos la inscripción creada. De este modo, tenemos dos objetos marcados. Si queremos que la inscripción se ajuste a la línea, seleccionamos en el menú Text la opción Put on Path. Como vemos, basta hacer unos clicks para crear una inscripción bastante proporcionada. La última versión del programa contiene ante todo la corrección de errores, pero junto con ellas se agregaron también unas funcionalidades nuevas. La nueva opción en el menú Trace Bitmap – Multiple scanning es muy útil. Hay tres modos para realizar el escaneo múltiple: según claridad, color o de modo monocromático (funciona como la de color, pero el resultado se transforma a la escala de grises). En efecto del escaneo múltiple, obtenemos un grupo de rutas creadas conforme con los criterios indicados por nosotros. Gracias a esto, podemos transformar con más eficacia los bitmapas
(incluso de color) a la forma vectorial. La siguiente función es Tile clones en el menú Edit. Permite crear fácilmente todos los tipos de modelos simétricos, ornamentos, dibujos y otros. Junto con unas transformaciones estándar, podemos agregar nuestras propias modificaciones de tamaño, ángulo, rotación o incluso de transparencia. Los modelos se hacen de los clones del objeto original, por eso podemos modificarlo y el modelo se actualizará de modo automático. Por esta razón, lo más cómodo, es hacer unos modelos sobre la base del grupo. Además, se implementó nuevo comando Invert Selection (soportada con la tecla [!]). Permite desmarcar la capa corriente. Es posible también usar una opción con que se desmarca todas las capas visibles y desbloqueadas. Entre otras novedades se destaca la posibilidad de adaptar las unidades predeterminadas para cada documento, mejor soporte de extensiones, (se informa al usuario si hay extensiones que no cargadas), posibilidad de modificar la vista de los iconos y mayor cantidad de informaciones visualizadas en la barra de estado. Asimismo se subsanaron varios errores, junto con los más críticos, que producen la salida de memoria o la sobrecarga del programa. http://freshmeat.net/projects/inkscape/
Another File Integrity Checker 2.7-0 Apareció nueva versión del programa para controlar la integridad del sistema. Las modificaciones: se aumentó la seguridad del fichero de configuración gracias a la implementación de nuevas opciones en afickonfig. Además, hay unas opciones nuevas (stat_secu, stat_size, search) para afick y afick-tk. En afick-tk ahora se puede visualizar el tiempo estimado necesario para terminar un procedimiento y el tiempo actual de ejecución. http://freshmeat.net/projects/afick/ BurnCDDA 1.3.7 Si queremos grabar en el disco audio las canciones que escuchamos a menudo en el programa XMMS, podemos emplear el programa BurnCDDA. Es una aplicación auxiliar que trabaja en el modo de texto para los programas populares, como Cdrdao, Cdrecord, Mpg123, Oggdec, Mppdec, Normalize y Mp3_ check. Podemos grabar unas canciones del listado de reproducción en el formato M3U en el disco. Asimismo, sirve para copiar los discos audio. Soporta los formatos del sonido como MP3, OGG Vorbis, Musepack, FLAC y WAV. En la última versión hay sólo unas modificaciones pequeñas de la interfaz: se puede cambiar colores de algunos comunicados. http://freshmeat.net/projects/burncdda/ GnoCHM 0.9.4 GnoCHM es útil si queremos leer la documentación accesible en los ficheros CHM. En la nueva versión se implementó la traducción al idioma ruso, y al mismo tiempo se perfeccionó la documentación y la traducción y se implementó un par de modificaciones. La ventana HTML controla el estado de barras de despliegue; se implementó también el soporte de la vista de fuente de página. http://freshmeat.net/projects/gnochm/
www.lpmagazine.org
45
software aktualności
linuxfresh
QEMU
– emulador rápido del procesador Jean-Pierre Féval
N
o importa qué equipo de ordenador y sistema operativo tengamos, puede ser que un día tengamos interés por un programa que funciona en otro entorno. Sin embargo, no es muy rentable comprar un ordenador caro sólo para poder arrancar este programa. En estos casos, nos servirá un emulador como QEMU. Puede funcionar de dos modos. El primer modo es así llamado modo de emulación del sistema completo (Full system emulation). QEMU, que funciona de este modo, emula el sistema entero (p.ej. el ordenador PC), incluyendo procesador y varios equipos exteriores (tarjeta de gráficos, discos duros y unidades). Gracias a él podemos activar varios sistemas operativos sin necesidad de reiniciar el ordenador. El segundo modo es el modo del usuario (User mode emulation). Funciona sólo cuando arrancamos QEMU bajo Linux y permite arrancar en nuestro procesador los programas compilados para otro procesador. En el modo de emulación completa QEMU funciona también bajo el control de Mac OS X y Windows. El emulador QEMU en el modo de emulación completa puede “simular” el sistema PC (procesador x86) o PREP (procesador PowerPC). Asimismo se prepara el sistema PowerMac (procesador PowerPC). En el modo de usuario, se emulan los procesadores x86, PowerPC, ARM y SPARC. QEMU se arregla mejor cuando lo activamos en el ordenador PC y emulamos precisamente este sistema. Además, es accesible un módulo especial (QEMU Accelerator Module), que acelera su funcionamiento en esta configuración. En contrario al QEMU – accesible junto con las fuentes, lo podemos adquirir en una licencia por separado, y sus fuentes no se publican. No obstante, podemos usarlo gratis. La aceleración del funcionamiento con su uso es significativa. En com-
46
Linux+ 5/2005
Figura 1. Para instalar Aurox en Aurox sin módulo de aceleración, tienes que tener más paciencia que Santo Job
paración: si una aplicación activada con QEMU funciona de cinco a diez veces más lento que la aplicación activada sin QEMU, con el uso del módulo la disminución por lo máximo es de dos veces. Al mismo tiempo tiene una vantaja grande: se acelera sin necesidad de modificar el sistema principal. La mayoría del código de aplicación se realiza directamente en el procesador de nuestro ordenador (se omite el etapa de traducción de las instrucciones). Sin su empleo, la activación de unos sistemas operativos más desarrollados bajo QEMU puede exigir mucha paciencia (por causa de la lentitud del funcionamiento). En actualidad el módulo es accesible sólo para Linux activado con los núcleos de la serie 2.4.x y 2.6.x. Es más, para usarlo tenemos que compilar QEMU de las fuentes descargados desde el repositorio CVS. La instalación de QEMU no proporciona problema alguno. Podemos elegir
entre las fuentes descargadas desde la página principal del proyecto o desde el repositorio CVS. Además, podemos bajar la versión binaria que es la mejor solución si queremos familiarizarnos rápidamente con el programa. No obstante, si nos importa el rendimiento, debemos descargar la versión con CVS y el módulo acelerador, y luego compilar el programa nosotros mismos. El comando más sencillo para activar QEMU es qemu image.img, en que como image.img introducimos el nombre de la imagen del disco. Desde la página principal del proyecto podemos descargar un par de imágenes distintas. Hay una imagen ejemplar con el sistema Linux, así como también se preparan las versiones de los sistemas FreeDOS y NetBSD. Además, desde la página FreeOSZoo (http://www.freeoszoo.org/ ) podemos descargar una serie de imágenes más grandes, tanto con las distribuciones como
FRESH
Fedora Core 2, Mandrakelinux 10.0, como con sistemas OpenBSD o ReactOS. Podemos preparar también nuestra propia imagen vacía del disco con el comando qemu-img create image.img 3G. En vez de image.img introducimos el nombre de fichero de nuestra imagen y en vez de 3G su tamaño (en este caso 3 GB). QEMU soporta varios formatos de imágenes, y facilita la conversión entre ellos. Si queremos bajo el control de QEMU emplear el sistema arrancado desde el disco CD o DVD, tenemos que agregar unas opciones adecuadas al comando. El comando qemu -cdrom /dev/cdrom -boot d image.img hace que el emulador en vez del disco duro del ordenador emulado, intentará activar el sistema desde la unidad CD. De modo parecido, como en el caso de la opción -cdrom, podemos usar la opción -hda a -hdd para discos duros y -fda y -fdb para unidades de diskettes. Sin embargo, indicando la unidad CD o disquetera, podemos emplear tanto el nombre del equipo, como el fichero con la imagen, pero en el caso de discos duros podemos indicar sólo el fichero con imagen. Si nos decidimos usar la opción -cdrom, no podemos usar la opción -hdc. Durante el empleo de QEMU podemos transmudarnos entre la vista del sistema activado, del monitor y de la previsualización del puerto en serie. Para hacerlo, tenemos que usar las combinaciones de teclas [Ctrl]+[Alt]+[1] hasta [3]. El monitor es útil en caso de varias ope-
raciones, p.ej. cuando cambiamos el disco CD en la unidad. Lo empleamos también para enviar (con el comando sendkey) las combinaciones de teclas al emulador, en defecto nuestro sistema se intercepta (p.ej. [Ctrl]+[Alt]+[F1]). QEMU dispone sólo de una interfaz de texto, que puede ser un obstáculo para varios usuarios. Por suerte, hay unas superposiciones gráficas para este programa, que facilitan su uso cómodo con el ratón. En particular, es interesante Qemu-launcher (http://emeitner.f2o.org/projects/ qemu-launcher/), que junto con las funciones ofrecidas por otras superposiciones, permite crear y memorizar varias configuraciones. Decididamente facilita el trabajo en el caso del uso continuo de un par de sistemas distintos. Las últimas versiones ya funcionan con Mac OS X. Se agregó el soporte de consolas virtuales, y de imagen ampliada del disco qcow con la codificación AES y con decompresión transparente. En el modo sólo para la lectura, tenemos el acceso a las imágenes de discos VMware 3 y 4. Se agregó el soporte de puertos en serie (por lo máximo cuatro), del servidor TFTP y de redireccionar los puertos en la red del usuario (User mode networking). Además, se subsanaron varios errores, entre otros los problemas con Fedora Core 2, con modificación de tipos VGA y con interrupciones. http://freshmeat.net/projects/qemu/
Figura 2. QEMU sigue desarrollándose y soporta cada vez más sistemas
Noticias
IPtables 1.3.0 IPtables junto con Netfilter son responsables del soporte de filtración de paquetes, traducción de direcciones (NAT) y de puertos (NAPT) de la red, así como también de otras operaciones con paquetes de la red en los núcleos de la serie 2.4 y de 2.6. Gracias a ellos, se puede crear una barrera en la red, facilitar el enlace de Internet a otros ordenadores en la red o crear un proxy transparente. En la nueva versión se escribió de nuevo libiptc, que abrevió de modo significativo el tiempo en que se cargan las reglas. Se subsanaron también varios errores, ante todo en los comandos iptables-save y iptables-restore. http://freshmeat.net/projects/iptables/ AmaroK 1.2 AmaroK, el reproductor popular de música, (y no solamente) se enriqueció con nuevas funcionalidades interesantes. Ante todo hay un soporte para Audioscrobbler. AmaroK no sólo puede enviar las informaciones sobre las canciones reproducidas, sino que también puede generar un listado dinámico de reproducción conforme con las sugerencias de este sistema. Se implementó el soporte para la base MySQL, y por eso las colecciones se pueden guardar en un ordenador remoto. Las letras de las canciones se muestran de modo automático. Se implementó una interfaz de scripts, con que es fácil crear las extensiones. Asimismo, hay otras modificaciones que aumentan la comodidad y la facilidad en uso del programa. http://freshmeat.net/projects/amarok/ Daily Strip Manager 1.7 Los aficionados de barras con tebeos colocadas en las páginas WWW se alegrarán con la última edición de Daily Strip Manager. Este script posibilita sorteo, detección de duplicados, ampliación de una barra determinada, así como también otras operaciones en las barras descargadas con el uso de DailyStrips. En la última versión entre otros facilita indexación de barras, además se agregó otros perfeccionamientos. http://freshmeat.net/projects/stripmgr/ RipIt 3.3.1 RipIt permite copiar las canciones del disco audio y codificarlas en el formato MP3 o OGG Vorbis. Este script, escrito en el lenguaje Perl puede realizar la mayoría de operaciones sin necesidad de interaccionar con el usuario, que es su gran ventaja. Podemos pues activarlo, y el programa descargará desde la base de datos en Internet unas informaciones sobre el disco, leerá las rutas, las codificará en un formato seleccionado, agregará los indicadores ID3, y generará un listado de reproducción. Las últimas versiones contienen un fichero con ayuda detallada, permiten usar proxy, y grabar los ajustes en el fichero. http://freshmeat.net/projects/ripit/
www.lpmagazine.org
47
software aktualności
Juegos
Vega Strike
– juego espacial comercial Niels Weber
¿
Os acordáis de juegos como Elite o Privateer? Uno viajaba por el espacio en una pequeña y antigua nave tratando de ganar con el transporte de mercancías entre planetas, evitando a la vez a los piratas del espacio (o bien llegando uno mismo a ser el pirata) y a las autoridades hostiles. Ahora podemos volver a hacerlo: Vega Strike es el verdadero descendiente de estos clásicos juegos. Aunque queda mucho por hacer en él, ahora ya podemos aficionarnos a la aventura.
Instalación
El primer paso para llegar a ser una leyenda del espacio es descargar e instalar el juego. Es tarea fácil, sin embargo, potencialmente gasta mucho tiempo, dependiendo de la velocidad de conexión a Internet. Para su instalación, entra por tu navegador en la página principal del juego: http:// vegastrike.sourceforge.net/, luego, descarga el instalador binario para Linux (unos 145 MB). Cuando puedas permitirte descargar los siguientes 61 MB, te sugiero descargar el paquete opcional con música. La propia instalación es fácil, ya que el archivo que acabas de descargar es un instalador Loki. En caso de que la instalación del juego sea para todos los usuarios del sistema, antes de empezarla, regístrate como root, por ejemplo, por medio de su. Cuando instales el juego sólo para ti, puedes obviar este paso instalando el juego en tu propio directorio principal. Una vez terminada la instalación, repite toda la operación para el archivo con música, si lo descargaste también. Puedes ejecutar el juego al seleccionar la respectiva opción del menú del escritorio, o bien, al introducir vegastrike en el intérprete de comandos.
Luego, pasas al hangar de un puerto espacial. Puedes visitar varias partes del puerto moviendo el cursor del ratón, observando los mensajes que aparecen y haciendo clic en los lugares a los que quieras llegar. Para empezar, pasa a la nave principal, donde encontrarás el ordenador con todas misiones a realizar. Allí recibirás tu primera tarea. Para aprender a controlar el juego y a conocer el sistema solar en el que te encuentras, empieza por la patrulla del sistema. Por el momento, no posees equipo necesario para pasar a otros sistemas. Tendrás que ganar dinero para los viajes interestelares viajando en el sistema solar materno. La descripción de misiones interestelares incluye el listado de puntos a través de los cuales hay que volar para realizarlas. Vuelve ahora al hangar y sal al espacio. Después del despegue te encontrarás en el cockpit de tu nave. Sobre todo quítate el panel que bloquea la vista pulsando [Ctrl]+[M]. Allí hay un mapa del sistema actual pero, por el momento, no es necesario. Observa a tu alrededor empleando
la tecla del cursor. El espacio que te rodea es enorme y muchas veces está vacío. Echa una ojeada a los paneles de nuestra nave (Figura 1 – el tuyo parecerá probablemente algo diferente). A la derecha, se mostrarán las tareas de la misión actual: el color verde significa las cumplidas y el rojo las que quedan por cumplir. La primera tarea que consiste en el salto al sistema dado, en caso de una misión dentro de este sistema, debería ya estar en verde. Cuando el punto de despegue sea uno de los puntos del recorrido, éste también se marcará como ya visitado. Es hora de volar a los demás sistemas. Para ello, primero tienes que dirigir tu vehículo espacial en su dirección. Mira la parte derecha del panel donde verás el objetivo actual; apretando [t] o bien [Shift]+[t] pasa por los objetivos accesibles hasta que encuentres uno de tu listado. Ahora, gira la nave hasta el momento en el que el objetivo se encuentre en tu campo de visión; será señalado con un cuadrado blanco, sin embargo, cuando no se encuentre en la pantalla, la flechita blanca indicará la respectiva dirección del giro.
Nuestra primera misión
Justo después de ejecutar el juego te encuentras en medio de la acción. La pantalla de carga te da informaciones sobre el universo del juego, tales como, por ejemplo, el listado de las personas más buscadas.
50
Linux+ 5/2005
Figura 1. Tu cockpit y base minera que puedes observar
JUEGOS
[F9] activamos su aceleración, en cambio, [F10] restablece su normal flujo. Ahora deberías ser capaz de cumplir tu misión de patrulla, al mismo tiempo acostumbrándote a controlar. Ten cuidado para que al volar, no pasar cerca de los planetas sin verlos, lo que a mí me pasó muchas veces.
Figura 2. Tu nave que se mueve a gran velocidad por un espacio vacío
Vuelo al destino
El control de la nave es algo complicado y requiere acostumbrarse, además, se diferencia dependiendo del dispositivo que emplees (joystick, ratón, teclado). Cuando controlas el teclado, cambias la dirección del vuelo con las teclas del cursor. Las teclas [Insert] y [Delete] permiten girar la nave con relación a su eje. Cuando ya diriges la nave al objetivo, deberías darle una velocidad. Recuerda que la aceleración y reducción no son inmediatas. Como consecuencia de las grandes distancias espaciales, su resultado es visible después de un cierto tiempo. Para acelerar, fijas la velocidad esperada con las teclas [+] y [–] del teclado numérico. Con la tecla [\] fijas la velocidad máxima, y con [ / ] la nula. Cuando viajes a planetas lejanos podrás emplear el autopiloto con la tecla [a]. Recuerda que utilizarlo significa volar con una velocidad muy alta. Cuando viajamos en coche por la Tierra sentimos nuestra propia velocidad al observar el paisaje que dejamos atrás. En el espacio esto es imposible. Cuando nos movemos a una velocidad de 100 kilómetros por hora tenemos la impresión de quedar inmóviles. Por lo tanto, es necesario observar los números mostrados en el centro de la pantalla. Observamos allí, además, la barra roja de energía de las armas y del postcombustor (que se activa al presionar [Tab], cuando esté incorporado en tu nave). El número que aparece a la derecha de la barra es la velocidad encargada y el número de la izquierda, la velocidad actual. Incluso al acelerar al máximo no provocaremos un evidente movimiento (por lo menos no en estas distancias), por lo tanto, al movernos entre los objetos es útil un autopiloto. La barra azul representa el nivel de energía de la propulsión entre sistemas (la que emplea el piloto), en cambio, el número que aparece al lado es la velocidad actual del autopiloto. Como, incluso en este caso, el vuelo en tiempo real tardaría demasiado tiempo,
¿Qué más?
Al conocer las bases, es hora de ganar dinero. Una forma clara es transportar mercancías de un lugar barato a otro caro. Transportamos alimentación del planeta donde es fabricada a las estaciones espaciales. Primero busca un planeta habitado. Busca en el listado de planetas uno señalado con agricultural: NOMBRE (los planetas que poseen sólo el nombre, sin prefijo y con dos puntos, no son habitados). Cuando en el sistema dado no aparece ninguno de este tipo, puedes viajar al planeta de tipo aquatic. Al aproximarte al planeta tanto que aparezca un cuadrado verde, aprieta [d], para aterrizar. Pasa al local del centro comercial y carga la nave de alimentos. Despega, encuentra la estación espacial (por ejemplo, base minera) y vuela hacia ella. Después de descargar, podrás vender la mercancía – si tienes suerte – con mucho beneficio. Repite hasta hacerte rico. Existen otras maneras de ganar dinero así como muchas cosas más por hacer – finalmente el espacio entero te espera. Podrás encontrar mucha información interesante en el manual de Vega Strike, accesible en http://vegastrike.sourceforge.net/ manual/00_fullmanual/.
Resumen
En Vega Strike queda todavía mucho por hacer, sin embargo, ahora ya se parece mucho a tales clásicos como Elite, presentándose, además, mucho mejor. Algunos modelos requieren parches, otros dan la impresión de ser casi profesionales. La aparición de dichas modificaciones como, por ejemplo, el mundo de Star Trek, puede aumentar la atractividad del juego. El fondo sonoro es bastante amable, sin embargo, falta sonido en general – total – en el vacío del espacio el sonido no se propaga. Es necesario acabar algunos detalles, sobre todo con relación al jugador principiante. Muy útil sería el menú de inicio, unas misiones ejemplares y asistencia incorporada. Incluso sin esto, los jugadores que no se han dejado desanimar por un principio muy difícil, podrán jugar con gusto durante horas y horas. http://vegastrike.sourceforge.net
Noticias
America's Army A los que juegan con este juego gratuito, compartido por el gobierno de E.E.U.U. del tipo First Person Shooter, les interesará, seguramente, la aparición de una versión más nueva. Entre las numerosas posibilidades, ofrece la posibilidad de enumerar un modo de torneo esperado desde hace mucho y la aparición de dos mapas nuevos: uno de ellos incluye base de bosques y el otro es para la lucha en condiciones urbanas. http://www.americasarmy.com/ http://0day.icculus.org/armyops/ London Law Uno de los más populares juegos de placa de todos los tiempos es, sin duda, Scotland Yard, en el que cinco o menos detectives cazan al Señor X por las calles de Londres. Ahora el juego está aplicado a los ordenadores como un proyecto de tipo Open Source, que ofrece fotos de satélites de la ciudad hechas con una alta resolución, así como el juego de red para seis personas. El juego está escrito en Python con el empleo de la librería WxPython, por lo tanto, debería funcionar en la mayoría de los sistemas operativos. http://www.eecs.umich.edu/~pelzlpj/ londonlaw/ Kingmaker Fue elegido Juego RPG del año 2004 y es accesible para Linux. Kingmaker es un módulo comercial del juego Neverwinter Nights. Para descargarlo, consulta la tienda de Internet Bioware y prepara la tarjeta de crédito. Cuesta unos 8 dólares estadounidenses y requiere la instalación de la extensión Hordes of the Underdark. Ten en cuenta que el juego se autoriza en el servidor principal Bioware cada vez que se ejecuta el módulo comercial. http://store.bioware.com/products/ kingmaker.html Battle for Wesnoth Este juego estratégico ha cambiado bastante desde la última vez que lo describimos. Sobre todo, hay traducciones más completas, más gráficos y ciertos cambios de equilibrio en las misiones de campaña. http://www.wesnoth.org/ MyToy Si a ti te gusta jugar a EyeToy en tu PS2, ahora tenemos algo en Linux para ti. Utilizando MyToy para jugar a uno de los módulos de juegos, accesibles actualmente en la página, necesitamos tan sólo cámara de Internet. http://koli.lame.hu/~goldberg/ mytoyweb/
www.lpmagazine.org
51
para principiantes
Administración de particiones en Linux Piotr Machej
D
DVD
Después de ejecutar la distribución Linux+ Live DVD podemos emplear la herramienta QtParted.
En el disco DVD
En el disco DVD se encuentran las aplicaciones descritas en el artículo.
52
Linux+ 5/2005
e entre todas las actividades realizadas durante la instalación del sistema, la división en particiones parece la más difícil a realizar. Esto resulta muchas veces de la preocupación de los usuarios de a la hora de realizar tal acción. Cuando hacemos algo mal, es posible, que perdamos los datos que se encuentran en el disco. Otra causa puede ser la inseguridad en cuanto al espacio que deberíamos destinar para las respectivas particiones. Sobre el hecho de qué división es la más adecuada, sólo podemos convencernos después de cierto uso del sistema. Por otro lado, la respectiva división del disco tiene muchas ventajas. Cuando coloquemos los directorios de los usuarios (así pues el árbol completo /home/ ) en una partición aparte, será más fácil para nosotros realizar la actualización del sistema. Aún más, en el caso de dañar una de las particiones, es muy probable que no perdamos los datos de las demás particiones. Tenemos que tener en cuenta que aunque el proceso de división del disco en particiones puede parecer complicado no es un arte secreto. El presente artículo tiene como objetivo acercar los métodos de administrar las particiones, gracias a ello sabréis de manera fácil y segura no sólo crearlas o eliminarlas sino que también cambiar su tamaño o moverlas en diferentes lugares del disco. Saberlo seguramente será útil sobre todo cuando montéis en el ordenador un disco nuevo lo difícil será cuando en el ordenador falte espacio para instalar nuevas aplicaciones.
Ejemplo de uso
Confieso que tengo instalado en el disco el sistema Windows. A veces me gusta jugar y, desgraciadamente, no todos de mis juegos favoritos funcionan bajo Linux. Además, tengo uno de estas cámaras digitales que no son soportadas por Linux. Como durante los últimos años cada vez empleo menos Windowsdesinstalé las aplicaciones que no necesitaba. ¿Por qué? Pues quería analizar una nueva distribución de Linux y para ello necesitaba espacio. En el disco CD guardé los datos más importantes y luego, ejecuté la aplicación QTParted. Bastaban unos movimientos del ratón para asegurarme de que todo estaba marcado bien y, luego, dejar a la aplicación reducir la partición Windows a unos 10 GB. Esto debería ser suficiente para experimentar. De los 10 destiné 1 GB destiné para la partición desde la cual, por medio del servidor FTP podrán aprovechar los colegas de la red local. El resto se dividirá durante la instalación de la nueva distribución – por fin necesitamos, por lo menos, la partición de intercambio (swap) y la partición para el sistema de archivos principal.
Herramientas
La herramienta más conocida que sirve para administrar particiones es la aplicación comercial para Windows – Partition Magic. Los usuarios de Linux tienen a su disposición una serie de herramientas más, aunque no poseen tales posibilidades como la aplicación mencionada, sin
particiones
Un poco de teoría
La división del disco en particiones es imprescindible cuando queremos emplear el disco duro en el ordenador. Incluso, cuando en el disco se encuentre sólo una partición, tenemos que realizar la partición. Gracias a ello, el sistema sabe qué parte del disco puede emplear para guardar datos. La ventaja principal de la partición es que, gracias a ella podemos localizar en el disco sistemas totalmente diferentes que no están en pugna entre sí. Además, en el caso de Linux, la división respectiva en particiones puede aumentar la seguridad del sistema. Por cuestiones históricas y teniendo en cuenta la necesidad de guardar la compatibilidad, durante la división del disco en particiones tenemos que seguir ciertas reglas. Sobre todo, podemos fijar en el disco como máximo cuatro particiones primarias (primary partition). Si no son suficientes, en vez de ello, podemos aplicar tres particiones primarias y una partición extendida (extended partition). En este caso fijamos la mayoría de los discos lógicos (logical drive) en la partición extendida . En práctica, más usuarios destinan el disco completo para una gran partición o crean una partición primaria y una serie de discos lógicos en la partición extendida. Esto se debe a la regla que dice que sólo una de las particiones primarias puede estar activa. Podemos ejecutar el sistema operativo de la partición activa. Los sistemas de tipo DOS o Windows ven sólo el contenido de la partición activa primaria (las demás particiones primarias no son visibles para ellos). Si en nuestro disco tenemos instalado el sistema Windows 9x o Me, tenemos que tener en cuenta durante la división las letras de las respectivas particiones. En estos sistemas las letras se asignan en cierta
embargo, actualmente poseen un abanico de funciones bastante extendido. La mayoría de las aplicaciones tienen sólo interfaz de texto (Fdisk, Parted, NtfsResize o bien Mke2fs). Para la comodidad de los usuarios surgieron diferentes interfaces gráficas que facilitan el empleo de estas aplicaciones (QTParted, GParted, CFdisk y otras). Las aplicaciones gráficas para administrar particiones también están incluidas en los instaladores de diferentes distribuciones de Linux. Todas las aplicaciones tienen diferentes posibilidades y campos de actividades. En el presente artículo nos centraremos en la interfaz de QTParted, sin embargo, habrá
para principiantes
Soporte de QTParted secuencia: la primera partición primaria del primer disco (letra C:), la primera partición primaria del segundo disco (letra D:) etc. Luego, las siguientes letras se refieren a los discos lógicos. Esta vez las siguientes letras se asignan a todos los discos lógicos del primer disco, luego a todos los discos lógicos del segundo disco duro, etc. Podemos darnos cuenta fácilmente a dónde nos conduce esto. Si en el primer disco añadimos o eliminamos disco lógico, cambiarán las letras de todos los discos lógicos de los demás discos. Lo mismo pasará cuando conectemos un disco nuevo que incluya una partición primaria. Tenemos que tenerlo en cuenta durante el cambio de la organización del disco y al conectar discos nuevos. Lo más natural será añadir y eliminar sólo los discos lógicos que se encuentran al final del listado. En caso de conectar el disco nuevo podemos fijar en él sólo la partición extendida. En caso de Linux, surge un problema más. Como el cambio del sistema de particiones puede provocar cambio de letras, debería ser suficiente la respectiva modificación del archivo /etc/fstab. Para ello tenemos que fijarnos en que no podemos modificar la partición montada. Por lo tanto, no es posible extender el tamaño del principal sistema de archivo cuando es empleado. En tales casos estamos obligados a emplear la distribución ejecutada desde el disco CD/DVD o bien desde un disquete especial. No podemos identificar el tamaño de la partición con el tamaño del sistema de archivos situado en ella. Algunas herramientas ocasionan sólo la sustitución del sistema de archivos, sin embargo, del tamaño de la partición tenemos que ocuparnos aparte. Afortunadamente, la mayoría de las interfaces gráficas no nos obliga a hacerlo.
espacio para instrucciones relacionadas con otras herramientas que soportan funciones que no son accesibles en esta aplicación.
Añadimos y eliminamos particiones
La situación más simple tiene lugar cuando disponemos del espacio libre en el disco. Cuando sea necesario podemos crear particiones nuevas. Con esta situación tenemos que ver cuando conectamos un disco nuevo al ordenador o cuando dejamos de emplear el espacio entero durante la instalación del sistema.
Tratemos de emplear la interfaz QTParted. Podemos ejecutarla al encontrar la respectiva posición en el menú. Introducimos la contraseña del usuario root. Otra manera, igual de universal, es abrir la ventana del terminal. Introducimos allí el comando su – y, luego, damos la contraseña del usuario root. Ahora es suficiente con ejecutar comando qtparted. Debemos actuar de manera muy parecida también en el caso de otras aplicaciones para administrar particiones. Esto da como resultado que los permisos de un usuario ordinario no son suficientes para modificar particiones o sistemas de archivos que incluyen. Cuando ejecutemos la aplicación, veremos las ventanas divididas en partes. A la izquierda se encuentra un listado de discos duros detectado por la aplicación (por ejemplo /dev/hda, /dev/hdb). Cuando indiquemos uno de los discos, por debajo del listado aparecerá información más detallada sobre él y a la derecha de la pantalla veremos la representación gráfica y textual del contenido del disco. Las particiones de Windows que se encuentran en el disco están señaladas con la banderilla característica de este sistema. Podemos reconocer las particiones de Linux gracias al simpático icono del pingüino. El color amarillo significa el espacio de la partición ocupada por datos (el tamaño del espacio ocupado se da también en el nombre de la partición). En el caso de la representación textual, además del nombre de la nueva partición, podemos comprobar su tipo, su tamaño, su etiqueta, así como la cantidad del espacio que ocupa. También se fija el inicio y el final de la partición. Empleando el ratón, podemos indicar cada una de las particiones, – tanto en la vista gráfica como en la textual. El espacio vacío del disco (no asignado a ninguna de las particiones) está señalado con gris. En el listado podemos reconocerlo cuando el tipo de la partición está fijado en el valor free. Cuando ya hemos conectado el disco que acabamos de comprar, puede resultar que no sólo no haya más particiones sino que no fue iniciada la tabla de particiones. Podemos reconocerlo ya que en el listado veremos la posición Tabla de particiones que tendrá el estado Vacío. En ese caso hacemos un clic con el botón derecho del ratón y luego seleccionamos la opción Crear una nueva tabla de particiones. Después de crearla debemos tener a nuestra disposición todo el espacio del disco (señalado en gris).
www.lpmagazine.org
53
para principiantes
QTParted del disco, Parted del disquete Cuando cambiamos el sistema de particiones en el disco, tenemos que fijarnos en que todas las particiones modificadas se desmonten. Cuando trabajamos con un disco nuevo donde creamos particiones, no es ningún problema. Es mucho peor cuando queremos modificar las particiones en el disco donde tenemos instalado nuestro sistema. Por ejemplo, no tenemos la oportunidad de mover o cambiar el tamaño de la partición en la cual se encuentra el sistema de archivos de la distribución que está ejecutada. La mejor solución para una situación tal es ejecutar la aplicación que administra las particiones desde el disquete o desde el disco CD/DVD. Podemos emplear una de las distribuciones Live, por ejemplo Linux+ Live DVD, que está dotado de QTParted. Otra posibilidad es emplear el instalador de la distribución dada – este papel lo desempaña bien Mandrakelinux cuyo instalador incluye unas de las mejores aplicaciones para administrar particiones. Sólo cuando justamente no tengamos discos de instalación de la distribución ni ningún disco con la distribución Live, podemos emplear las reservas de Internet. De la página http://www.sysresccd.org/ descargamos la imagen de la distribución SystemRescueCd. Su tamaño es de unos 110 MB, por lo tanto, cuando poseemos la
Añadimos particiones
La acción de añadir particiones es tan fácil como hacer unas veces un clic con el ratón. Indicamos el espacio gris del disco y luego hacemos un clic con el botón derecho del ratón. Del menú mostrado seleccionamos Crear. Seleccionamos todas las opciones que necesitemos si no son suficientes las predeterminadas. Sobre todo fijamos el respectivo tipo de particiones (por ejemplo. ext2) así como el tamaño. Luego, apretamos el botón Aceptar. En la ventana principal de la aplicación podemos comprobar que el sistema de particiones es tal como nos gusta. Si es así, es hora de confirmar nuestros cambios apretando el icono del disquete o bien seleccionando del menú Fichero–>Aplicar. Si quisiéramos renunciar a la creación de particiones, pulsamos el icono de la flecha verde o bien seleccionamos del menú la posición Fichero–>Deshacer. Podemos formatear nuestra partición (la descripción se encuentra en la sección Creamos el sistema de archivos) y luego, montarla de la manera descrita en la sección Montamos particiones.
54
Linux+ 5/2005
conexión fija el hecho de descargarlo no debería constituir un problema. Después de grabar la imagen en el disco conseguimos la distribución destinada a arreglar nuestro sistema y a recuperar los datos. Entre otros, incluye herramientas tales como Parted, QTParted, Partimage y muchas más. En este caso ejecutamos la aplicación QTParted con el comando run_qtparted (es necesario ejecutar SystemRescueCd con el soporte de FrameBuffer). Puede ocurrir que no tengamos grabadora CD. En ese caso siempre nos puede salvar un disquete pero tenemos que estar preparados para enfrentar la interfaz de texto de la aplicación Parted. Cuando nos atrevamos (de verdad, no es tan difícil), podemos descargar la imagen del disquete de la dirección ftp://ftp.gnu.org/gnu/parted/ bootdisk/partboot.img. Luego, grabamos esta imagen en el disquete con el comando dd if=partboot.img of=/dev/fd0 bs=1440k. Es mejor dar este comando con los permisos del administrador, para lo cual primero damos el comando su – e introducimos la contraseña del usuario root. Puede pasar que el disquete no soporte nuestro disco duro. En este caso tendremos que consultar la documentación donde se describe el proceso de la creación de nuestro propio disquete. La solución más cómoda es emplear la distribución Live en el disco CD/DVD.
Eliminamos particiones
Antes de eliminar una partición debemos cuidar de que no esté montada. Damos el comando mount y comprobamos que entre las líneas introducidas se encuentra nuestra partición. Por ejemplo, cuando queramos eliminar la primera partición del primer disco (hda1) con el sistema Windows instalado, debemos buscar la línea que se parezca a la siguiente: /dev/hda1 on /mnt/DOSC type vfat
S
(rw,uid=500)
En ese caso introducimos el comando umount /dev/hda1. Cuando veamos el mensaje umount: only root can unmount /dev/hda1 o parecido, significa que tenemos que tener permisos del administrador. Conseguimos esto introduciendo el comando su- y dando la contraseña de root. Luego, podemos repetir el comando anterior umount /dev/hda1. Por supuesto, en lugar de hda1 tenemos que dar el nombre de la partición que queremos borrar.
Ahora, es suficiente indicar en la aplicación QTParted la partición a eliminar. Desde el menú escondido seleccionamos la tecla derecha Borrar y, luego confirmamos nuestra decisión apretando el icono del disquete. Antes tenemos que asegurarnos de que pensamos eliminar la respectiva partición del respectivo disco. Sólo nos queda la cuestión de eliminar la inscripción acerca de la partición eliminada del archivo /etc/fstab. Podemos leer más sobre este archivo en la sección Montamos particiones.
Modificamos particiones
Añadiendo y eliminando particiones conseguimos el sistema que necesitemos. Cuando tenemos un disco duro bastante grande y, además, los datos que contiene son importantes para nosotros, la operación puede exigir la grabación de muchos discos CD/DVD. Afortunadamente, las modernas aplicaciones para administrar particiones permiten realizar más operaciones en ellasparticiones. Las que más nos interesan son: mover, copiar y redimensionar particiones. fat32, ext2, ext3, NTFS y Reiserfs pertenecen a los sistemas más populares de archivos. Además, seguramente nos interesará la posibilidad de modificar la partición swap. Justamente a estos sistemas de archivos se referirá la descripción que tenemos a continuación. Recordemos que no podemos modificar las particiones que actualmente estamos empleando – antes de tratar de modificar tenemos que desmontarlas de la manera descrita en la sección Eliminamos particiones. Si esto falla, debemos emplear la distribución que se ejecuta desde el disco CD o desde el disquete. Está claro, hay que acordarse de realizar la copia de seguridad de los datos más importantes.
Cambio de tamaño
La aplicación QTParted sólo permite cambiar el tamaño de la partición con los sistemas de archivos fat32, NTFS, Reiserfs y swap. Para ello indicamos la partición que nos interesa y, luego, del menú activado, al pulsar el botón derecho del ratón seleccionamos Redimensionar. En la ventana podemos introducir el respectivo valor en el campo Nuevo Tamaño. Cuando sea demasiado pequeña (por ejemplo, teniendo en cuenta el tamaño del espacio ocupado en el disco), se aumentará automáticamente al respectivo tamaño. También podemos agarrar con el botón izquierdo del ratón el borde derecho
particiones
Figura 1. QTParted emplea no sólo libparted, sino también varios programas externos, ofereciendo más posibilidades
de la barra situada arriba y moverla hasta la posición que nos interesa. Confirmamos el cambio con el botón Aceptar y, luego con el icono del disquete. Durante la planificación de la repartición del espacio en el disco tenemos que recordar que durante el cambio de tamaño de la partición su inicio se queda intacto – cambiamos tan sólo el punto final. Si para nosotros es muy importante redimensionar la partición ext2 o ext3, podemos consultar la aplicación GParted. Su manejo es bastante parecido a la aplicación QTParted, con lo cual no deberíamos tener problemas con ella. Además de las particiones mencionadas es capaz de cambiar el tamaño de las particiones con los sistemas fat32, NTFS y Reiserfs. Otra posibilidad es emplear la aplicación Parted que es capaz de cambiar el tamaño de las particiones con los sistemas de archivos ext2, ext3, fat32, Reiserfs y swap. Podemos ejecutarla con el comando parted /dev/hda (desde luego, el comando se da con permisos del administrador), donde, en vez de /dev/hda damos el nombre del disco en el cual se encuentra la partición modificada. Luego, damos el comando print y comprobamos el número de la partición que nos interesa (supongamos que es el número 7, lo cual equivale en nuestro ejemplo a la partición /dev/hda7). Ahora ya podemos dar el comando resize 7 INICIO FINAL, donde INICIO y FINAL
son, expresados en MB, el inicio y el final de la partición final. Cuando la aplicación termine su actividad, podemos salir de ella con el comando quit.
Copiamos particiones
En el caso de copiar las particiones la mejor solución parece GParted. Aunque para la mayoría de los sistemas de archivos se aplica simplemente el comando dd, sin embargo, GParted soporta también el sistema NTFS. A diferencia de ella, QTParted no sabe copiar las particiones, y Parted soporta todos los sistemas – ext2, ext3, fat32, swap, Reiserfs - menos NTFS. Además, en el caso de los sistemas ext2 y ext3 hay que cumplir la condición de que la partición final tiene que ser mayor o igual a la partición fuente. En el caso de Parted para copiar sirve el comando cp NUMERO-FUENTE NUMERO-FINAL, donde damos respectivamente los números de particiones que se leen como resultado del comando print. Asimismo, podemos dar el nombre opcional del dispositivo fuente, gracias a lo cual podemos copiar los datos entre las particiones localizadas en diferentes discos. Debemos preparar antes la misma partición final, por ejemplo, creándola en el espacio libre del disco.
Movemos particiones
Dentro de un disco podemos mover una partición de tal forma que su número no cambie. Esta función será muy útil cuando hayamos disminuido una de
para principiantes
las particiones vecinas o bien cuando queremos aumentar bastante una partición vecina. Cuando queramos mover la partición empleando QTParted, después de indicar la partición seleccionamos del menú escondido debajo del botón derecho del ratón la posición Mover. La ventana mostrada se parece mucho a la que acabamos de ver al mover la partición y podemos modificarla exactamente igual. Esta vez el tamaño no cambia, en cambio, podemos influir en el espacio libre antes y después de la partición. Desgraciadamente, QTParted en la versión actual no es capaz de mover la partición ext2 y ext3. Para ello tenemos que emplear la aplicación de texto Parted. Utilizamos el comando move NUMERO INICIO FINAL, donde NUMERO es el número de la partición e INICIO y FINAL es la distancia entre el inicio del disco y el final de la partición final, todo contado en MB.
Creamos sistema de archivos (formateamos particiones)
La misma creación de la partición no es suficiente cuando queremos localizar en ella los archivos. Para ello, primero tenemos que crear el sistema de archivos en la partición, es decir, formatearla. El hecho de saber de qué tipo de sistema seleccionemos depende de para qué pensamos emplear la partición. Cuando pensamos guardar en ella archivos que luego queremos emplear también bajo Windows, lo mejor es seleccionar el sistema fat32. En cambio, cuando creamos una partición, en la cual queremos localizar todo un árbol /home/, es mejor emplear el sistema ext2, ext3 u otro con contabilidad. QTParted permite crear la mayoría de los populares sistemas de archivos, por lo tanto, no tendremos por qué emplear más herramientas. Para crear el sistema de archivos en la aplicación QTParted indicamos la partición y, luego, seleccionamos Formatear del menú escondido en el botón derecho del ratón. Nos queda tan sólo seleccionar el tipo del sistema de archivos y el nombre de la etiqueta. Este último debe determinar de manera unívoca qué partición es. Asimismo, debe ser único. Luego, podemos emplearla para montar particiones. Desde luego, no tenemos por qué dar la etiqueta a la partición, sin embargo, es una posibilidad muy útil.
www.lpmagazine.org
55
para principiantes
Descripción del archivo fstab
Figura 2. GParted parece ser un digno rival de QTParted
Podemos formatear no sólo una partición que acabamos de crear, sino también las que empleamos desde hace mucho tiempo. Tenemos que tener en cuenta de que tal partición no puede estar montada, de ser así perderemos todos los datos que contiene. Cuando cumplamos estas condiciones podemos formatear tranquilamente la partición con Windows en el sistema ext3 e instalar una nueva distribución de Linux. Después de crear el sistema de archivos sólo nos queda sólo montar la partición y emplearla.
de archivos que queremos montar manualmente empleando el comando mount. Este archivo sólo se puede editar por el administrador, por lo tanto, primero tenemos que dar el comando su - introducir el nombre del usuario root. Ahora podemos abrirlo en nuestro editor preferido (por ejemplo, con los comandos vim /etc/fstab o bien gedit /etc/fstab). Veremos unas líneas que se parecerán a las siguientes: LABEL=/ /dev/hda6
/
ext3 swap
defaults swap
1 1
defaults
0 0
Como podemos observar, cada línea está compuesta de seis campos. La primera de ellas indica el dispositivo montado (en nuestro caso, la partición del disco). En algunas distribuciones (por ejemplo, Aurox) podemos emplear la inscripción LABEL=etiqueta, donde en lugar de etiqueta escribimos el respectivo nombre de ésta (en el ejemplo anterior es el carácter / ). Siempre podemos indicar el dispositivo indicando su localización (por ejemplo, /dev/hda6), sin embargo, la inscripción con el empleo de la etiqueta es más cómoda. Gracias a ella en la mayoría de los casos no es necesario modificar las inscripciones en el archivo /etc/fstab, ya que cuando movamos la partición a un lugar diferente cambiará el nombre del dispositivo, y hasta que no dejemos la respectiva etiqueta el sistema la encontrará. Este campo también puede tener el valor none, sin embargo, en este artículo no nos ocuparemos de tales líneas de /etc/fstab. Las dejamos en paz. El segundo campo indica el punto de montaje. Es el nombre del directorio donde son accesibles los archivos localizados en el dispositivo. Sobre todo, se trata de la inscripción de este campo para la partición swap, ya que, en vez de la ruta al directorio se encuentra simplemente la palabra swap. El tercer campo determina el tipo del sistema de archivos localizado en la partición. Los valores ejemplares son ext2, ext3,
Montamos particiones
Como resultado de nuestras operaciones en particiones muchas veces pueden realizarse cambios importantes en el disco duro. Si hemos eliminado una partición que hasta el momento se montaba con el inicio del sistema y al ejecutar ahora el sistema, puede que aparezca un mensaje de error. En el caso especial el sistema puede tratar de montar otra partición que hemos creado en el lugar de la eliminada y ésto no tiene por qué convenirnos. Por fin, si hemos creado nuevas particiones, por ejemplo, para los directorios /home/ y /usr/local/ nos gustaría que, después de ejecutar el sistema se montasen en los lugares respectivos. Toda la información sobre particiones (en especial sistemas de archivos) montadas durante el inicio del sistema se guardan en el archivo /etc/fstab. En él también podemos localizar información sobre estos sistemas
56
Linux+ 5/2005
Figura 3. Antes de eliminar una partición debemos asegurarnos si es la adecuada y sólo entonces desmontarla
para principiantes
particiones
Cuando creemos una nueva partición (por ejemplo, /dev/hdb1) destinada para los directorios principales de usuarios, la inscripción en el archivo /etc/fstab podrá tener la forma: /dev/hdb1 /home
ext3
defaults
1 2
y si damos a la partición la etiqueta /home, podemos guardarla en la forma: LABEL=/home /home
ext3
defaults
1 2
Está claro, antes de que ejecutemos un sistema tan cambiado, debemos mover el contenido actual del directorio /home/ a nuestra nueva partición.
Montaje manual Figura 4. Si la partición no está desfragmentada, podemos tener problemas con reducirla
swap, iso9660 (para los discos CD). A veces es muy útil el valor auto que hace que Linux trate de reconocer el tipo del sistema de archivos que existe en la partición. El cuarto campo incluye opciones del montaje relacionadas con el sistema de archivos dado. Si a vosotros os satisface la configuración predeterminada, podemos emplear los valores defaults. En otro caso deberíamos consultar la documentación (man mount), donde se encuentran las descripciones detalladas de las respectivas opciones características para diferentes sistemas de archivos. Tan sólo mencionaremos una función relacionada con este campo. Por defecto, durante el inicio del sistema se montan todos los directorios determinados en el archivo /etc/fstab. Si a nosotros no nos conviene tal comportamiento, en una partición concreta podemos localizar en el cuarto campo de la partición la opción noauto. Empleamos esta opción en el caso de disqueteras y unidades lectoras de los discos CD, sin embargo, podemos emplearla en relación a cualquier otro dispositivo (por ejemplo, partición Windows). Separamos con comas las opciones introducidas en el cuarto campo. El quinto campo es empleado por el comando Dump. No vamos a emplearlo. Este campo puede tener el valor 0 o 1. En el caso de los directorios del sistema ( / o / boot/ ) es mejor fijar el valor 1. Las particiones montadas del sistema
Windows pueden tener en este campo el valor 0. El sexto y (último) campo es empleado por la aplicación Fsck para determinar la secuencia en la cual deben comprobarse los sistemas de archivos durante el inicio del sistema. Además, el sistema principal de archivos (directorio / ) debe tener el valor 1. Los demás (entre otros /boot/ ), deben tener el valor 2. Si no queremos que el sistema dado sea comprobado, podemos introducir en este campo el valor 0.
Ya sabemos que antes de realizar cualquier operación en particiones (se trata de eliminar, mover, formatear así como redimensionarla) hay que desmontarla primero. Como recordaremos, para ello sirve el comando umount al que damos el nombre del dispositivo o punto de montaje (por ejemplo, umount /dev/hdb4 o bien umount /mnt/WINDOWS/). Sabemos también cómo introducir cambios en el archivo /etc/fstab. Cuando el punto de montaje está introducido en el archivo /etc/fstab podemos también montarlo manualmente con el comando mount. De manera parecida a umount, damos o bien el nombre del dispositivo o bien el punto de montaje (por ejemplo, mount /dev/hdb1).
Figura 5. A veces el cambio del sistema de archivos puede alterar el orden de los discos del sistema Windows
www.lpmagazine.org
57
para principiantes
ciones tendrán la forma del listado de acciones cuyas descripciones detalladas están incluidas en las secciones anteriores.
Empezaremos, desde luego, por realizar la copa de seguridad de los datos más importantes (es muy importante tener mucho cuidado). Luego ejecutamos desde el disco con distribución Linux+ Live DVD, Knoppix o SystemRescueCD. En ese caso tendremos a nuestra disposición la aplicación QTParted. Asimismo, podemos emplear el disco de instalación de la distribución Mandrakelinux, llevando la instalación sólo a la etapa de la división del disco en particiones. Reducimos la partición NTFS de tal forma que se quede suficiente espacio para Linux. Recordemos que además de las particiones con los datos necesitaremos una partición swap. La división del espacio libre en particiones para Linux podemos realizar inmediatamente con el empleo de QTParted o bien dejar esta tarea al instalador de la distribución. No tenemos por qué preocuparnos la aplicación deje de reaccionar durante un período– hasta que parpadea el diodo del disco duro QTParted se mantiene muy ocupado.
Dejamos espacio para Linux
Conectamos nuevo disco
Figura 6. Es posible que mover un catálogo a otra partición pase desapercebido
Si queremos, podemos montar el sistema de archivos antes de introducirlo en el archivo /etc/fstab. Gracias a ello podremos comprobar que todo funciona correctamente y, después, añadir la respectiva línea. El comando ejemplar es el siguiente: # mount -t ext3 /dev/hdb1 /home
Equivale a la línea del archivo /etc/fstab dada en la sección anterior. Según podemos ver, la sintaxis del comando mount es muy simple. En la opción -t damos el tipo del sistema de archivos, luego damos el nombre de la partición y el punto del montaje. Si queremos, podemos dar las opciones del montaje – hay que precederlas de la opción -o. El listado de las opciones accesibles del montaje está accesible en la documentación (man mount).
Supongamos que en nuestro ordenador se encuentra tan sólo un disco, con una gran partición NTFS e instalado el sistema Windows XP. Como ya hemos jugado un poco con las distribuciones Live, quisiéramos instalar por fin Linux en el disco duro. Para ello necesitamos espacio.
Nuestro Linux funciona correctamente, sin embargo, poco a poco empieza a faltarle espacio en el disco. Si tenemos oportunidad, compramos un disco nuevo y lo queremos emplear no sólo para Linux sino también para los juegos que funcionan tan sólo en Windows.
Diferentes escenarios
Cuando tenemos a nuestra disposición las herramientas descritas en este artículo, debemos lograr la mayoría de situaciones que encontremos. Tenemos que darnos cuenta de que estas herramientas tienen algunas limitaciones, por lo tanto, no podremos solucionar todas las situaciones con su ayuda. En este artículo trataremos de conocer distintos casos reales y pensar cómo podemos lograrlos. Las instruc-
58
Linux+ 5/2005
Figura 7. En algunos casos tendremos que usar herramientas que funcionan en modo textual
para principiantes
particiones
Lo que no conseguiremos hacer
Supongamos que tenemos el siguiente sistema de particiones: /dev/hda1 free
Figura 8. Utilizando SystemRescueCD tenemos acceso a muchos programas útiles p.ej. en el manejo de particiones
Como el disco es nuevo podemos modificar tranquilamente su sistema de particiones empleando la aplicación QTParted suministrada con la distribución. Esta vez no tenemos la necesidad de emplear la distribución Live. Como no queremos tener problemas en Windows con las letras de los discos, en el disco nuevo creamos sólo la partición extendida. En otra situamos los siguientes discos lógicos destinados para Windows y Linux. Después de crear discos lógicos, los formateamos, fijando respectivos sistemas de archivos. Al final sustituimos las inscripciones en el archivo /etc/fstab para poder emplear todo el tiempo las nuevas particiones.
Movemos el directorio /home a una partición separada
Esta tarea es un gran reto. La mejor manera es ejecutar la distribución Live. Empezamos por comprobar el espacio que ocupa el directorio /home. Podemos realizarlo con las herramientas gráficas o con un comando dado en la línea de comandos: du -sh /home/ (desde luego, damos este comando con permisos del administrador cuando todavía está ejecutado nuestro propio sistema). Luego (ya empleando la partición Live) creamos una partición nueva – o bien en un disco nuevo o bien en el lugar que queda libre después de dismi-
nuir otra partición. Podemos formatear una de las particiones innecesarias en el sistema de archivos ext3. Lo más importante es que la partición creada sea suficientemente grande. Ahora montamos nuestro principal sistema de archivos y la nueva partición y copiamos en el directorio /home/ en nuevo lugar. Por si acaso, merece la pena dejar todavía los archivos del directorio /home/ en el antiguo disco – nos limitaremos a sustituir el nombre del directorio con /home.old/. Ahora tenemos que añadir la respectiva línea al archivo /etc/fstab en el sistema principal de archivos. Si nuestra nueva partición /home/ se llama /dev/hdb7, entonces la línea añadida al archivo /etc/fstab puede tener la forma: /dev/hdb7
/home
ext3
defaults
1 2
ext3
14GB
/dev/hda3
ext3
11GB
Para terminar
Como podemos observar, para administrar las particiones podemos emplear muchas herramientas diferentes. Independientemente de la herramienta que empleemos, deberíamos tomar precaución realizando las siguientes acciones. Sobre todo, tratamos de recordar que hay que ejecutar la copia de seguridad de los datos más importantes. Gracias a ello, incluso en el caso de infortunio, deberíamos tener la posibilidad de recuperar lo que es más importante. Sin embargo, espero que, empleando la información incluida en el presente artículo, sin problema lograréis con el cambio del sistema de particiones.
En Internet: •
LABEL=/home
•
defaults
1 2
Para terminar nos queda volver a ejecutar nuestra distribución y comprobar que todo funciona, según conviene. Si es así, podemos eliminar el directorio que ya es innecesario /home.old/. De manera parecida podemos lograr la separación de una partición separada en directorios diferentes, tales como /usr/local/, /var/ czy /tmp/.
S
Podemos observar que entre la partición /dev/hda1 y la /dev/hda2 tenemos 5 GB del espacio libre. Es un gran problema ya que en un principio, no podemos crear una nueva partición en este lugar. Esto resulta de la necesidad de guardar la compatibilidad – entre las siguientes particiones primarias no podemos introducir una más. Si este lugar se hubiera encontrado en la partición extendida, por ejemplo, entre los discos lógicos /dev/hda7 y /dev/hda8, no habría ningún problema para añadir un nuevo disco lógico. Aquí no es posible. Lo único que podemos hacer para emplear este espacio libre es aumentar la partición NTFS unos 5 GB.
•
ext3
10GB
/dev/hda2
Si le damos la etiqueta /home, es mejor guardarla en la siguiente forma: /home
NTFS 5GB
• •
Página principal de QTParted: http://qtparted.sourceforge.net/ Página principal de Parted: http://www.gnu.org/software/parted/ Página principal de SystemRescueCD: http://www.sysresccd.org/ Página principal de GParted: http://gparted.sourceforge.net/ Página principal de la distribución Knoppix: http://www.knopper.net/knoppix/ index-en.html
www.lpmagazine.org
59
para principiantes
Trucos y truquillos Grzegorz Niewęgłowski
Mover rápidamente/cambiar el tamaño de ventanas ¿Sabes que se puede mover las ventanas presionando [Alt] y luego, reteniendo el botón izquierdo del ratón, trasladarlas a cualquier lugar de la ventana? Funciona igual que se mueve detrás de la barra de título, aunque esta vez el cursor se puede situar en cualquier parte de la ventana, y la misma barra de título puede encontrarse incluso fuera de la pantalla. Si en vez del botón izquierdo, hacemos clic en el derecho, probablemente se podrá cambiar el tamaño de la ventana, sin buscar con el ratón sus bordes y sus esquinas. Son unos atajos estándar soportados por la mayoría de asistentes de ventanas en Linux.
Frenar las unidades CD/DVD Todos los usuarios quieren que los discos CD/DVD se lean lo más rápido posible. Por desgracia, los discos pueden hacer mucho ruido girando. A mí, personalmente, me gusta poner en la unidad un disco DVD con una colección grande de ficheros Ogg Vorbis y leerlo en XMMS; la unidad, entonces se acelera y frena a cada instante, resultando de verdad muy molesta. Se puede intentar resolver este problema disminuyendo lo más posible las rotaciones máximas que la unidad pueda alcanzar. La mayoría de las unidades CD/DVD hacen ruido sólo cuando gira muy rápido, cuando alcanzan sus límites. Si reducimos el valor de rotaciones máximas, podemos disminuir el ruido de modo significativo: al fin y al cabo, para ver una película DVD, la unidad no tiene que trabajar con una velocidad de 16x. Mis colegas usuarios me dicen que, en muchas unidades, basta sólo reducir un poco la velocidad para disminuir bastante el ruido y a la vez casi no contener el flujo de datos. Podemos hacerlo con el comando: hdparm -E 24 /dev/cdrom. En este ejemplo, limitamos la velocidad de la unidad a 24x: basta hacer pruebas y encontrar un valor óptimo para nuestro equipo.
60
Linux+ 5/2005
Protección de ficheros en ext2/ext3 Los sistemas de ficheros Ext2/Ext3 soportan atributos adicionales para algunos ficheros que se pueden usar para hacer unos trucos interesantes. Hay que ejecutar dos comandos desde el paquete e2fsprogs: lsattr y chattr. Con lsattr podemos ver qué atributos están determinados en este momento, y chattr permite cambiarlos. El atributo empleado con más frecuencia es i (immutable). Después de disponerlo en un fichero (con el comando chattr +i fichero), éste se protegerá: no se pueden modificar su nombre, derechos de acceso, propietario, ni contenido. Tampoco se puede eliminar, sólo se puede leerlo. Lo más importante de estas restricciones es que son obligatorias incluso para un superusuario: son unas restricciones mucho mayores que las de sólo quitar los derechos de inscripción. Los ficheros están protegidos de este modo hasta el momento
de eliminar el atributo i con el comando chattr -i fichero. Es un buen modo para proteger algunos ficheros de sistema contra su eliminación accidental o contra la modificación de su valor: es tan eficaz que incluso se puede emplear en los procesos activados con derechos de root. Otro atributo útil, es A (con el comando chattr +A fichero): la opción atime (con la fecha de la última operación de lectura del fichero), no se actualiza, o sea, no podremos comprobar cuándo se usó por última vez el fichero. Es la misma operación que en el caso de la opción noatime, que se puede emplear durante la creación de sistema de ficheros, pero aquí comprende unos ficheros singulares en vez del contenido entero de un recurso montado. Hay más atributos además de sólo i, o A. Todos ellos se mencionan en el manual de sistema: comando chattr (man chattr).
Impresión avanzada en Mozilla Mucha gente no imprime los documentos directamente desde su navegador web porque prefiere pegar los datos, p.ej. en OpenOffice.org, formatearlos y después enviarlos a la impresora. Lo hacen porque en muy pocas páginas web se ofrece una versión para imprimir (printer friendly), es decir sin imágenes y sin publicidad por lo que se aprovecha al máximo el ancho de la hoja, etc. Mozilla puede ayudar al usuario en estos casos. Una de las soluciones es Nuke Anything: la ampliación del navegador que permite eliminar de la pantalla los componentes no deseados de la página web a través del menú contextual. Basta hacer click en imagen/publicidad/columna innecesaria, elegir Remove this object, y se eliminará el objeto. Mozilla cambiará el formato del documento para aprovechar el espacio que queda libre y, por supuesto, en la impresión esto tampoco se notará. Basta hacer un par de clics para limpiar la página de modo que se pueda imprimir. Es una función muy útil si se trata de textos largos, de los que podemos eliminar los gifs animados molestos, u otros componentes que nos dificulten la
Figura 1. ¡Gracias a esta función puedes imprimir sólo lo que quieras!
lectura. Si todavía es poco, podemos emplear una herramienta llamada DOM Inspector (puede ser inaccesible en las versiones reducidas del navegador). Muestra la estructura del documento, visualizando el componente marcado: con la tecla [Del] podemos eliminar los elementos seleccionados de la pantalla. El marco nos permite determinar qué parte de la página vemos. La Figura 3 muestra el aspecto de la página web de la revista Linux, después de eliminar parte de sus componentes.
trucos y truquillos
para principiantes
Mover con el cursor del ratón por medio del teclado Después de presionar [Shift]+[NumLock] se puede mover el cursor por medio del teclado numérico. La tecla [5] funciona como clic. Las teclas [ / ], [*] y [-] cambian el número de la tecla atribuida a [5] (respectivamente se eligen la tecla número 1, 2 ó 3), es decir, si después de presionar [-], presionamos [5], obtenemos el mismo resultado que después de pre-
sionar el botón derecho (segundo) del ratón. La tecla [+] equivale a dos clics (no obstante, puedes simplemente presionar dos veces “cinco”); [0] bloquea el botón del ratón para que quede apretado todo el tiempo, y [.] elimina el bloqueo: es útil, ante todo, cuando arrastramos algo con el ratón. Nunca se sabe; un día podemos necesitar estos trucos, por ejemplo, hace
poco tuve que simular de este modo el botón derecho del ratón estropeado durante un par de días, antes de sustituirlo con nuevo ratón. X Window soporta directamente estos atajos de teclado, pues funcionan en todos los entornos (GNOME, KDE, IceWM etc.).
Administración colectiva con metadatos en colecciones de música Hace poco que he archivado mis colecciones de música en varios discos DVD. Tardé mucho en ordenarlas, unir juntos los álbumes perdidos, atribuirlos a grupos determinados, etc. Esta vez decidí hacerlo de modo correcto y completar también así llamados indicadores. Al principio, me serví con Amarok (tiene muchas ventajas, y, además, es un editor de indicadores fácil de manejar), pero luego mis colegas me recomendaron otra herramienta especializada con este objetivo: EasyTag. Al principio el programa no me gustó por su interfaz, bastante desarrollada, pero después de familiarizarme con él, empecé a apreciar las posiblidades de este programa. Es una herramienta óptima para completar los indicadores y cambiar los nombres de ficheros. La edición de indicadores es una buena solución. Ante todo, podemos introducirlos manualmente (si es necesario, ordenar
que se copie un rasgo determinado, por ejemplo, el nombre del autor en todas las canciones seleccionadas) y completarlos de modo automático. Además, podemos usar la opción de búsqueda de datos por CDDB (puede resultar útil si no disponemos de informaciones específicas sobre una canción) y usar una herramienta práctica para completar los indicadores según los modelos deducidos del sistema de ficheros/directorios: en la ventana de diálogo se define qué parte del nombre del fichero es el autor, qué parte es el número de la ruta y qué parte es el título de la canción o del álbum. Es muy cómodo si tenemos una colección de ficheros con nombres descriptivos, pero a la vez con lagunas en indicadores. Asimismo, es posible operar en la dirección opuesta: podemos crear un nuevo modelo de los nombres de ficheros sobre la base de indicadores y EasyTag modificará respectivamente sus nombres. Esta
Figura 2. Merece la pena sobreponerse y aprender cómo funcionan todos estos botones y el menú
opción de verdad me ha gustado porque, con un par de clics, se pueden cambiar los nombres de unos cientos de ficheros. El programa soporta la mayoría de formatos populares de ficheros con música y de indicadores: mp3, mp2, ogg, mpc, ape, flac; lo recomiendo, porque gracias a él es mucho más fácil ordenar nuestra colección de canciones..
Mozilla Firefox y sus fuentes ¿demasiado grandes/demasiado pequeñas? Mozilla no permite seleccionar con el ratón una fuente usada en el menú o en las pestañas. No obstante, esto no significa que estemos condenados a trabajar con opciones predeterminadas, en las que los tipos de la interfaz puedan resultar demasiado pequeños o demasiado grandes. La solución es crear el fichero userChrome.css, y en mi caso ~/.mozilla/firefox/vkv3ei6r.default/chrome/ userChrome.css. En las instalaciones de Mozilla y de Firefox la ruta será distinta, por eso lo más fácil es buscar el fichero userChrome-example.css en el directorio ~/.mozilla. En el sitio en que se halla este fichero hay que colocar el nuestro userChrome.css. Este fichero usa la sintaxis CSS (Cascading Style Sheets: hojas de estilos de cascadas) para
describir los elementos de la interfaz del navegador. Si no conocemos CSS, podemos adaptar a nuestras necesidades el contenido del ejemplo indicado a continuación: textbox, toolbarbutton, menubutton, menulist, menu, menuitem { font-family: Trebuchet MS !important; font-size: 13px !important;} tab, toolbarbutton {
Figura 3. Selección de DPI en Firefox
font-family: Trebuchet MS !important; font-size: 12px !important;} statusbarpanel { font-family: Arial !important; font-size: 11px !important;}
algunos elementos determinados de la intefaz del navegador. Naturalmente disponemos de todos los atributos de las hojas CSS, como efectos especiales, colores, etc.
Después de usar estas definiciones, se cambiará el carácter y el tamaño de
www.lpmagazine.org
61
Dispositivos
Skype y otras aplicaciones de micrófono en Linux Piotr Wolny
E
DVD
Después de ejecutar la distribución Linux+ Live DVD podemos emplear Skype.
En el disco DVD
En el disco DVD se encuentran las aplicaciones descritas en este artículo.
62
Linux+ 5/2005
l micrófono es el dispositivo periférico menos apreciado de nuestros ordenadores. A pesar de que prácticamente todas las tarjetas de sonido están dotadas de entrada de micrófono, muchos de nosotros ya poseemos este dispositivos (además, podemos comprarlo por menos de diez euros), y raras veces encontramos sistemas que usarían micrófono para más utilidades. La primera aplicación que asociamos con el micrófono es grabar nuestra propia voz, sobre todo, los usuarios más jóvenes que consideran éste como un excelente juego. Unas aplicaciones más serias incluyen la, cada vez más popular, telefonía vía Internet. La aplicación Skype, que permite llevar conversaciones completamente gratuitas en Internet, goza últimamente de una gran popularidad. Aunque la tecnología que emplea está registrada y la misma aplicación no es código fuente abierto, merece la pena prestarle nuestra atención. No sólo porque hay desarrollada una versión para Linux, sino que teniendo en cuenta su potente y cada vez mayor popularidad en todo el mundo, Internet, vía Skype, tiene todos los días unos dos millones de usuarios. Todo no son las aplicaciones de micrófonos. Nos ocuparemos también, en breve, de la inteligente escucha del piso, es decir, de la aplicación que registra sonido sólo cuando se oye algo. Nuestro micrófono puede ser útil también para controlar el ordenador por medio de la voz. Este tipo de tecnologías nos parecen más populares y serán parte integrante de las siguientes versiones de KDE. Merece la pena ver cómo funcionan hoy bajo Linux.
Configuración del sonido
Las aplicaciones que describo en este número cooperan con la antigua infraestructura del sonido denominada Open Sound System (OSS). Casi todas las distribuciones de Linux hoy en día emplean ya drivers más recientes: Advanced Linux Sound Architecture (ALSA). Para nosotros esto no constituye ningún obstáculo ya que ALSA permite la emulación del antiguo sistema de sonido OSS por medio de unas líneas en el archivo de configuración. Todos los temas relacionados con ALSA están descritos en Linux+DVD de enero de 2005. Allí podéis encontrar también información sobre la emulación de OSS, pues en breve sólo recordaré la información básica sobre este tema.
Instalación de ALSA
Durante la instalación de nuestra distribución de Linux se instalaron probablemente los componentes básicos ALSA. Los drivers de las respectivas tarjetas están incluidos en el paquete con el kernel del sistema que seguramente tenemos instalado. Asimismo, es difícil no tener en el sistema el paquete alsa-lib. Por si acaso, es importante comprobar si hemos instalado los paquetes alsa-utils y alsa-oss (si es accesible en nuestra distribución). También, serán muy útiles todos los accesibles equivalentes -devel de los respectivos paquetes ALSA. Yo suelo emplear las versiones más recientes de ALSA, compiladas de fuentes (en este momento 1.0.8). Es muy útil, sobre todo, cuando tenemos una tarjeta de sonido relativamente nueva (como, por ejemplo, la mía: Audigy2) y cuando queremos emplear
Dispositivos
Skype
sión alsa-lib; esta segunda la podremos comprobar con el comando grep VERSION_STR /usr/include/alsa/version.h.
Configuración de módulos
Figura 1. La basura en la consola demuestra los datos sonoros que proceden del micrófono
la emulación OSS; en las versiones más recientes de ALSA se añadieron muchos parches importantes en esta parte del código. Esto no quiere decir que ALSA, incluida en nuestra distribución, no vaya a funcionar; probablemente todo funcionará bien, al menos si tenemos la versión 1.0, como mínimo (podemos comprobarlo con el comando more /proc/asound/ version). Esto no cambia el hecho de que el empleo de las versiones más recientes suele ser más seguro. La descripción de la instalación de los drivers ALSA de fuentes la encontraremos también en el mencionado número de Linux+. Además, tenemos que prestar atención a que la versión de drivers (dada en /proc/ ) no se diferencie de la verListado 1. Configuración ejemplar de los módulos ALSA en el archivo /etc/ modprobe.conf alias char-major-14 soundcore # cantidad máxima de tarjetas 2 options snd cards_limit=2 # asignación de tarjetas a los módulos alias snd-card-0 snd-emu10k1 alias snd-card-1 snd-usb-audio # determinamos la secuencia de tarjetas options snd-emu10k1 index=0 options snd-usb-audio index=1 # secuencia de tarjetas en OSS # igual como en ALSA # sound-slot -> OSS # sound-card -> ALSA alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1 # qué dispositivo será /dev/dsp, # y qué /dev/adsp # options snd-pcm-oss dsp_map=1
Como he mencionado anteriormente, necesitaremos que la emulación de OSS funcione. En ALSA existen dos maneras alternativas de emular OSS: al nivel del kernel y al nivel de la aplicación. La emulación al nivel del kernel es mucho más segura y en ella nos centraremos. En la configuración más simple, todo lo que necesitemos es cargar durante el inicio del sistema los módulos del kernel que soportan nuestra tarjeta (por ejemplo, snd-emu10k1 para mi tarjeta Audigy2) y el módulo snd-pcmoss. Los demás módulos deberían cargarse automáticamente. Si, después de iniciar el sistema, en el listado de los módulos cargados, que se muestran con el comando lsmod, no aparece snd_pcm_oss, podemos añadir el comando modprobe snd-pcm-oss a uno de los archivos de inicio (por ejemplo: /etc/rc.d/rc.local). La configuración se va complicando un poco cuando tenemos más de una tarjeta. Podemos analizarla en el ejemplo del fragmento del archivo /etc/modprobe.conf que se encuentra en el Listado 1. Los comentarios añadidos nos explican las inscripciones en este archivo. Después de realizar los cambios en /etc/modprobe.conf tenemos que volver a cargar los módulos ALSA en el kernel. No siempre esta operación es rápida y fácil, a veces lo más sencillo es, simplemente, reiniciar el sistema.
Comprobamos el funcionamiento
Después de iniciar el sistema, podemos recibir el listado de nuestras tarjetas de sonido con el comando cat /proc/asound/ cards. Si en la lista no aparece nuestra tarjeta, a lo mejor, es que no está soportada por el módulo que el sistema quería cargar para su soporte. Para más información sobre el tema de solucionar los problemas con drivers ALSA, también los encontraremos en el mencionado número de Linux+. Para un funcionamiento del sonido más eficiente lo mejor es emplear unas simples aplicaciones que encontraremos en el paquete alsa-utils. La primera que deberíamos ejecutar es alsamixer. Cuando la ejecutemos sin ningún parámetro veremos la regulación de volumen de la primera tarjeta en el sistema. Las versiones
Skype para Linux
La tecnología Skype permite llevar conversaciones por la Red, es decir, la conocida telefonía por Internet. La aplicación funciona muy bien, independientemente del tipo de conexión a Internet que poseen los interlocutores. Puede funcionar también en el caso de que los dos interlocutores poseen una conexión por medio de los servidores proxy o bien encaminadores NAT. Tal configuración, en el peor de los casos, sólo puede empeorar la calidad del sonido que en Skype está a un nivel muy alto; la cantidad de los datos transmitidos se ajusta automáticamente a las posibilidades de nuestra conexión. El éxito de Skype, que entre muchos de los accesibles servicios de este tipo llegó a ser el más popular, viene porque desde el principio la empresa tuvo en cuenta la existencia de diferentes sistemas operativos de MS Windows. Por lo tanto, es accesible para Linux, Pocket PC y Mac OS X. Skype, en la versión para nuestro sistema operativo, es completamente funcional y, además de las conversaciones por Internet, permite el envío de archivos, un chat de texto, llamadas a teléfonos fijos y móviles (después de comprar el servicio Skype-out) la comprobación de que las personas conocidas están accesibles en línea. La única función que falta en el cliente para Linux es iniciar las conexiones a las conferencias, sin embargo, podemos participar en ellas. La aplicación Skype para Linux últimamente ha conseguido la versión 1.0, ya que los autores llegaron a la conclusión de que después de muchos meses de pruebas realizadas por la comunidad, es completamente estable y funcional. Realmente da esta impresión aunque la falta de soporte para ALSA es falta importante.
más antiguas de Alsamixer muestran todos los reguladores, en cambio, las más recientes, sólo los reguladores relacionados con la reproducción (playback) y no con la captura (capture). Nosotros necesitaremos la configuración de captura, por lo tanto, ejecutaremos esta aplicación de la siguiente manera: alsamixer -c 0 -V all. Después de la opción –c, introducimos el número de la tarjeta de sonido, contado desde cero, y después de la opción -V (accesible tan sólo en las versiones más recientes de la aplicación) fijamos playback, capture o bien all, dependiendo del tipo de reguladores que queramos que sean accesibles.
www.lpmagazine.org
63
Dispositivos
Listado 2. Archivo ejemplar /etc/ asound.conf # dispositivo "dmixed" que reproduce # muchos sonidos a la vez pcm.dmixed { ipc_key 1025 type dmix slave.pcm "hw:0,0" # empleamos el primer playback # de la primera tarjeta } # el dispositivo "dsnooped" permite # grabar por muchas aplicaciones # a la vez pcm.dsnooped { ipc_key 1027 type dsnoop slave.pcm "hw:0,0" # empleamos la primera capture de la # primera tarjeta } # estos dos dispositivos los juntamos # en uno solo denominado "asymed" pcm.asymed { type asym playback.pcm "dmixed" capture.pcm "dsnooped" } # añadimos al dispositivo "asymed" # conversión automática # y la hacemos predeterminada en el # sistema pcm.!default { type plug slave.pcm "asymed" } # el mismo dispositivo sólo que con # un nombre concreto "pasymed" pcm.pasymed { type plug slave.pcm "asymed" } # dispositivo de control, necesario # para XMMS ctl.pasymed { type hw card 0 } # la aplicación aoss emplea estos # datos pcm.dsp0 { type plug slave.pcm "asymed" } ctl.mixer0 { type hw card 0 }
ejemplo, las basadas en emu10k1, no poseen la posibilidad de seleccionar la fuente de grabación, en cambio, poseen muchos reguladores de volumen de captura (capture) en los que también tenemos que fijarnos. Cuando pensamos emplear micrófono, fijamos el conmutador Mic Boost (amplificación del micrófono). Su configuración depende de nuestro dispositivo, y en caso de trato incorrecto, puede ocasionar que el sonido sea demasiado bajo o demasiado alto. En vez de Alsamixer, podemos emplear otra aplicación que funcione en el entorno gráfico, por ejemplo, Gnomealsamixer o Kmix, sin embargo, muchas veces los creadores de tales mezcladores no siguen las versiones más recientes de ALSA y, como consecuencia, sus aplicaciones no funcionan correctamente. Cuando queremos emplear cualquier mezclador, tenemos que fijarnos en si fue escrito para ALSA o para OSS. En este segundo caso sólo nos servirá para fijar los valores básicos. Después de la adecuada configuración del mezclador, conseguiremos el listado de todos los dispositivos que reproducen y capturan el sonido, por ejemplo, en mi sistema el comando aplay -l demostró los siguientes dispositivos que sirven para reproducir sonido: **** List of PLAYBACK Hardware Devices ****
S
card 0: Audigy2 [Sound Blaster Audigy2], device 0: emu10k1 [EMU10K1]
S
card 0: Audigy2 [Sound Blaster Audigy2], device 2: emu10k1 efx [EMU10K1 EFX]
La tarjeta no es típica ya que posee dos dispositivos de reproducción que además se numeran sucesivamente: tenemos device 0 y device 2. La mayoría de las tarjetas sólo tendrá un dispositivo, por lo tanto, en este caso no nos ocuparemos de los problemas específicos, únicamente para las tarjetas Creative. Además, del listado mencionado antes (y del siguiente) saqué información innecesaria sobre subdevices. Veremos ahora los dispositivos de captura (capture) mediante el comando arecord -l: **** List of CAPTURE Hardware Devices ****
S
En la aplicación Alsamixer, nos fijaremos en el volumen de las respectivas entradas de tarjeta así como de la fuente desde la que se graba el sonido (capture source). La errónea configuración del mezclador es la causa de los problemas con el sonido más frecuentes en Linux. Algunas tarjetas, por
64
Linux+ 5/2005
card 0: Audigy2 [Sound Blaster Audigy2], device 0: emu10k1 [EMU10K1]
S
card 0: Audigy2 [Sound Blaster Audigy2], device 1: emu10k1 mic [EMU10K1 MIC]
S
card 0: Audigy2 [Sound Blaster Audigy2], device 2: emu10k1 efx [EMU10K1 EFX]
S
card 1: Camera [USB Camera], device 0: USB Audio [USB Audio]
Figura 2. La aplicación Skype es extendida a pesar de ser simple en el uso
Otra vez la tarjeta Audigy2 nos sorprende con la cantidad de posibilidades que ofrece, por ejemplo, gracias al dispositivo emu10k1 mic capturamos el sonido del micrófono, independientemente de la configuración capture en el mezclador. Sin embargo, como he mencionado antes, es una tarjeta algo complicada y poco típica. Las tarjetas normales sólo tienen un dispositivo de captura. En el listado mencionado, encontramos la siguiente tarjeta de sonido (card 1). Realmente, lo que funciona muy bien con ALSA, es una cámara digital USB con micrófono Como podemos observar, la cámara tan sólo ve el dispositivo capture, puesto que no se encontraba en el listado playback. Antes de que pasemos a analizar los dispositivos, tenemos que asegurarnos de que ninguna de las aplicaciones (por ejemplo, Arts, Esd, XMMS, etc.) bloqueará el acceso a la tarjeta de sonido. Si todavía no conocemos bien Linux, lo más fácil será desactivar completamente el entorno gráfico y trabajar con la consola de texto. Entonces podemos estar casi seguros de que nada debería bloquear nuestra tarjeta. Los respectivos dispositivos de reproducción, los analizamos por medio del comando aplay -D plughw:[nro_tarjeta], [nro_dispositivo] un_archivo.wav, por ejemplo, aplay -D plughw:0,0 test.wav. De la misma manera, podemos analizar los dispositivos de captura, por ejemplo, arecord -D plughw:1,0 hará que el sonido del primer dispositivo en la segunda tarjeta sea "imprimido" en la consola, y arecord -D plughw: 1,0 >archivo.wav lo guarde como archivo. La aplicación arecord funcionará hasta que apretemos [Ctrl]+[c]. "La impresión" del sonido en la consola es bastante cómoda si queremos comprobar, rápidamente, que se puede capturar el sonido del dispositivo dado (cuando los datos binarios hacen que la fuente en la consola sea ilegible, podre-
Skype
mos restaurar su estado inicial, introduciendo "con los ojos cerrados" el comando reset). Como prueba es importante que el micrófono funcione en el sistema, cuando los datos no son visibles para la aplicación arecord. El hecho de que el sonido se oiga en los altavoces no dice nada y no molesta a la hora de realizar las conversaciones. Cuando no vemos ningún dato (además de unos bytes de la cabecera wav), tenemos que volver a comprobar la configuración del mezclador. En caso de que nuestro dispositivo no tenga mezclador (por ejemplo, mi micrófono incluido en la cámara), el culpable de la falta de sonido puede ser un archivo mal configurado .asoundrc del directorio principal o del /etc/asound.conf, del que hablaremos más adelante.
Comprobamos la emulación OSS
El sistema tradicional de sonido emplea el dispositivo /dev/dsp que tanto lee los datos (es decir, captura el sonido) como los guarda (es decir, reproduce el sonido). El acceso al segundo dispositivo de la primera tarjeta lo obtendremos mediante /dev/adsp, en cambio, la comunicación con la segunda tarjeta se realiza mediante /dev/ dsp1. En la configuración predeterminada de ALSA, el dispositivo /dev/dsp responde al primer dispositivo playback, y al primer dispositivo capture en la primera tarjeta de sonido. Al sustituir el alias sound-slot-0 (véase el Listado 1), asignamos al primer dispositivo dsp la tarjeta que, según ALSA, es la segunda. Además, por medio de la opción del módulo snd-pcm-oss dsp_map=1 podemos sustituir en los lugares correspondientes los dispositivos dsp y adsp. Sin embargo, recordamos que en este caso no sólo sustituimos los dispositivos playback, sino también capture. Yo tengo el vicio de realizar un rápido análisis de los dispositivos dsp por medio del comando cat. Cuando ejecutemos el comando cat /dev/urandom > /dev/dsp, deberíamos escuchar un bramido muy alto. Esto significa que la emulación OSS funciona en relación con el dispositivo playback. Con el siguiente comando, comprobamos que podemos leer el sonido del dispositivo; cat /dev/dsp debería llenar nuestra consola con los datos binarios directamente del micrófono. Está claro que lo fundamental es que en el micrófono entre un sonido y que la configuración del mezclador sea correcta.
En mi sistema, donde /dev/dsp1 indica el micrófono USB, el comando cat /dev/ dsp1 muestra los datos que vienen del micrófono, en cambio, cat /dev/urandom >/dev/dsp1 dice que tal dispositivo no existe. Si esto es lógico, es muy difícil esperar que el micrófono USB diga algo. La aplicación Skype, que es capaz de funcionar sólo con OSS, no permite emplear diferentes /dev/dsp para capturar y reproducir, así pues, tenemos que tener el mismo /dev/dsp para ambas operaciones. Aún más, ¿qué pasará cuando queramos emplear micrófono USB y, por ejemplo, auriculares que están conectados a la primera tarjeta de sonido? Esta configuración es posible, sin embargo, aquí no será suficiente la emulación de OSS al nivel del kernel. De esto me ocuparé en la siguiente parte del artículo.
Fácil configuración de ALSA
En el número de enero de Linux+ escribí sobre esta configuración de ALSA para que sea posible, a la vez, la reproducción de sonido por muchas aplicaciones sin bloquear la tarjeta de sonido. Di también el ejemplo de la configuración del dispositivo de captura de sonido que pueden emplear unas aplicaciones al mismo tiempo. Con las versiones actuales ALSA (en este momento 1.0.8), la mezcla con la aplicación de sonido de la que hablamos, también funciona sin problema con la emulación de OSS. Cuando configuremos bien el sistema, podremos ejecutar Skype o cualquier aplicación sin la necesidad de desactivar XMMS o Arts. En el Listado 2 puse una configuración simplificada, gracias a la cual los dispositivos predeterminados ALSA se podrán abrir muchas veces, tanto para reproducir como para capturar. Una configuración de este tipo nos servirá también cuando no queramos emplear el micrófono USB junto con Skype. El contenido de este listado, deberíamos colocarlo en el sistema con el nombre /etc/ asound.conf. Cuando una de nuestras aplicaciones tenga problemas de cooperación con tal configuración, podemos eliminar de este archivo la inscripción que produce tal dispositivo predeterminado del sistema (es decir, toda la definición pcm.!default) y cada vez que nos refiramos a su nombre, es decir pasymed. podemos emplear este nombre como nuestros propios dispositivos ALSA en la configuración Arts, XMMS etc.
Dispositivos
Skype
Para Linux no surgen muchas aplicaciones usuales con código cerrado, y los que ya existen, no consiguen una amplia popularidad ni una buena opinión. Skype es, en este caso, uno de las pocas excepciones. La aplicación es muy estable, estética y cómoda. Se integra muy bien con el entorno KDE o GNOME y casi no da la impresión de una aplicación de MS Windows. Su defecto serio es la falta de ALSA, lo que en la práctica significa la necesidad de una correcta configuración de la emulación OSS. Podemos descargar Skype para Linux de la página http://www.skype.com/ products/skype/linux/. En ella tenemos a nuestra disposición los paquetes rpm y deb para las distribuciones más populares de Linux y la versión dynamic binary que debería funcionar en casi todas las nuevas distribuciones de Linux. Para que la aplicación funcione, necesitamos una conexión a Internet (puede ser incluso mediante proxy o NAT ya que la aplicación soportará tal solución) y unas librerías básicas más, incluyendo Qt 3.2 (paquete libqt3 o qt3) o bien libstdc. Además, nuestro dispositivo de sonido /dev/dsp tiene que funcionar en ambas direcciones, lo que comprobaremos antes con el comando cat. Si por varias razones ni rpm para nuestra distribución ni la versión dynamic binary funcionan, podemos tratar de probar static binary, aunque es mucho más grande y tendrá peor aspecto en el entorno gráfico (por ejemplo, los colores o el estilo no se ajustarán al empleado actualmente). La propia instalación es muy simple. Para el caso de paquetes preparados será suficiente rpm -U nombre_del_archivo.rpm o bien dpkg -i nombre_del_archivo.deb. Cuando empleamos la versión dynamic binary, tan sólo descomprimiremos el archivo y ejecutaremos la aplicación del directorio que acabamos de crear (cd skype-1.0.0.7; ./skype). De manera alternativa, podemos copiar el archivo ejecutable skype en /usr/local/bin/, y los directorios
Figura 3. El fabricante garantizó un servicio que permite analizar sonido
www.lpmagazine.org
65
Dispositivos
Figura 4. La aplicación durante la conexión
icons, lang y sound en el directorio creado antes /usr/local/share/skype/. Además, es importante saber que la aplicación guarda sus datos de configuración en el directorio $HOME/.Skype/. En la primera ejecución, se nos pedirá registrarnos como usuario existente o registrar a un usuario nuevo. Para ello no tenemos por qué dar muchos datos, incluso la dirección e-mail es opcional. A continuación, seleccionaremos el idioma español para la interfaz, haciendo clic en Tools–>Set Language. Cuando queramos emplear otro dispositivo que no sea /dev/ dsp, podemos hacer clic en Archivo–>Opciones y, luego, Hand/Handset. Allí seleccionamos el dispositivo principal de sonido por el que hablamos o bien, eventualmente, uno adicional, como por ejemplo, ringing que sirve tan sólo para señalar que alguien quiere llamarnos. La segunda opción, en el momento de escribir este artículo, aún no está activa para Linux, sin embargo, pronto será completamente funcional. Y nos sirve cuando para hablar mediante Skype empleamos la tarjeta de sonido a la cual tenemos conectados, por ejemplo, unos auriculares con micrófono. Entonces, está bien emplear un dispositivo separado para poder escuchar la llamada cuando no tenemos los auriculares puestos. Como he escrito antes, para que la conversación por medio de Skype sea posible, nuestro dispositivo /dev/dsp tiene que fun-
66
Linux+ 5/2005
cionar en ambas direcciones. Actualmente, tenemos que analizar nuestros drivers de sonido, empleando una función especial de esta aplicación. Es suficiente llamar al usuario con el nombre echo123. En esta identificación una voz femenina en inglés – aunque con fuerte acento estonio – nos informará de que digamos algo durante 10 segundos después de la señal. Luego, después de la siguiente señal, se nos volverá a enviar nuestra ponencia de 10 segundos. Si hemos escuchado la voz de nuestra interlocutora y la nuestra, esto significa que todo está bien. Podemos empezar a emplear Skype. Pero si sólo escuchamos la voz de la operadora automática y no hemos escuchado nuestra propia voz, significa que tenemos un problema con la captura (capture) por parte de nuestra tarjeta. Tenemos que volver a comprobar la configuración del mezclador y buscar un error en la configuración. En el caso de que nuestros dispositivos no se quieran abrir (en el modo de reproducción o captura), recibiremos inmediatamente un mensaje acerca de un error de entrada/salida del sonido al abrir la conexión. Debemos Comprobar los permisos de acceso al respectivo /dev/dsp. Puede ocurrir que nuestros interlocutores escuchen nuestra voz bastante deformada, con resonancia. La culpable es la mala configuración del mezclador en las tarjetas con emu10k1, por lo que tenemos que bajar el volumen del canal PCM Capture (para la conversación necesitamos tan sólo MIC Capture). Una vez que todo funciona tal como debería, conviene empezar añadiendo al listado de contactos a los conocidos con los que queremos hablar. Cuando conocemos el nombre de alguien en la Red Skype o, simplemente, queremos emplear el servicio Skype-out, basta con añadir un número de teléfono pulsando en Herramientas–>Agregar un contacto. Alternativamente, podemos emplear el buscador de contactos (Herramientas–>Buscar Contactos), donde, al cambiarnos en la búsqueda avanzada, tenemos la posibilidad de encontrar a las personas a partir de los datos libres que todos consignamos al registrarnos en la cuenta de Skype. Cuando queremos emplear la aplicación Skype para conocer a gente nueva que está en linea, tenemos que fijarnos, sobre todo, en el idioma en que queremos hablar y, después, marcar la posición Search for people who are in 'Skype me' mode. ¿Qué significa esto? El estado Skype me es el siguiente estado, además de “accesible”,
"ausente" o "fuera del ordenador", con el que informamos de nuestra situación a los demás usuarios de Internet. Esto significa que estamos en la Red y tenemos ganas de hablar con cualquier persona, incluyendo a desconocidos. A la hora de buscar, si marcamos esta la posición, recibiremos un listado de personas que comunicaron su disponibilidad para hablar. Cuando recibamos en el buscador la lista de personas, todas las demás operaciones las realizamos con un sólo clic del botón derecho del ratón en la posición dada; así, podemos añadir contactos, ver información sobre éstos, etc. La interfaz de la aplicación Skype está compuesta de unas pestañas que equivalen a las respectivas funciones. Hacia Listado 3. Definiciones de los dispositivos dsnooped y dmixed con parámetros # el dispositivo "dmixed" que # reproduce muchos sonidos a la vez pcm.dmixed { ipc_key 1025 type dmix slave { pcm "hw:0,0" # empleamos el primer dispositivo # de la primera tarjeta period_time 0 buffer_time 0 period_size 2048 # tiene que ser la potencia de 2 buffer_size 32768 #como más arriba rate 48000 } } # el dispositivo "dsnooped" permite # grabarse por muchas aplicaciones # a la vez pcm.dsnooped { ipc_key 1027 type dsnoop slave { pcm "hw:0,0" # empleamos el primer dispositivo # de la primera tarjeta period_time 0 period_size 2048 # tiene que ser la potencia de 2 buffer_size 32768 #como más arriba rate 48000 } }
Skype
Figura 5. La aplicación Listener, aunque funciona en la consola, no resulta complicada en la configuración
el final encontramos la pestaña Registro donde guardamos la historia de todas las conexiones (entrantes, salientes y no contestadas). Otra pestaña es Marcar, que será útil únicamente a la hora de llamar a teléfonos fijos y móviles. También encontramos Contactos, con el listado de todas las personas que pusimos allí. En la primera pestaña, llamada Inicio, tenemos la lista de todos nuestros conocidos que en ese momento se encuentran accesibles en la Red y que previamente acordaron ofrecernos esa información. Abajo, en el menú desplegable, podemos seleccionar a cualquier usuario de la lista de contactos y, luego, apretar el auricular verde para conectarnos a él. Para llamar a alguien, pasamos a la pestaña Contactos, marcamos al usuario y, otra vez, hacemos un clic sobre el auricular verde. En cambio, si hacemos clic dos veces sobre el nombre del usuario, abriremos la ventana de comunicación por texto. Tenemos que fijarnos en el icono de la bandeja del sistema. Éste tiene dos funciones: primero, permite la configuración de nuestro propio estado en la Red ("accesible", "ausente", etc.) y, segundo, empieza a parpadear cuando alguien quiere llamarnos. En ese mismo momento, deberíamos oír el respectivo sonido en los altavoces y, al acceder a la ventana de la aplicación, ver la pregunta para aceptar o rechazar la conexión.
Micrófono USB y Skype
La voluntad de emplear el micrófono USB constituye un reto, gracias al cual podemos conocer los siguientes interesantes secretos de los drivers ALSA. Como ya he mencionado cuando configuramos la emulación de OSS, no podemos asignar diferentes dispositivos al mismo /dev/dsp. Por lo tanto, no es posible provocar la situación cuando, tanto el micrófono USB como los auriculares, estén conectados
a la tarjeta de sonido y se comuniquen con Skype por el mismo dispositivo. Esta limitación se refiere sólo a la emulación de OSS al nivel del kernel. Cuando definimos nosotros mismos los dispositivos ALSA, podemos hacer lo que nos dé la gana. Veamos otra vez el Listado 2. Cerca de la línea ocho está la definición del dispositivo dsnooped, y en él está la referencia al subordinado slave.pcm "hw:0,0", es decir, el primer dispositivo de la primera tarjeta. Podemos, sin ningún obstáculo, introducir, en lugar de "hw:0,0" la localización de nuestro micrófono USB (o cualquier otro dispositivo capture), por ejemplo, en mi caso sería "hw:1,0". Gracias a ello, tenemos nuestro dispositivo predeterminado de sonido ALSA que reproducirá por medio de la primera tarjeta y capturará del micrófono USB. Para que los cambios en el archivo /etc/asound.conf se realicen, lo mejor es volver a cargar los módulos ALSA en el kernel. Por el momento, no hay mucho más que decir en relación a Skype, ya que éste sabe cooperar tan sólo con los dispositivos OSS. Existe una forma de evitar este problema que funciona en algunas distribuciones. Podemos ejecutar Centro de Control KDE, para convencer al servidor de sonido KDE (Arts) de que podemos emplear nuestro propio dispositivo, definido por nosotros mismos. Deberíamos marcar en la configuración que emplee ALSA y que funcione en modo duplex. Cuando nuestro dispositivo ALSA no es el dispositivo predeterminado del sistema, introducimos además Propios dispositivos de sonido –> pasymed. Luego, reiniciamos el servidor de sonido y si se ha ejecutado sin errores, analizamos si el sonido es audible y no está deformado. A continuación, ejecutamos el comando artsdsp -m skype. El comando Artsdsp asegura la emulación de OSS en el entorno KDE, por lo tanto, todos los datos sonoros de Skype pasarán por el servidor Arts para finalmente llegar a los drivers ALSA. Se recomienda esta solución por los creadores de Skype y funciona con Arts en la versión 1.2.2. Yo he conseguido ejecutarlo sin problema con Arts 1.3.2 y ALSA 1.0.8. Muchos usuarios anuncian problemas con el funcionamiento de este método, sobre todo con Arts en la versión 1.2.3. La aplicación Skype simplemente desaparece justo después de la prueba de llamar o aceptar la conversación. Muchas veces no nos ayuda en este caso ni nuestra compilación de las fuentes del nuevo driver
Dispositivos
de sonido ni la compilación del demonio Arts. La solución suele ser el empleo de otro paquete de Skype; los paquetes rpm o deb para las respectivas distribuciones se diferencian entre sí. Se construyeron a base de diferentes versiones de las básicas librerías del sistema, lo cual ocasiona justamente este tipo de efectos. Está claro, lo más seguros en el funcionamiento serán los paquetes destinados concretamente para nuestra distribución. En caso de que se cuelgue Skype, podremos emplear los demás. Además, a veces sucede que el sonido "salta", como si se hubiera atascado. Entonces, es muy útil aumentar los respectivos dispositivos en la configuración de ALSA. Las definiciones corregidas que tenemos que sustituir en /etc/asound.conf, están en el Listado 3. Sin embargo, cuando el sonido es bueno con una configuración estándar, es mejor no aumentar los búfers, ya que esto puede ocasionar otros problemas. También podemos experimentar con una diferente configuración de Arts, sin embargo, siempre debería funcionar en modo duplex, así como con la prioridad activada del tiempo real. El empleo del micrófono por medio de la avanzada configuración de ALSA y por medio de Arts es sólo una solución provisional. Las siguientes versiones de Skype para Linux ya tendrán uno soporte nativo para ALSA. Merece la pena conocer las posibilidades no sólo de /etc/asound.conf, sino también el uso de la aplicación Artsdsp. De manera muy parecida funciona la aplicación Esddsp que hace lo mismo para el servidor del sonido ESD. Lo emplearemos con éxito para ejecutar Skype, sobre todo, cuando trabajamos en el entorno GNOME y el servidor ESD bloquea nuestra tarjeta de sonido. Los creadores de ALSA también elaboraron un método parecido a la emulación
Figura 6. Perlbox-voice, aunque parezca pequeño, emplea modernas tecnologías de reconocimiento del habla
www.lpmagazine.org
67
Dispositivos
de OSS. Podemos ejecutar un aplicación con el argumento aoss, por ejemplo, aoss snd. Desgraciadamente, este método no funciona con Skype. Tenemos que recordar, además, que manipulando /etc/asound.conf podemos estropear seriamente el funcionamiento no sólo de los dispositivos emulados OSS (es decir, /dev/dsp itd.), sino también de los dispositivos nativos ALSA. Listener Cuando ya tenemos configurada la emulación OSS, es necesario fijarnos en otras aplicaciones igual de importantes que siguen empelando /dev/dsp. La aplicación Listener escucha los sonidos del micrófono y en el momento en que empezamos a oír algo, empieza a grabar. Al fijar el nivel de bramido, toda la configuración de la aplicación es muy simple, por lo tanto, merece la pena interesarse por ella. Gracias a ella podemos de manera rápida y fácil (y lo que también es importante, gratuita) configurar nuestro ordenador para que "vigile", por ejemplo, un piso vacío o grabe nuestras conversaciones. Podemos descargar la aplicación desde la página http://www.vanheusden.com/ listener/. Para su funcionamiento, necesitaListado 4. Configuración ejemplar de la aplicación Listener # directorio donde tienen que grabarse # los sonidos wav_path = /var/tmp/mikrofon/ # dispositivos sonoros devname = /dev/dsp # nivel de bramidos, determinado
mos la librería libsndfile que deberíamos encontrar en nuestra distribución o bien descargarla de la página http://www.meganerd.com/libsndfile/. Cuando ya tenemos instalado libsndfile en el sistema, después de descomprimir las fuentes del archivo listener-0.9.tgz, pasamos al directorio que acabamos de crear y ejecutamos el comando make install. El siguiente paso es medir el nivel de bramido de nuestro micrófono. Lo realizamos al ejecutar la aplicación setlistener. Para ello, apretamos en el teclado la flechita izquierda, aumentando Current detection level tanto tiempo hasta que en el lugar del título SOUND! veamos el título silence. Por supuesto, Esta medida deberíamos realizarla en silencio. Cuando ya hemos apuntado el nivel de bramido, podemos copiar el archivo listener.conf en el directorio /usr/local/etc/, realizar en él la modificación necesaria, por ejemplo, introducir en la línea detect_level el valor dado por setlistener. Su archivo de ejemplo está localizado en el Listado 4. Allí puse comentarios que deberían ayudar a fijar los valores más importantes de la configuración. La aplicación Listener crea archivos con nombres compuestos con la hora y la fecha actuales. A nuestra disposición tenemos más de diez formatos de sonido, sin embargo, entre ellos hay algunas compresiones con pérdida de datos, como, por ejemplo mp2 o mp3. Existe, sin embargo, la posibilidad de ejecutar cualquier aplicación después de cada grabación. He escrito un simple script /usr/local/bin/listener-compresión, con el siguiente contenido:
# por medio de setlistener detect_level = 120
#!/bin/sh
# después de cuántos minutos terminar
/usr/bin/toolame -v 0 $1 && rm $1
# la grabación rec_silence = 5 # duración mínima de la grabación min_duration = 1 # duración máxima de la grabación max_duration = 60 sample_rate = 44100 #compression = a-law format = wav safe_after_filter = no # la aplicación ejecutada después de # la grabación # como parámetro recibirá el nombre # del archivo grabado exec = /usr/local/bin/listener-
S
compresión
68
Linux+ 5/2005
Después de dar a este archivo los permisos de ejecución, comprimirá automáticamente los archivos wav en el formato mp2 y para ahorrar espacio en el disco, eliminará los archivos fuentes wav. Después de ejecutar la aplicación Listener, la información sobre su funcionamiento aparecerá en los archivos de bitácora. Para terminar su funcionamiento, ejecutamos el comando killall listener.
Perlbox-voice
Gracias al proyecto Perlbox-Voice (http:// perlbox.org/ ) es posible configurar fácilmente comandos de voz. Pronunciando una definida palabra inglesa podemos
Figura 7. Configuración de Perlbox-voice
ejecutar cualquier aplicación o bien ejecutar simples operaciones en el entorno KDE, por ejemplo, sustituir el entorno virtual o llamar K-menu. Perlbox-Voice se basa en un moderno trato del problema del reconocimiento de voz; para que funcione se necesitan las aplicaciones Sphinx-2 (http://cmusphi nx.sourceforge.net/html/download.php) que antes tenemos que descargar e instalar en nuestro ordenador. Sphinx-2 permite un reconocimiento del habla continuo y funciona bien, independientemente del interlocutor: es suficiente hablar más o menos inglés para que la aplicación nos entienda. Además de Sphinx-2, también podemos instalar Festival, es decir, la aplicación para una síntesis del habla. Es opcional y a nosotros nos puede servir, por ejemplo, cuando no sabemos cómo decir una palabra en inglés. Los paquetes rpm preparados así, tanto con Perlbox-Voice como con Sphinx-2 y Festival, los podemos encontrar en la página http://perlbox.org/pbtk/. La misma PerlboxVoice para el trabajo requiere la librería Perl-Tk en el sistema que sin ningún problema deberíamos encontrar en nuestra distribución de Linux. Después de ejecutar la aplicación pasamos a la solapa Config. Eventualmente, podemos activar el enchufe para controlar KDE (desgraciadamente, por el momento sólo es accesible como única opción) y seleccionar la palabra “mágica”. Esta palabra es útil sólo cuando trabajamos en un entorno bastante ruidoso. Cuando activemos una palabra “mágica”, tenemos que preceder a esta palabra “mágica”. Cualquier comando de voz. Gracias a ello la aplicación no reaccionará a sonidos o palabras casuales. Luego, pasamos a la pestaña Vocab, donde a la izquierda tenemos el listado de palabras entendidas por la aplicación y a la derecha los comandos que se ejecutarán al oír la palabra dada. Aquí pode-
Skype
Figura 8. El micrófono puede ser barato y un útil dispositivo periférico
mos añadir cualquier palabra inglesa (la aplicación reconoce unas 127 mil) e introducir cualquier comando cuando se ejecute. El listado que podemos observar no se refiere a los comandos soportados por el enchufe para KDE, éstos se pue den comprobar al hacer clic en Help–>Plugin Docs. Cuando fijemos los comandos a nuestro gusto, pasaremos a la pestaña Control, donde haremos un clic en Start listener. Unos segundos más tarde deberíamos ver el título The listener has started. Si hay algún problema con su ejecución, veremos más información en la consola desde la cual ejecutamos perlbox-voice. En el mismo lugar, se imprimirá también la información sobre el reconocimiento o no de la palabra dada, enunciada al micrófono. La aplicación está tan construida que trata de ajustar todo lo que decimos a una de las palabras definidas por nosotros. Con tal suposición, sabe interpretar incluso un golpe con el micrófono en la mesa, por ejemplo, con la palabra now. A pesar de ello, la aplicación es muy precisa y funciona con bastante seguridad.
Grabamos sonido
En todas las distribuciones encontraremos una simple aplicación que permite la grabación de sonido. Krecord o Gnome Sound Recorder son las más populares, de entre las muchas aplicaciones de este tipo. En
Figura 9. Algunas cámaras USB también poseen micrófonos
un principio son fáciles de manejar y el único problema que puede provocar al usuario es utilizar diferentes dispositivos para capturar el sonido. Algunas emplean directamente /dev/dsp, otras los dispositivos ALSA, y las demás se conectan a los servidores de sonido de tipo Arts o ESD. Cuando configuremos en ALSA tanto la mezcla de sonido mediante aplicaciones como la emulación de OSS, debería funcionar cada uno de ellos. Además de simples aplicaciones para grabar, muchos editores de sonido poseen la función de grabación. Entre ellos destacan: Audacity, Sweep, Snd o Ardour-gtk. Seguramente, serán muy útiles cuando queramos jugar a grabar y retocar diferentes sonidos cortos (demos), por ejemplo, grabando efectos sonoros que queremos meter como fondo de acontecimientos del sistema en nuestro entorno gráfico. Cuando tenemos que grabar un material sonoro más largo, por ejemplo, queremos copiar en el disco duro cintas análogas o bien discos de vinilo, entonces, puede ser muy útil la aplicación Gramofile (http:// panic.et.tudelft.nl/~costar/gramofile/). Su autor escribe que desde hace un tiempo no se ocupa del proyecto, sin embargo, la aplicación tiene muchos partidarios y en las distribuciones Debian o Ubuntu están al corriente varios parches para la aplicación. En Internet, encontramos paquetes rpm, aunque la aplicación se puede compilar muy fácilmente desde las fuentes. Su gran ventaja es que, además de filtrar que permite la eliminación de chasquidos que aparecen en los discos de vinilo, posee la habilidad de dividir automáticamente el material grabado en respectivas partes. Como resultado, después de copiar, por ejemplo, toda la cinta, recibiremos unos archivos wav que se podrán convertir fácilmente en un formato diferente, por ejemplo, por medio de lame. La aplicación Gramofile es muy fácil de utilizar. Aunque funciona en el entorno de texto, en ella tenemos accesible una simple interfaz de usuario; seleccionamos el nombre del archivo, grabamos, luego realizamos el análisis del archivo en búsqueda de las pausas entre las grabaciones (Locate tracks) para finalmente dividir las respectivas rutas y, eventualmente, eliminar chasquidos (Process the audio signal). Tenemos accesibles otros filtros simples de sonido. Las opciones de copiar del disco
Dispositivos
CD, así como la grabación en CD, desgraciadamente no funcionan.
Fin
Según podemos observar, en la moderna etapa de desarrollo de las aplicaciones para Linux, el micrófono ha dejado de ser un juguete. La telefonía por Internet nos permite no sólo ponernos en contacto con otros usuarios de Internet sino también llamar a todas las partes del mundo a precios parecidos a los de las llamadas locales, algo que cada vez se emplea más profesionalmente. También, es posible el control de voz, es decir, el reconocimiento del habla son tecnologías cada vez más prometedoras que seguramente conseguirán en el futuro una gran popularidad. Linux no se queda atrás en esta materia. En cuanto al retoque del sonido totalmente profesional, nuestro sistema desde hace un tiempo es ya suficientemente empleado. Nombres como JACK Audio Connection Kit (servidor de sonido que asegura demoras mínimas) o bien, patrocinado por la Comisión Europea el proyecto AGNULA, son conocidos por muchos especialistas. No hay ningún obstáculo para jugar con las herramientas profesionales, sobre todo cuando son gratuitas. El proyecto AGNULA crea, entre otros, dos distribuciones de Linux (una basada en el sistema Debian - DeMuDi y la otra basada en el sistema Red Hat – Rehmudi) en las cuales, justo después de la instalación, tenemos todas las herramientas necesarias y la configuración para hacer funcionar el servidor JACK.
En Internet: •
•
Página principal de la aplicación Skype: http://www.skype.com/ Página principal de la aplicación ALSA:
•
•
•
http://www.alsa-project.org/ Página principal del proyecto Listener: http://www.vanheusden.com/listener/ Página principal del proyecto Perlbox-Voice: http://www.perlbox.org/ Página principal del proyecto Gramofile: http://panic.et.tudelft.nl/~costar/ gramofile/
www.lpmagazine.org
69
para programadores
Mark3D
– medimos el rendimiento del ordenador Marek Sawerwain
E
DVD
La aplicación descrita se encuentra en Linux+ Live DVD y podemos analizarla sin la necesidad de instalarla en el disco duro.
En el DVD
En el DVD se encuentran las librerías empleadas, el código de aplicación y todos los listados del artículo.
70
Linux+ 5/2005
l hecho de medir el rendimiento del ordenador sigue siendo una actividad importante. Incluso durante la ejecución de Linux el kernel realiza la medida de la velocidad del funcionamiento del sistema. Son así denominados bogomips. Entonces se mide, sobre todo, el rendimiento del procesador. Actualmente, sobre todo para los usuarios de los juegos, tenemos en cuenta también el rendimiento de la gráfica tridimensional. Es una tarea difícil escribir una buena y espectacular aplicación para medir el rendimiento de la gráfica 3D por el estilo de las populares 3DMark. Sin embargo, al emplear las respectivas librerías, podemos escribir relativamente pequeña, pero eficaz aplicación para medir el rendimiento de la gráfica 3D. En este artículo trataré de enseñaros cómo escribir este tipo de aplicación. Analizaremos la eficiencia del soporte de la gráfica 3D por nuestra tarjeta de vídeo, al emplear una especial librería para la animación estructural. Tal técnica permite conseguir una animación real. El ejemplo de su empleo puede ser el famoso juego Half-Life. Tanto la primera como la segunda parte de este juego, realiza la animación del personaje por medio de la animación estructural. Este tipo de animación constituye un gran reto para la tarjeta de vídeo y para el procesador. El uso de las reservas crecerá mucho más cuando sometamos a la animación no a uno sino a varios personajes. En nuestra aplicación haremos justamente así. Copiaremos más de diez veces las animaciones del mismo personaje y mediremos la cantidad actual
de imágenes por segundo. Todos los personajes se dibujarán en resolución completa. En una aplicación real, por ejemplo, en el juego, los personajes que se encuentran más en el fondo deberían dibujarse con menos detalles. En nuestro pequeño analizador no haremos de esta manera – como mediremos el rendimiento cargaremos el sistema de máxima manera posible.
Planes, planes, ...
Antes de que empecemos a escribir el código tenemos que pensar en cómo va a ser nuestra aplicación y qué librerías adicionales emplearemos. Empezaremos por las librerías. La aplicación que escribamos empleará la gráfica tridimensional, lo cual significa que empleará OpenGL mediante el sistema X Window. Desgraciadamente, en caso de Linux, después de instalar la distribución, normalmente falta soporte de tarjeta de vídeo – hay que instalar respectivos drivers. En caso de las tarjetas NVIDIA, la empresa ofrece drivers tan sólo en la versión binaria tanto para Linux de 32bit como para 64-bit. Lo mismo se refiere a las tarjetas ATI. Cualquier tarjeta de que dispongamos, antes de empezar el trabajo sobre la aplicación habrá que instalar con respectivos drivers. La siguiente librería que usaremos será SDL (Simple Direct Layer) y el paquete adicional SDL_TTF. Esta última librería será necesaria para generar un mensaje de texto del actual rendimiento de conversión de nuestra escena (cantidad de imágenes por segundo). Emplearemos la librería SDL principalmente como una cómoda plata-
para programadores
C++/OpenGL/Animadead
Listado 1. Clase Actor class Actor {
ad::AnimPlayer *anim[10]; ad::Blend *blend[2];
ad::HiBoneMask *upperbody;
TextureLoader *texture_loader; SuperModel *model; public:
int user_x, user_y, user_arg; float xv, zv, x,y,z; float heading;
public:
Actor(); void DrawActor();
void UpdateActor(float time);
};
Figura 1. Esquema del funcionamiento de la aplicación Mark3D
forma para soportar el modo gráfico y el soporte del teclado. Para la misma animación necesitaremos una librería diferente denominada Animadead. Es un proyecto relativamente joven y pequeño ya que el mismo código son tan sólo 57 kB. Posee enormes posibilidades y ofrece muy buena calidad de animación. Lo
importante es que incluye scripts para la aplicación Maya, en la cual podemos proyectar personajes y exportarlos al formato entendido por el paquete Animadead. Ahora podemos considerar el aspecto y la manera de funcionamiento de nuestra aplicación. Su tarea principal
~Actor();
es medir las cantidades de imágenes por segundo. Suponemos que el número actual de imágenes por segundo será demostrado durante todo el tiempo de funcionamiento de nuestra aplicación. En cualquier momento podemos terminar el funcionamiento de la aplicación pulsando la tecla [Esc]. Ahora introduciremos también una posibilidad más – con las teclas [1], [2], [3], [4], [5], [6] y [7] cambiaremos la cantidad de los personajes animados. De esta manera observaremos la forma de la cual la cantidad de personajes influye en la velocidad de dibujar toda la escena tridimensional. Nuestra consideración hay que resumir la con el esbozo de principales acontecimientos de la aplicación. La Figura 1 incluye el esquema que representa los acontecimientos más importantes que aparecen en nuestra aplicación. Como podemos observar, no es una aplicación muy complicada. Sin embargo, es una aplicación gráfica con animación estructural, por lo tanto, la aplicación final no será ya tan trivial, según puede resultar del análisis de la Figura 1.
Clase Actor
El elemento principal de nuestra aplicación es la clase Actor. Con su ayuda cargaremos el personaje y lo animaremos. Emplearemos al personaje accesible en la librería Animadead.
www.lpmagazine.org
71
para programadores
manera de cargar las texturas ya que éste es el más importante): texture_loader = new TextureLoader(); model = new SuperModel(ad::Model::
S
DEFORMABLE, texture_loader);
Ahora, por medio del método AddAnim introducimos las respectivas animaciones, por ejemplo: anim[0] = model->AddAnim
S
("data/WalkNW.ada"); ... anim[5] = model->AddAnim
S
("data/WalkE.ada");
Dependiendo del modelo, puede haber respectivos elementos de animaciones. En nuestro caso hay diez. La librería permite también crear paso fluido entre las animaciones:
Figura 2. Aplicación Mark3d y medida del rendimiento
Para animar personajes se necesitan dos métodos: DrawActor, responsable por dibujar personajes y UpdateActor. En cuanto al primero de ellos no acepta ningún parámetro y en el segundo deberíamos dar la hora y más detalladamente, la diferencia entre la última llamada de este método y la actual. Es una información muy importante, ya que empleando la información sobre el tiempo que pasa, la librería Animadead realizará una animación correcta de nuestro personaje. De esta manera cuando el sistema esté cargado, a pesar de todo, el personaje será animado correctamente. Sin embargo, cuando el sistema no esté cargado, la animación se quedará fluida, ya que quedará bastante tiempo para generar muchas imágenes indirectas de la animación. Además de estos dos métodos, para las animaciones necesitaremos también variables, por ejemplo, la user_x, que significará que nuestro personaje marchará a lo largo del eje X. La definición completa de la clase está incluida en el Listado 1. Según podemos notar, tenemos más de diez campos privados. Los campos más importantes son para nosotros model y anim. La variable model de tipo SuperModel representa todo el personaje. Desgraciadamente, la clase SuperModel también tiene que ser definida por ella, sin embargo, no tenemos por qué ocuparnos detalladamente de la animación. Los respectivos casos,
72
Linux+ 5/2005
por ejemplo, marcha para adelante, por ejemplo, o bien a la derecha, se guardan en el array anim. Todas las actividades básicas se realizan en el constructor de la clase Actor. Primero, hay que crear el objeto del modelo y el objeto que carga las texturas (evitaré la
blend[0] = model->CreateBlend (anim[0],anim[1]); blend[1] = model->CreateBlend
A las últimas actividades pertenece la creación de respectivos estados de anima-
void Actor::UpdateActor(float time) model->Update(time * 2); if (user_y > 0) {
if (user_x < 0) {
anim[0]->Calculate(model->renderPose);
} else if (user_x > 0) //
if (user_arg)
código siguiente
{
if (user_x || user_y)
anim[9]->Calculate(model->renderPose, upperbody);
else }
anim[9]->Calculate(model->renderPose);
xv = model->renderPose->keyframeVelocity.x*time*2; zv = model->renderPose->keyframeVelocity.z*time*2; heading += (time*90);
if (heading > 360) heading -= 360; x += cos(heading*PI_OVER_180)*xv + sin(heading*PI_OVER_180)*zv; y += model->renderPose->keyframeVelocity.y*time; }
S
(blend[0],anim[2]);
Listado 2. Actualización del estado de animaciones {
S
z += -sin(heading*PI_OVER_180)*xv + cos(heading*PI_OVER_180)*zv;
para programadores
C++/OpenGL/Animadead
Listado 3. La clase SuperModel
Listado 4. Esbozamos el personaje
class SuperModel : public ad::Model {
01: void SuperModel::Draw() {
public:
03:
ad::UserFunction *fp;
SuperModel(ad::Model::Type
S
type, ad::UserFunction *fp);
~SuperModel();
};
unsigned int mesh, i, j, k, l;
04:
GenerateRenderPoseMatrices();
06:
for (mesh = 0; mesh < meshes.size(); mesh++)
05: 07:
void Draw();
08:
{
09:
model->AllocateRenderPose();
S
CreateMask("ValveBiped_Bip01
S
0 ValveBiped_Bip01_Spine1 1"); model->AddMesh("data/boxman.adm");
Métodos DrawActor y UpdateActor
El método que dibuja a nuestro protagonista en la clase Actor es extraordinariamente corto: glPushMatrix(); glTranslatef(x,y,z); glRotatef(heading, 0,1,0); model->Draw(); glPopMatrix();
Para empezar, localizamos en la pila OpenGL la nueva matriz. Luego, realizamos el movimiento y translación del objeto. El mismo objeto se dibuja por medio del método Draw. Como fácilmente podemos presuponer, el método Draw será muy difícil de implementar. El segundo de los métodos de la clase Actor – UpdateActor – requiere más código. Los fragmentos de este método incluye el Listado 2. Primero, tenemos que actualizar el estado del modelo con el método Update, dando la diferencia actual de tiempo. La multiplicación de este valor por dos hace que aumente el tiempo de la animación de personajes. Actualmente tenemos que, empleando el array anim, seleccionar el respectivo tipo de animación (por ejemplo, el personaje marchará hacia adelante) y ordenar la realización de respectivos cálculos. Cuando nuestro personaje tenga que marchar hacia el
for (i=0; i < meshes[mesh]->numSurfaces; i++) {
10:
ciones que pueden aceptar al personaje. Luego, por medio del método AddMesh podemos insertar la red del objeto que animaremos:
upperbody = model->
02:
S
glBindTexture(GL_TEXTURE_2D, (unsigned int)(meshes[mesh]-> surfaces[i].userData));
11:
for (j = 0; j < meshes[mesh]->surfaces[i].numFaces; j++)
12:
{
13:
for (k=0; k < meshes[mesh]->numBones; k++)
S S bones[k]] * meshes[mesh]->inverseBindPose[meshes[mesh]->
14:
worldBonesTEMP[meshes[mesh]->bones[k]] = worldBones[meshes[mesh]-> bones[k]];
15: 16:
glBegin(GL_POLYGON);
18:
{
17:
for (k = 0; k < meshes[mesh]->surfaces[i].
19:
S
faces[j].numIndices; k++)
S S superVerts[ meshes[mesh]->surfaces[i].faces[j].
ad::SuperVertex *svert = &meshes[mesh]->surfaces[i]. indices[k] ];
20: 21:
ad::Vector3 pos(svert->x, svert->y, svert->z);
23:
ad::Vector3 ret, ret2;
22:
ad::Vector3 norm(svert->a, svert->b, svert->c);
24: 25:
for (l=0; l < svert->numInfluences; l++)
26:
{
27:
S
ret += worldBonesTEMP[svert->weights[l].bone] * pos * svert->weights[l].weight;
28:
* svert->weights[l].weight;
29:
}
31:
glTexCoord2f(svert->u, 1-svert->v);
30:
ret2.Normalize();
32:
glNormal3f(ret2.x, ret2.y, ret2.z);
33: 34:
}
35: 36: 37: 38:
39: }
S
ret2 += worldBonesTEMP[svert->weights[l].bone].Rotate(norm)
}
}
}
glVertex3f(ret.x, ret.y, ret.z);
glEnd();
norte nos referiremos al elemento cero del array: anim[0]->Calculate(model->renderPose);
Sobre la dirección en que tiene que marchar nuestro personaje, controlamos introduciendo respectivos valores en las
variables, por ejemplo, user_x. Es importante también la variable heading que permite girar al personaje. En los cálculos empleamos la estructura keyframeVelocity y el valor del tiempo. De esta manera la animación se quedará fluida, sobre todo cuando el proceso de actualización y de dibujos se llame muy frecuentemente.
www.lpmagazine.org
73
para programadores
Listado 6. Soporte del teclado y dibujo de personajes
Listado 5. Inicialización de la gráfica 3D glViewport( 0, 0, width,height );
while( SDL_PollEvent(&event) ) {
glMatrixMode( GL_PROJECTION );
switch( event.type ) {
glLoadIdentity( );
case SDL_KEYDOWN:
S
if (event.key.keysym.sym==
gluPerspective( 60.0, (float)width/(float)height, 0.1, 1024.0 );
SDLK_ESCAPE) isEnd=1;
S
if (event.key.keysym.sym==
glMatrixMode( GL_MODELVIEW ); glLoadIdentity( );
SDLK_1) Group=1;
S
if (event.key.keysym.sym== SDLK_2) Group=2;
glEnable(GL_DEPTH_TEST);
// código restante glDepthFunc(GL_LESS); glShadeModel(GL_SMOOTH); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glEnable(GL_LIGHTING); glLightfv(GL_LIGHT0, GL_AMBIENT, l0_ambient); glLightfv(GL_LIGHT0, GL_POSITION, l0_position);
}
}
break;
tick = SDL_GetTicks(); if(Group>=1) {
draw(-75,0,0); draw(0,0,0);
glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 1.0f);
draw(75,0,0); if(Group>=2)
glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05f);
{
glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 0.01f); glEnable(GL_LIGHT0);
draw(-75,0,50); draw(0,0,50);
Dibujamos personajes
El método Draw de la clase SuperModel se ocupará de dibujar. En el método no nos ocuparemos del estado actual de animación. Esta vez nuestra tarea será crear la red del objeto y cubrirla con texturas. La clase SuperModel tiene que heredar de la clase ad::Model. Esto ya pudimos notar en el constructor de la clase Actor. La definición de la clase SuperModel se da en el Listado 3. En el constructor de esta clase no realizamos ninguna actividad, además de pasar los argumentos del constructor a la clase de la que heredamos, de la siguiente manera:
S Type type, ad::UserFunction *fp) :S
SuperModel::SuperModel(ad::Model:: Model(type, fp) {
}
Ahora nos ocuparemos del mismo proceso de dibujar a los personajes. El código fuente completo de este método está incluido en el Listado 4. Al principio creamos todas las poses que dibujemos, llamando la función GenerateRenderPoseMatrices (línea 4). Luego, analizamos en el bucle (empezando por la línea 6) todos los objetos de tipo mesh, que se
74
Linux+ 5/2005
localizan en el objeto meshes (en realidad, es el modelo vector de la librería STL). Creando la clase Actor, como antecesor tenemos el objeto de tipo Model. Esto significa que tenemos acceso a los campos y métodos del antecesor, es decir, al modelo justo. En el siguiente bucle, que empieza en la línea 8, analizamos las superficies de las cuales está construido nuestro objeto. Es necesario para leer información sobre las texturas con las cuales tenemos que cubrir nuestro objeto. Realizamos las texturas seleccionadas mediante la función glBindTexture. Después de seleccionar la textura tenemos el siguiente bucle (línea 11). Por medio de él pasamos por todas las paredes de las cuales se construye la superficie seleccionada en el bucle de arriba. Justo después de estas preparaciones podemos empezar el proceso de dibujar los personajes. Antes, tenemos que leer el estado actual del esqueleto (las líneas 13 y 14). Emplearemos la información conseguida para convertir las respectivas cumbres. Desde las línea 16 hasta 35 se encuentra el código directamente comprometido en dibujar a nuestro personaje. Seleccionamos las cumbres con el bucle de la línea
draw(75,0,50); // código siguiente }
}
17. Realizamos esta actividad en la línea 19. En las siguientes líneas 21 y 22 marcamos la posición de la cumbre y calculamos el vector normal. Ahora tenemos que convertir respectivamente los datos leídos, desde luego, por medio del siguiente bucle, que empieza en la línea 25 y termina en la línea 29. Después de estos cálculos podemos podemos realizar las actividades más importantes las que, en consecuencia, dibujarán nuestro personaje. En la línea número 30 realizamos la normalización adicional del vector normal. Es importante, ya que en el bucle de las líneas 25-29 el vector normal se convierte también, por lo tanto, la normalización adicional es necesaria. Por medio de la función glTexCoord2f fijamos las coordenadas de las texturas. Luego, fijamos el vector normal y la misma cumbre por medio de glVertex3f. De tal manera finalmente esbozamos el personaje que animamos en la pantalla. El método presentado es universal y podemos aplicarlo para cualquier objeto animado por medio de la librería Animadead.
C++/OpenGL/Animadead
Bucle principal de la aplicación
Listado 7. Movemos el mensaje a la pantalla
La clase Actor y la clase adicional SuperModel nos ayudará de una manera relativamente fácil a realizar nuestras suposiciones. Antes de que empecemos a medir más imágenes por segundo, tenemos que iniciar correctamente el modo gráfico por medio de la librería SDL. Asimismo, hay que ejecutar el soporte de caracteres TrueType, ya que el mensaje con la cantidad de las imágenes por segundo lo mostraremos por medio de la librería SDL_TTF. Esto se realiza de la siguiente manera: if ( SDL_Init(SDL_INIT_VIDEO |
1: texture = SDL_GL_LoadTexture(text, texcoord); 2:
3: scr_x = 50 ; 4: scr_y = 50 ;
5: scr_w = text->w; 6: scr_h = text->h; 7:
8: texMinX = texcoord[0]; 9: texMinY = texcoord[1];
10: texMaxX = texcoord[2]; 11: texMaxY = texcoord[3]; 12:
13: SDL_FreeSurface(text); 14:
S
15: SDL_GL_Enter2DMode(); 16:
SDL_INIT_NOPARACHUTE) < 0 )
17:
{ // mensaje sobre el error }
18:
if ( TTF_Init() < 0 )
19:
{ // mensaje sobre el error }
Cuando la inicialización empiece con éxito, podemos empezar a cargar los caracteres. Esta operación requiere tan sólo la aplicación de una función TTF_OpenFont: font = TTF_OpenFont("data/VeraMono.
S
ttf", 18);
20: 21: 22:
glBindTexture(GL_TEXTURE_2D, texture); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(texMinX, texMinY); glVertex2i(scr_x, scr_y );
glTexCoord2f(texMaxX, texMinY); glVertex2i(scr_x+scr_w, scr_y ); glTexCoord2f(texMinX, texMaxY); glVertex2i(scr_x, scr_y+scr_h);
glTexCoord2f(texMaxX, texMaxY); glVertex2i(scr_x+scr_w, scr_y+scr_h); glEnd();
23: SDL_GL_Leave2DMode();
Después de las actividades presentadas podemos ejecutar el modo gráfico:
if ( font == NULL ) { // mensaje sobre el error
if( SDL_SetVideoMode( width, height,
}
S
bpp, flags ) == 0 )
En el primer argumento damos el nombre del archivo con el carácter y en el segundo el tamaño de los caracteres en puntos. Ahora podemos finalmente activar el modo gráfico con la llamada de la función SDL_SetVideoMode. Antes fijamos cierta información de la siguiente manera: const SDL_VideoInfo* info = SDL_
S
GetVideoInfo( ); width = 800;
{ // mensaje sobre el error }
En este momento podemos ocuparnos de la gráfica 3D. Lo realizamos de una típica manera para OpenGL qué lo es necesario podemos observar en el Listado 5. En nuestra escena emplearemos tan sólo una fuente de luz, por lo tanto, fijamos también parámetros para GL_LIGHT0. Desde luego, no es toda la configuración inicial. Fijamos todavía unos detalles, por ejemplo, el estilo para el carácter:
height = 600; bpp = info->vfmt->BitsPerPixel; flags = SDL_OPENGL;
Una línea importante es la última en la cual a la variable flags introducimos el valor SDL_OPENGL. De esta manera informamos SDL sobre el hecho de que emplearemos OpenGL. Tenemos que asegurarnos de que se active por fin el doble almacenamiento en búfer: SDL_GL_SetAttribute(SDL_GL_ DOUBLEBUFFER,1);
S
para programadores
TTF_SetFontStyle(font, TTF_STYLE_NORMAL);
Después de hacerlo podemos ocuparnos ya del bucle principal. Al principio creamos al protagonista de nuestra aplicación:
Os animo a experimentar con estos valores para ver la influencia que tienen en la animación. Hay que recordar que son importantes también los valores en la clase Actor del método DrawActor. La cantidad de los personajes dibujados depende del valor de la variable Group. La sustituimos al apretar las teclas de [1] a [7]. Allí se dibujan siempre tres personajes, es decir, cuando apretemos [5], recibiremos cinco filas de tres personajes. El Listado 6 representa la manera en que se ha realizado. Allí se encuentra también la función draw. Su trabajo es dibujar al personaje debajo de las coordenadas dadas. En la función draw, antes de que demostramos cualquier cosa, giramos al personaje y lo movemos según los valores que se transmitieron por medio de los argumentos. Esto está presentado de la siguiente manera: glPushMatrix(); glRotatef( -yr, 1.0, 0.0, 0.0 );
act1=new Actor();
La manera de la cual se mueve el personaje depende, entre otros, de las siguientes variables: xr = 0; yr = 15;
glRotatef( -xr, 0.0, 1.0, 0.0 ); glTranslatef( -x, -y, -z ); // código que dibuja al personaje glPopMatrix();
Dentro del código mencionado dibujaremos a un personaje. Para nosotros es muy
www.lpmagazine.org
75
para programadores
importante, por lo tanto, lo leemos por medio de la función SDL_GetTicks: current_time = SDL_GetTicks();
Luego completamos el tiempo actual cuando es diferente de la última medida. Aunque parezca aparente, es una actividad muy importante. Cuando se crea la gráfica por medio de las mejores tarjetas de vídeo y un procesador de mucho rendimiento puede que pase que lo hagamos a tiempo antes de que el reloj cambie de valor. Cuando los valores se diferencien, calcularemos el tiempo que transcurre entre la última medida y la actual: elapsedtime1 = (float)
S
(current_time-last_time)/(float)1000.0f;
Después de conseguir esta información, hay que actualizar la animación. Lo hacemos por medio del método UpdateActor descrito antes: act1->UpdateActor(elapsedtime1);
Ahora es suficiente fijar los valores responsables directamente por la animación, por ejemplo, user_x. Luego, actualizamos la posición x, y, z, ya que la animación puede ocasionar el movimiento del personaje. Puede resultar también del giro de nuestro actor con el empleo de funciones trigonométricas:
A pesar de que escribamos una aplicación bastante simple tenemos que cuidar de muchos detalles, ya que tenemos que realizar muchas actividades por separado.
Calculamos imágenes
Nos ocuparemos de contar las imágenes. Según podemos ver en el Listado 6, antes de dibujar, medimos el tiempo actual y guardamos el valor leído a la variable tick. Después de dibujar todos los personajes, aumentamos el contador de imágenes: fpsFrames++;. Las siguientes actividades se parecen mucho a las del párrafo anterior, es decir, calculamos la diferencia entre la última y la medida actual. Además, a la variable fpsDuration añadimos la diferencia contada: elapsedSeconds = (float)
S
(tick - lastTick) / 1000.0f; fpsDuration += elapsedSeconds;
Ahora tenemos que comprobar que el valor de la variable fpsDuration es mayor que la unidad lo que significa que ha transcurrido un segundo. Si es así , calculamos la cantidad de imágenes. Para ello es suficiente dividir la cantidad de imágenes en el tiempo que ha transcurrido. Lo hacemos de la siguiente manera: if(fpsDuration >= 1.0f) { fps = (int)((float)fpsFrames /
S
fpsDuration); fpsDuration = 0.0f; fpsFrames = 0; }
yr = -30; act1->heading = xr; act1->user_y=1; act1->user_arg=1; x = _x + act1->x + 100*(float)sin
S
Nos queda tan sólo demostrar el respectivo mensaje en la pantalla. Preparamos el contenido del mensaje por medio de la función sprint:
(xr*PI_OVER_180); y = _y + 100;
z = _z + act1->z + 100*(float)cosS (xr*PI_OVER_180);
Después de estos cálculos necesarios guardamos el valor leído del tiempo para, en la siguiente iteración poseer el valor actual de la diferencia en el tiempo: last_time = current_time;
La última línea dibuja a nuestro personaje: act1->DrawActor();
76
Linux+ 5/2005
sprintf(msg, "Mini 3d mark program
S
test current fps: %d", fps);
coordenadas y el tamaño del mensaje que se mostrará. Luego, las cuatro líneas nos sirven pata leer las coordenadas de texturas. Después de estas actividades podemos librar la función SDL_FreeSurface. La respectiva textura que representa el mensaje ya se guarda por OpenGL. La demostración del mensaje se realiza en las líneas de 15 a 23. La función SDL_GL_Enter2DMode sirve para activar así denominado modo ortográfico, en el cual no se encuentra la perspectiva. La ventaja de este modo es también la posibilidad de fijar la resolución igual a la resolución de la pantalla lo que facilita a dibujar los elementos de dos dimensiones. Para este tipo de elementos pertenece nuestra textura con mensaje.
Resumen
Podemos con éxito aplicar la aplicación que acabamos de escribir para comprobar el rendimiento de la gráfica tridimensional y el rendimiento del procesador. Los resultados de las medidas que he realizado gracias a ella no parecen optimistas – Linux no es tan eficiente como el sistema Windows. Culpables son, sobre todo, los drivers para tarjetas de vídeo así como diferente arquitectura del subsistema OpenGL en caso de X Window que en caso de las populares ventanas. Lo interesante es que cuando tenemos la posibilidad de comparar Linux en la versión 32- yi 64-bits (a base del procesador Athlon 64 3200+), los resultados que recibamos para la tarjeta GeForce 5900XT, son casi idénticos. Está comprobado por el hecho de que los drivers que nos suministra el fabricante no tienen buena calidad. Nuestra aplicación está ejecutada en el sistema Windows y funciona mucho mejor. Aún más, en un equipo más débil podemos conseguir resultados mejores en el sistema Win32 que en Linux que funciona en un equipo mejor. A pesar de malas noticias, os animo, como siempre, a analizar e introducir innovaciones en la aplicación.
Luego, creamos la superficie en la cual se encontrará el mensaje: text = TTF_RenderText_Blended
S
(font, msg , *forecol);
El movimiento del mensaje a la pantalla requiere cierto esfuerzo. El código necesario que realiza esta actividad que representa el Listado 7. En la primera línea creamos, a base de la superficie generada, la respectiva textura. Luego, determinamos las
En Internet: • • •
Página principal OpenGL: http://www.opengl.org/ Página principal de la librería SDL: http://www.libsdl.org/ Página principal de la librería Animadead: http://animadead.sourceforge.net/
GeeXbox 0.98.5
distribución del mes
GeeXboX 0.98.5
G
eeXboX es es una distribución de Linux excepcional, cuyo objetivo – a diferencia de los demás sistemas Live – no es la presentación de software como tal. La finalidad principal de este sistema es... brindar esparcimiento. Imaginemos la siguiente situación: hemos comprado un nuevo ordenador, con el que nos han regalado el último éxito del cine en DVD. La instalación del sistema operativo, configuración y arranque del software apropiado nos llevará un cierto tiempo ¿Debemos realmente esperar tanto para ver nuestra película? No: GeeXboX es la solución. Gracias a esta pequeña distribución de Linux podemos ver películas no sólo en DVD, sino también en VCD, DivX y otros formatos populares. Basta arrancar el ordenador desde el CD-ROM que contiene GeeXboX. Una vez el sistema ha sido lanzado, el disco es expulsado. Podemos entonces sustituir el disco de la distribución con el de la película que queramos ver. Después de elegir las opciones apropiadas en un menú intuitivo, pode-
mos dedicarnos plenamente a ver nuestra película.
codecs, la eficacia de GeeXboX es muy satisfactoria.
¿Cómo funciona?
Defectos
GeeXboX utiliza MPlayer, el reproductor multimedia de Linux más popular. Funciona en framebuffer, y viene equipado con una cantidad inmensa de codecs, lo que permite reproducir sin problemas la mayor parte de las películas accesibles en Internet.
En la práctica
GeeXboX cumple con todos los criterios principales de una buena distribución de Linux: es elegante y funciona bien. De varios discos de películas probados, cifrados con ayuda de diferentes codecs, sólo con uno tuvo problemas. Teniendo en cuenta el horror de "el códec necesario no está disponible" – conocido muy bien por los usuarios del sistema Microsoft Windows obligados a instalar cientos de codecs diferentes, y cuyo efecto es la ralentización general del sistema y las sucesivas informaciones sobre la necesidad de instalar aún más
GeeXboX no es infalible. Si tenemos una tarjeta gráfica, de sonido, o en general una configuración de equipo no estándar, puede suceder que GeeXboX no funcione. La selección de MPlayer como reproductor de multimedia también es controvertida. Aunque el programa se las arregla muy bien con la reproducción de los diferentes archivos de video, la falta de soporte para el menú puede ser incómoda en el caso de las películas DVD. Estos inconvenientes serán, por cierto, corregidos en futuras versiones de la distribución.
Conclusión
GeeXboX es una distribución estupenda. Merece, sin duda, el título de distribución del mes. Con un poco de imaginación, podemos preparar nuestro propio centro de diversión multimedia, cuyas posibilidades serán mucho mayores que las de los populares reproductores DVD estacionarios u otros reproductores de audio-vídeo. ¿Un pequeño ordenador colocado sobre el televisor en lugar del reproductor DVD normal? ¿Por qué no? Lo recomiendo. http://www.geexbox.org/
Piotr Truszkowski
Ventajas • • • • •
pequeño tamaño velocidad de funcionamiento inmensas posibilidades esmerada preparación soporte para numerosos formatos de vídeo
Defectos • Preparaos para una tanda de buen cine
falta de soporte para menú en películas DVD
www.lpmagazine.org
77
tests
IBM Open Power 720
IBM OpenPower 720
TEST
L
a primera impresión después de desembalar el equipo con el IBM OpenPower 720 enviado a nuestra redacción para que lo probáramos, fue muy positiva. Lo recibimos en una caja muy estética y a la vez, según luego se comprobó, muy práctica. Es una caja separada tipo tower. OpenPower 720 se puede adquirir también montado en una caja especial (rack). En el conjunto que se entrega al comprador vamos a encontrar: teclado de firma y ratón, distribución SUSE Linux Enterprise Server 9 o Red Hat Enterprise Linux, un par de discos con programas para probar el equipo y paquetes de documentación en varios idiomas. Para ser más preciso, hay que subrayar que sólo hay una documentación suministrada por IBM y relativa al equipo. Por desgracia, no hay información sobre la distribución de Linux.
Configuración
Hemos recibido el conjunto con la siguiente configuración: 4 procesadores
IBM OpenPower 720: solución profesional para los ricos
78
Linux+ 5/2005
de 64 bits, procesadores POWER5 1.65 GHz, 8 GB de memoria RAM y 8 discos duros tipo ''hot-pluggable” Ultra320 SCSI de 34 GB. Además, en el sistema hay también 2 aparatos alimentadores (también ''hot-pluggable”) y conjunto de ventiladores tipo hot swap. Hay también 5 ranuras PCI-X, 2 sistemas duales Ethernet 10/100/1000, unidad CD-R/DVD-R y GPU Matrox G450.
menos la mitad de este precio se paga por la marca IBM que consta en la caja. No me imagino que una empresa común y corriente pequeña o mediana, pueda gastar casi 30.000€ sólo por comprar un equipo servidor. Es más: por menos que 1/3 de este precio se puede componer un conjunto servidor basado en x86, con rendimiento parecido, aunque no de marca y sin ayuda técnica.
Uso
Conclusión
Las personas acostumbradas al uso de máquinas basadas en la arquitectura x86 a lo mejor tendrán que pedir ayuda de IBM en Internet, por ejemplo, sobre el orden de unidades desde los que se arranca el ordenador (desafortunadamente como ya he mencionado no se aporta la documentación – en este caso relativa a OpenFirmware, o sea un equivalente de BIOS, en equipos basados en la arquitectura POWER). La instalación y la configuración del sistema operativo pasa casi sin problemas. Digo casi, porque SUSE Linux ES durante su instalación visualizó correctamente la interfaz gráfica, pero ya en el curso de funcionamiento normal los colores fueron muy distintos. A lo mejor no es un fallo significativo, sobre todo en un equipo servidor, pero IBM se jacta de que OpenPower 720 se optimizó especialmente para adaptarlo a Linux, sin embargo, no parece que el sistema gráfico colabore sin problemas con este sistema. Después de realizar las pruebas de rendimiento, podemos afirmar que OpenPower 720 es capaz de atender sin cargarse significativamente los recursos de sistema de varias decenas de conexiones a la vez de servicios diferentes (http, ftp, ssh, base de datos), y resulta que puede ser una solución ideal para pequeñas y medianas empresas, si no fuera por su precio. El conjunto con la configuración arriba descrita cuesta unos 29.000€ (http:// www-5.ibm.com/shop/pl/servers/pseries/ model_720.html). En mi opinión, por lo
Si disponemos de un presupuesto ilimitado, IBM OpenPower 720 será una buena solución en nuestra empresa. Sin embargo si 30.000€ es un sueño fuera de nuestro alcance; hay que buscar otra solución más barata.
Marek Bettman
Ventajas • • • •
rendimiento hot-plugging de la mayoría de los componentes muchas posibilidades de modificar los componentes del sistema fácil sustitución de los componentes estropeados
Defectos • • •
falta de la documentación para el software agregado al equipo precio soporte sólo para SUSE Linux ES y Red Hat EL
Nota