GRATIS

Más info en pág. 3.

LINUX Y WINDOWS 8
Conviviendo con lo nuevo de MS

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

CONVIVIENDO CON EL NUEVO SISTEMA DE MICROSOFT

WINDOWS 8 Y LINUX
■ Comparte tu espacio con un arranque dual ■ Configura Samba para Windows 8 ■ Windows 8 en máquinas virtuales ■ Aceede a ficheros Linux desde Windows

BYOBU
El administrador de sesiones que extiende la shell

PHP x SISTEMA
Scripting de PHP para la línea de comandos

Raspberry Pi
Tres proyectos del mundo real Crea bases de datos con poco esfuerzo Graba DVDs desde la línea de comandos Controla tu Linux desde tu móvil Haz de tu casa un hogar domótico
8 413042 594505

KEXI Y GLOM WODIM
WWW.LINUX- MAGAZINE.ES

ANDROID ARDUINO

00091

4.95
Euros

DVD

¿DVD tu DVD es que

nosti ra diag e.es pa in z Si cre a g a nux-m evo. dvd@li uno nu s o m ie v n e te

enos OSO? al estado, escríba e U T C E m p ra qu DEF carlo o está en

a

Arranque
Este DVD contiene OpenSUSE 12.3, un sistema operativo Linux de corte profesional completo y con aplicaciones listas para ser utilizadas. OpenSUSE viene en versión de instalación de 64 bits y está listo para ser instalado en tu ordenador. Para empezar a usar tu Linux, inserta el DVD en el reproductor y rearranca el ordenador. Si no aparece el menú del DVD, tienes que ajustar la BIOS para arrancar desde el disco. Para hacerlo, normalmente has de pulsar una tecla durante las primeras fases del arranque del ordenador (habitualmente F2 o Supr), buscar el menú que permite cambiar la secuencia de arranque de dispositivos y colocar el lector de DVDs en el primer lugar de la secuencia. Posteriormente se guardan los cambios y se sale de la herramienta de configuración para que se reinicie el arranque. Como cada BIOS es diferente, recomendamos consultar la documentación del fabricante para realizar esta operación.

OpenSUSE 12.3
E
n nuestro DVD os traemos lo último de un sistema clásico del ecosistema Linux: OpenSUSE 12.3. OpenSUSE siempre se ha caracterizado por su facilidad de uso, su bien nutrida comunidad y cuidado diseño. La versión 12.3 de la distro no es una excepción. Entre las novedades que trae el nuevo OpenSUSE, destacamos que es una de las únicas distros en ofrecer el mismo soporte igualitario para los escritorios mayoritarios. 12.3 ofrece soporte para Plasma de KDE (el escritorio predeterminado), GNOME, Plasma Netbook (ideal para pantallas pequeñas), Xfce, LXDE e incluso E17 – Enlightenment. Tras las bambalinas, se ha mejorado la semántica de todos los escritorios, lo que permite encontrar ficheros más rápidamente y utilizando más criterios. Se ha incluido un nuevo sistema de administración de impresoras, con lo que podrás configurar estos dispositivos más fácilmente, y se han modificado las notificaciones y los mecanismos de monitorización de actividades para hacerlos mucho más amigables. Además incluye todo lo último en lo que se refiere a aplicaciones de ofimática, Internet, diseño y desarrollo, por supuesto. ■

RECURSOS
[1] OpenSUSE en español:

http://www.opensuse.org/es/

WWW.LINUX- MAGAZINE.ES

Número 91

3

EDITORIAL

RELEVANCIA
T
oda empresa tiene un reto continuo al que se tiene que enfrentar: el de mantenerse relevante. En esencia, cada empresa, como condición sine qua non para su éxito (y por “éxito” entiendo que sobreviva, que no fracase miserablemente), ha de ser relevante a la sociedad dónde se halla ubicada. No significa esto que la relevancia la convertirá automáticamente en exitosa, pero sin ese factor, seguro que no lo consigue. La relevancia una empresa la adquiere a través de la utilidad de sus servicios o productos. A veces esa utilidad surge y desaparece de manera orgánica, fruto de la evolución de la sociedad o siguiendo la estela de otros servicios o productos que se popularizan. La industria de la fabricación de ruedas de carreta, por ejemplo, murió el día en que empezaron a haber más automóviles que carretas, pero, simultáneamente, nació la industria de los neumáticos para coches. A veces es la utilidad de un producto la que es creada por la empresa, explotando la vanidad o la inseguridad del consumidor a través del marketing. La industria cosmética es un buen ejemplo de lo anterior, jugando ambas bazas con igual falta de escrúpulos. La cuestión es que todo responsable de una empresa, antes de echarle la culpa a terceros de los fracasos o adjudicarse a sí mismo los triunfos de su firma, debe cuestionarse a menudo a lo largo de su carrera el grado de utilidad de sus productos en la sociedad. Así que, ¿cuál es la utilidad de Linux Magazine? ¿La tiene? Si me hubiese de regir por lo que me dicen en los congresos y eventos, la respuesta sería un rotundo no. Menos mal que hay cada vez menos congresos y eventos. En serio, cada vez que hablaba con los asistentes, nadie admitía leer la revista. Aunque después de un poco de presión, muchos confesaban que leían mis editoriales. Y fuera, también he oído esto. En comidas profesionales, mientras sentía el calor de la vergüenza e ira subir por mi cuello a mi cara, he tenido que escuchar como alguien declamaba que lo que más valía la pena de Linux Magazine Nos sentimos orgullosos de nuestros orígenes como publicación, eran “las editoriales de Paul”. que se remonta a los primeros ¿En serio? ¿Y tengo que sendías de la revolución Linux. tirme agasajado? ¿Esa es la utiliNuestra revista hermana, la dad de Linux Magazine para ti? publicación alemana Linux ¿Leer a un tío que se equivoca Magazine, fundada en 1994, fue la primera revista dedicada a más de lo que habla y que sólo Linux en Europa. Desde aquellas lees o porque (a) da la casualitempranas fechas hasta hoy, dad de que tiene cierta gracia nuestra red y experiencia han escribiendo (eso lo admito) y crecido y se han expandido a la par que la comunidad Linux a puede que te haga reír, o (b) te lo ancho y largo del mundo. reafirma en tus propias creenComo lector de Linux cias? Magazine, te unes a una Pues has de saber que las opired de información niones, y eso es lo que es una dedicada a la distribución del conocimiento y editorial en esencia, son mutaexperiencia técnica. No nos bles e interesadas. En el mejor de limitamos a informar sobre el los casos verdades a medias, movimiento Linux y de Software cuando no mentiras completas Libre, sino que somos parte integral de él. por ser exagerados juicios (¡Juicios!¡Ni siquiera observaciones!) sobre hipersimplificaciones de la realinos proponemos cuando nos sentamos a dad. El valor de algo así es casi nulo. escribir), pero el fin es el mismo. Para ti, querido lector que tanto te Siempre había supuesto que, si al lecgusta leer esta sección, debería ser justo tor le gustaban las editoriales, le gustaría al revés, que la apreciación de lo valioso el resto (o al menos algunos) de los otros de la revista se produjera una vez que la artículos, ya que retarían su mente de la página 4 se dejara atrás, cuando uno misma manera. Pero esto de “sólo leo las penetrara en la sección de los artículos editoriales” se está volviendo absurdo. técnicos, en el reino del código, las tutoYa el mes pasado, después del asunto de riales de implementaciones y de los Aaron Schwartz, le cedí la palabra póstuexperimentos con software y hardware mamente a él y a su manifiesto, limitánrecién liberado. Ahí hay verdad, pura, dome a intentar ser el más preciso intérsimple, categórica y binaria: o funciona o prete de sus palabras. no. He ahí una idea: ceder este espacio a Si te preguntas entonces por qué me otros para enfrentar a los lectores con molesto en escribir esto cada mes, una diversidad de puntos de vista. O eliteniendo como tengo tan pobre opinión minar la editorial por completo y destide las editoriales, pues primero porque a nar la página 4 a otros fines, a algún tipo todo el mundo le gusta escucharse a sí de pasatiempo que estimule las meninmismo, por lo que mis escritos son un ges al estilo de los juegos que publicaba ejercicio de vanidad. Y, segundo, lo que Martin Gardner en Scientific American. es más importante, porque las editoriales Mientras me lo pienso, pasa la página todas tienen un fin, un fin completay lee el resto de la puñetera revista, que mente coherente con el del resto de la creo que la encontrarás… útil. ■ revista, y es el de intentar avanzar la mente del lector hacia otras cosas, hacerle pensar en cosas que tal vez no se les hubieran ocurrido. Concedido que las editoriales y los artículos persiguen ese fin de diferentes maneras (y no me atrevo a decir que lo Paul C. Brown consigan todas las veces, pero es lo que Director

4

Número 91

WWW.LINUX- MAGAZINE.ES

.

podemos conseguir que nuestro Windows se comunique con los sistemas de archivos ext de Linux. Más tarde.CONTENIDOS Magazine sollte nº 91 hier stehen COVER STORY• Linux Schlagwort PORTADA 08 Visitando Amigos ¿Qué tal funciona el último Windows en una máquina virtual? Hemos probado Windows 8 como sistema operativo huésped en Linux utilizando VMware Workstation y VirtualBox.LINUX. 35 Significado Oculto LINUX MAGAZINE 03 04 81 81 82 DVD Linux Magazine Editorial Eventos Información de Contacto Próximo Número Los programas no son tan inteligentes como las personas cuando se trata de interpretar el significado de la información web. El nuevo protocolo SPDY de Google resuelve algunos problemas de HTTP sin que le afecte a los sitios webs existentes. Los scripts de PHP en línea de comandos llevan en funcionamiento desde hace más de 10 años. probablemente tengamos que añadir a nuestros documentos HTML microformatos y microdatos. 6 Número 91 WWW. con un poco de ingenio se puede configurar Windows 8 para arranque dual con Linux. algo que hace al lenguaje y a sus librerías adecuadas para cualquier administrador que gestione servidores web. PRÁCTICO 29 Capa Nueva Han pasado más de 20 años de su presentación y HTTP muestra sin duda signos de envejecimiento. podemos guardar extractos. o “destacados” en un archivo. podemos conectar el Kindle a un puerto USB de un equipo con Linux y recuperar la información con un script en Perl que la guarda en una base de datos.ES .MAGAZINE. Windows se ha negado obstinadamente a dar soporte a cualquier sistema de archivos aparte del suyo propio. 14 Ajuste Perfecto Desde hace años. 31 Pesos Mosca El objetivo de Kexi y Glom es crear bases de datos con poco esfuerzo. Vamos a mostrar cómo configurar un sistema Linux para compartir ficheros con Windows 8 en una red peer-to-peer. 47 Extractor de Destacados Con el lector de ebook Kindle de Amazon. Si se quieren maximizar los rangos de búsqueda. Comparamos la potencia de estas dos herramientas. 40 Control Remoto ¿Dejaste tu sistema ejecutándose? ¿Olvidaste hacer un copia de seguridad crítica? Controla tu ordenador Linux desde cualquier parte con un teléfono Android. pero con un poco de ingenio. 19 Conexiones La configuración de Samba a menudo falla cuando los usuarios se saltan algunos parámetros. DESARROLLO 43 PHP x Sistema PHP no es sólo para sitios web. PRÁCTICO 25 Un Par de Arranques Aunque conseguir que Windows conjugue bien en una instalación de Linux existente es difícil.

74 Último Aviso Wodim trabaja entre las bambalinas de los programas más populares para la grabación de CD/DVD. formado por una única placa del tamaño de una tarjeta de crédito.LINUX. tales como la división de pantalla. vuelve un mes más para responder a las preguntas de los lectores. o la organización de programas en pestañas. Mostraremos algunos ejemplos prácticos de cómo utilizar el Raspberry Pi en un entorno cotidiano.ES Número 91 7 . Pero Swaks nos ayuda a llegar a tiempo a la meta.MAGAZINE. Ahora toca dar los últimos retoques a nuestro hogar electrónico. creador de Knoppix. LINUX USER 66 Instalador de Ventanas El administrador de sesiones Byobu extiende la shell. para mantenerlo alejado de los ataques. 70 Malabares con Ficheros Accede y gestiona archivos y documentos en tu servidor de ficheros o en un servidor remoto desde la comodidad de tu navegador o dispositivo Android. WWW. s detalle s á m 3 para 0 p r e V 80 El Nuevo Disquete de AOL Lo chicos más listos de marketing han comenzado a cargar pendrives USB con su información promocional en lugar de publicar los habituales folletos y otra quincalla. COMUNIDAD 78: Konsultorio Klaus Knopper. Este mes: Estado de Mint. HARDWARE 56 Proyecto: Casa Domótica Ya se han quedado atrás en nuestra aventura los ejemplos simples de encender un LED o leer el estado de un pulsador. es el momento de prestar atención al hardware. 61 Pi2 El ordenador Raspberry Pi. Vivo o Muerto y Variaciones en Vaio. ejecución de programas en el fondo. pero es aún más poderoso en la línea de comandos.ADMINISTRACIÓN 53 Para el Protocolo La búsqueda de errores en un servidor SMTP por medio de telnet y la comprobación de los correos puede parecer una carrera sin fin. añadiéndole un abanico de funcionalidades útiles. 54 Hackeo Duro Ahora que nuestras redes están seguras y hemos convencido a nuestros usuarios de asegurar las contraseñas y el software. facilita la experimentación en sistemas Linux empotrados.

En ficheros como un árbol de directorios el diálogo. Después de iniciar ción. Si lanzamos la aplicación Para aprovechar todo el potencial del en vista mosaico.MAGAZINE. El modo Unity en VMware Workstation aisla al programa en ejecución del escritorio de Windows (Figura 3) y lo integra directamente con el escritorio de Linux. máquina virtual. mos instalar las extensiones de invitado. 8 Número 91 WWW. Para permitirnos el acceso a cualquier programa en Windows. que tienen un mejor rendimiento en su instalación nativa. Una segunda alternativa es un sistema de arranque dual. simWorkstation transfiere fácilmente tanto plemente hay que hacer clic en Setup. Si queremos trabajar directamente con aplicaciones de Windows. Esta Sin embargo. Si cierras la aplicamente la experiencia. POR THOMAS LEICHTENSTERN menudo es difícil vivir sin Windows. Wine no funciona para todas las aplicaciones y situaciones. pudiendo mejorar significativamuestra la imagen. seleccionaremos Install sólo entonces nos devuelve al escritorio.ES . VMware ha Figura 1: La versión 9 de VMware para escritorios viene con un creado su propio lanza. A VMware Workstation 9 En Agosto de 2012. es difícil ver la diferencia entre un Windows en una máquina virtual y en un sistema físico. ofrezca perfiles de 32 y 64-bit para Windows 8.PORTADA • Windows 8 Virtualizado Windows 8 con VMware y VirtualBox VISITANDO AMIGOS ¿Qué tal funciona el último Windows en una máquina virtual? Hemos probado Windows 8 como sistema operativo huésped en Linux utilizando VMware Workstation y VirtualBox. A menos que ejecutemos juegos. en un uso normal. Sin embargo. Actualmente. Por ejemplo. no es algo que nos sorprenda (Figura 1). seleccionaremos View | Unity. a pesar de estas opciones. Según VMware. dor con acceso a los Hemos sido capaces de instalar Winprogramas de Windows sin ningún problema en nuestro dows en el sistema. podemos defidesde el anfitrión al invitado y viceversa. VMware publicó la novena versión de su software comercial VMware Workstation. El ratón y el teclado izquierda cuando activeparecen moverse sin problemas en la mos Unity. rio. En algunos casos. arrastrar y soltar ficheros opción indica al programa que monte una hacia y desde el sistema invitado funimagen ISO conteniendo las extensiones ciona perfectamente y Windows 8 se de invitado en el dispositivo DVD de la comporta correctamente cooperando con máquina virtual. Nos gustó bastante descubrir Encontraremos el lanzaque Windows 8 viene con un soporte dor en la esquina superior mínimo decente. que requiere reiniciar el ordenador cada vez que necesitamos un programa de Windows. necesitapermanecerá vacío. Para entrar en el modo Unity. La tecnología de las máquinas virtuales es tan madura que. a continuación. podemos ejecutar aplicaciones de Windows en Linux utilizando la API de compatibilidad Wine. tan pronto como el punEl modo Unity sólo funtero del ratón toca una ventana de Winciona en la vista de escritodows. nir qué controladores y características queremos instalar (Figura 2). VMware Para comenzar con la instalación. la virtualización es una opción viable para una gran cantidad de aplicaciones de escritorio.LINUX. La licencia para VMware Workstation 9 es de 249 dólares o 170 euros. una cialmente adaptados para varias áreas del aplicación a pantalla completa salta y nos sistema. VMware Tools… en el menú VM. laboratorio. el escritorio sistema en una máquina virtual.2 [2]. por lo que el hecho de que el diálogo de configuración para las máquinas virtuales. los usuarios están utilizando cada vez más la virtualización como la manera más eficiente para acceder a aplicaciones de Windows desde Linux. podemos hacerlo en el modo Unity. Unity tampoco funciona perfectamente en Las extensiones de invitado en Workstael modo escritorio. el portapapeles compartido.2. con un coste de actualización de 119 dólares o 70 euros. si hacetion 9 incluyen unos controladores espemos clic en una imagen en Explorer. la característica más importante de esta versión es el soporte para Windows 8. Uno de los mayores problemas es que el entorno Linux no ofrece una alternativa real a ciertos programas de Windows. Hemos decidido probar la última versión de Windows 8 en las herramientas de virtualización de escritorios líderes en el entorno de Linux: VMware Workstation 9 [1] y VirtualBox 4. primero nos dirige a los mosaicos y el sistema. Lamentablemente.perfil de Windows 8.

sino como vmware-host en la Red local. diseñados especialmente para soportar la cooperación entre Windows 8 y la máquina virtual. como smartphones. Sin embargo. algo de lo que carece Windows 8. De los cinco dispositivos USB probados. El sistema invitado detectó inmediatamente dispositivos bastante exóticos. primero necesitaremos activar la interfaz en Settings. Fuimos capaces de conectar con éxito una grabadora de DVD externa por USB. Los eventos de Unity incluyen un lanzador. en nuestro laboratorio y nos permitió acceder a ellos como si estuvieran en un PC físico (Figura 4). algo que VMware proporcionó correctamente en el sistema invitado. Para ello. Hay que especificar el nombre de la carpeta deseada en el directorio de la máquina invitada. Otra característica importante de las máquinas virtuales es la forma en la que el software pasa limpiamente a través de la interfaz física de USB al sistema invitado. soportando tanto datos de lectura como de escritura. Sólo el dispositivo DVB-T de Pinnacle rehusó cooperar al necesitar un controlador apropiado.0 si el sistema anfitrión tiene dicha interfaz. Enlace al Mundo Exterior Integrar carpetas entre el sistema anfitrión e invitado es algo realmente sencillo. Figura 3: El modo Unity nos permite acceder a nuestras herramientas de Windows desde el escritorio de Linux.MAGAZINE.ES Número 91 9 .LINUX. VMware no monta directamente esta carpeta como un disco. WWW. debajo de USB Controller. VMware soporta.Windows 8 Virtualizado • PORTADA Esto funciona incluso para textos o URLs que podemos intercambiar copiando y pegando entre la máquina virtual y la real. VMware Workstation hace de nuevo un buen trabajo. seleccionando la entrada Figura 2: Las extensiones de invitados en VMware ofrecen una gran variedad de controladores adicionales. VMware detectó inmediatamente todos ellos y los activó en el sistema. incluso la webcam conectada estaba preparada para su uso en unos pocos segundos. debajo de Options | Shared Folders. además. Para asignar una letra al disco. haremos clic con el botón derecho y seleccionaremos Connect network drive desde el menú contextual. conexiones USB 3. Encontramos esta función en Settings para la máquina virtual.

La instalación comenzará al hacer clic en VBoxWindowsAdditions. Después de activar la red de impresión. rio. Y esto es evidente en varios sitios. hay que arrastrar el puntero del ratón al dispositivo y a continuación.LINUX. donde el programa es menos capaz que su competidor. Con la configuración por defecto hay una exposición continua al ruido y distorsión. Este modo sólo muestra los programas ejecutándose y la barra de tareas. Para activar uno. hay que cambiar la configuración de physical soundcard de Auto detect a ALSA default sound card. Para remediar esta situación.MAGAZINE. 10 Número 91 WWW.PORTADA • Windows 8 Virtualizado Figura 4: VMware gestiona fácilmente conexiones por USB con el protocolo MTP. USB 3. Windows lista todas las impresoras en la red local (Figura 5) y nos permite imprimir. Las impresiones consistieron en código en texto plano Postscript. Si un dispositivo USB está conectado y no está directamente disponible en la máquina virtual – por ejemplo. El tamaño de las extensiones – sólo 9 MB para Windows de 32-bit – sugiere que VirtualBox viene con menos controladores que VMware. Una característica especial es la opción Scaled (Host + C). Podemos establecer las extensiones de invitado en VirtualBox haciendo clic en Devices | Install guest extensions… Técnicamente. que es gratis para los usuarios domésticos. Windows 8 incluye integración para el ratón y teclado para VirtualBox. veremos un menú desplegable con todos los dispositivos USB identificados.2. no mantiene el formato original. VirtualBox ofrece además un modo sin fisuras para los programas. instalar Windows 8 como sistema invitado en VirtualBox fue una experiencia sin problemas. En la mitad inferior. VirtualBox Los desarrolladores de Oracle han añadido soporte para Windows 8 a la versión de VirtualBox 4. que se puede activar en View | Enable seamless mode o presionando Host + L. El modo a pantalla completa (Host + F) da la impresión de que el sistema virtualizado se está ejecutando nativamente en el ordenador. Pero a diferencia de VMware. El software activa la imagen ISO con los controladores en el dispositivo DVD. debido a que está en uso en el anfitrión – hay que ir al menú VM | Removable Devices. En nuestro laboratoFigura 5: Las apariencias engañan. seleccionar Connect (Disconnect from host) desde el submenú. VMware no ofrece actualmente soporte de vídeo en 3D para Windows 8 y el soporte de la impresora tampoco es muy brillante. la salida en nuestro laboratorio fue texto plano Postscript inutilizable. VirtualBox carece de un lanzador de aplicaciones. Sin embargo. Aunque la extensión nos permite imprimir desde la máquina virtual. que nos permite cambiar la proporción de aspecto del escritorio para adecuarse a nuestras propias necesidades arrastrando los bordes. ocurre lo mismo que en VMware. al igual que para VMware. Tuvimos algunos problemas con la reproducción de audio en VMware Workstation. (La tecla Host es Ctrl derecho por defecto.0 del combo cerca de USB Compatibility.) Podemos salir de este modo de la misma forma.ES .

.

La historia fue similar cuando enchufamos un modelo reciente de smartphone Android.org 12 Número 91 WWW. VirtualBox rechazó intercambiar cualquier tipo de fichero o directorio entre el anfitrión y el invitado utilizando el arrastrar y soltar (o copiar y pegar). VirtualBox nos puede servir bastante bien de forma gratuita. necesitamos hacer clic con el botón derecho del ratón en el icono de USB en la barra inferior para mostrar el menú contextual. a diferencia de VMware Workstation. En algunos casos. Varias de las características de VirtualBox no funcionaron adecuadamente y el soporte bastante pobre de USB fue causa de crítica. Una ventaja adicional de la tarjeta virtual de sonido ICH AC97 es que da un volumen mucho más alto que el perfil de Intel HD Audio. Cambiando la infraestructura de audio de Pulse Audio a LASA Audio Drive en la sección de Audio casi arregló el problema.LINUX.com [2] VirtualBox: http://www. Incluso en el nivel más simple – detectar y montar un lápiz USB – VirtualBox tembló y cayó. los clics fueron mucho menos frecuentes. debemos considerar que. Varios kudos fueron otorgados por el excelente soporte de arrastrar y soltar y de Copiar y Pegar. VMware. hay que seleccionar “Automatically search for updated driver software? ”. VirtualBox ofrece la posibilidad de montar directorios del sistema anfitrión en el invitado. VirtualBox falló en el soporte del dispositivo DVB-T Pinnacle por falta de los controladores apropiados. no instaló el correspondiente controlador. Aunque el ruido no desapareció totalmente. VirtualBox no muestra una ventana emergente apuntando al nuevo dispositivo y pregunta si queremos confirmar con un clic cuando se conecte un dispositivo USB.MAGAZINE. primero necesitamos lanzar el Device Manager en la máquina invitada. tenemos que tener en cuenta que habrá que pagar unos 249 dólares/180 euros por VMware Workstation 9 aunque si podemos vivir con una integración algo menos ideal entre un sistema invitado y su anfitrión. La reproducción de sonido en la máquina virtual fue molesta debido a clics regulares. ■ ¿Número Equivocado? A diferencia de VMware. Sólo la problemática reproducción de sonido y el no poder utilizar la impresora fue lo único que estropeó un poco nuestra impresión sobre VMware Workstation 9. VirtualBox es gratuito para usuarios domésticos. al menos la mayor parte. En otros casos. Intercambiar datos fue posible por esta interfaz pero de forma algo engorrosa. El procedimiento es idéntico al de VMware: el directorio deseado es proporcionado en la red local en el invitado (Figura 6). el software detectó el dispositivo pero sin mostrar contenido alguno. difuminando con efectividad la frontera entre el huésped y el anfitrión. luego botón derecho del ratón en la entrada Audio controller con la exclamación amarilla y seleccionar Update Driver Software… en el menú del botón derecho. Conectar la grabadora de DVD por USB causó a VirtualBox menos problemas. Para instalar el controlador. VirtualBox falló al detectar algunos dispositivos y otros los identificó como “Teclados USB”. VirtualBox reveló lentamente al menos una parte de los contenidos del dispositivo. sólo fuimos capaces de integrar dos de nuestros cinco especímenes de prueba en el sistema sin mayores dolores de cabeza. Al igual que su competidor. El uso de la tarjeta de sonido virtual ICH AC97 eliminó el fenómeno completamente pero debido a que Windows no detecta automáticamente la tarjeta. Si necesitamos un sistema casi perfecto. Por supuesto. Aunque activamos el interruptor en la configuración del dispositivo virtual. De Adentro hacia Fuera El siguiente obstáculo en el curso es intercambiar datos entre el sistema invitado y el anfitrión. pero fue imposible abrir directorios. Parece que Windows no reconoció el dispositivo correctamente y por lo tanto.ES . El software soportó fácilmente ambas operaciones de escritura y lectura y Windows identificó correctamente la webcam que enchufamos. RECURSOS [1] VMware: http://www. Conclusiones VMware y Windows 8 interaccionan de manera fiable el uno con el otro. Al final del día. Un vistazo al gestor de dispositivos lo reveló todo. VirtualBox es una historia completamente diferente. Después de enchufar el dispositivo USB en VirtualBox. que utilizaba el relativamente sofisticado protocolo de transmisión MTP. Sin embargo.vmware. El único tipo de datos que permite el invitado de esta forma son fragmentos de texto o URLs que copiamos. VirtualBox monta directorios del anfitrión como zonas compartidas en Windows.virtualbox.PORTADA • Windows 8 Virtualizado Figura 6: Al igual que VMware.

.

POR THOMAS LEICHTENSTERN no de los obstáculos que se interponen en el camino de la cooperación entre Linux y Windows en un único equipo siempre ha sido la incompatibilidad de los sistemas de archivos.LINUX. A pesar de que fuimos capaces de asignar letras de unidad a los sistemas de archivos de Linux utilizando el elemento del panel de control IFS Drives. y Ext2 IFS se ejecutó sin emitir ningún mensaje de error. dny3d. Windows se ha negado obstinadamente a dar soporte a cualquier sistema de archivos aparte del suyo propio. no era posible acceder a los volúmenes. La última versión compatible es Windows 2008. pero con un poco de ingenio.MAGAZINE. Un driver de sistema de archivos funciona tras el escenario.0/2000/ XP/2003/Vista/2008. generó un mensaje de error (véase la Figura 2) explicando que no es compatible .PORTADA • Sistemas de Ficheros Linux en Windows Cómo utilizar sistemas de archivos de Linux con Windows 8 Ajuste Perfecto Desde hace años. La primera vez que lanzamos el programa. la forma más elegante sería dejar que Windows accediera a los sistemas de archivos de Linux de forma transparente. com de archivos de Linux desde Windows. Drivers de Sistemas de Archivos De lejos. Aunque Linux ha hecho progresos sorprendentes en este sentido y ahora soporta tanto sistemas de archivos NTFS como FAT sin ningún problema. 123RF. podemos conseguir que nuestro Windows se comunique con los sistemas de archivos ext de Linux. sin necesidad de herramientas especiales. vamos a investigar si estas herramientas están realmente listas para la aparición de Windows 8. A lo largo de los años. En este artículo.ES . hemos creado un sistema con una versión de 32 bits de Windows 8 y hemos probado el acceso a los sistemas de archivos ext2/3/4. Microsoft sigue negándose obstinadamente a dar soporte a nada que no sean sus propios sistemas de archivos nativos (véase la Figura 1). Figura 2: Ext2 IFS para Windows no es compatible con Windows 8. ReiserFS y Btrfs de Linux. varios proyectos han proporcionado acceso a los sistemas U Figura 1: La misma historia de siempre continua en Windows 8: no hay soporte para otros sistemas de archivos. Ext2 IFS afirma soportar Windows NT4. aunque los resultados fueron decepcionantes. haciendo que el sistema de archivos de Linux parezca nativo. y éste es el enfoque que el veterano proyecto Ext2 Installable File System for Windows [1] ha seguido durante años. A continuación. se cambió el modo de compatibilidad de Windows 8 a Windows Vista SP3. 14 Número 91 WWW. pero no hay mención al respecto de Windows 8. Para ello.

WWW. bajo Show Properties | Mount Points | Add. pero sí incluye ReiserFS. permite el acceso en sólo negó a mostrar su contenido. pulsamos Next El único inconveniente es que Ext2Fsd hasta la sección en la que seleccionamos no soporta los sistemas ReiserFS o Btrfs el directorio de destino.Sistemas de Ficheros Linux en Windows • PORTADA Otro candidato del grupo de controladores de sistemas de archivos es Ext2Fsd [2].8. En nuestro laboratorio. Sin embargo. también soporta ReiserFS y HPFS. no es compatible solamente con todos los sistemas de ficheros EXT.MAGAZINE. La principal ventaja de esto es que las unidades estarán disponibles directamente tras el arranque. la herramienta su propio explorador de archivos (véase detectó todas las particiones ext pero se la Figura 4). y podemos activar o desactide Archivos var las casillas para seleccionar o anular Si sólo necesitamos acceder a las partila selección. pulsamos con el botón derecho en la partición correspondiente en el Administrador de Volúmenes Ext2 (véase la Figura 3) y seleccionamos Show Properties en el menú contextual.1. Aunque nos las arreglamos para instalar el controlador en modo Windows 7. En su temporal. sin duda será suficiente con interfaz gráfica de usuario Explore2fs [4] una herramienta que permita el acceso funciona bajo principios similares. grama. era totalmente inutilizable. evitando así las posibles incoherencias del sistema de archivos. el de Ext2 IFS: his programm cannot be installed on Windows NT version 6. sin ninguna referencia a Windows 8.000 or later. En la nueva ventana. sino que de acuerdo con la página web del proyecto. habilitamos Create a permanent MountPoint via Session Manager mien- tras mapeamos el disco (Change Drive Letters). En nuestro laboratorio. Sin embargo. El soporte oficial sólo se extiende a Windows 7. A continuación. El último cuadro en Windows 8. apareció el mismo tipo de mensaje de error. Esto no sistemas de archivos Ext2Fsd ofrece toda una gama de opciones es un error de pro. El programa es más o menos código privativo. También en este caso. En ReiserFS además de los sistemas ext. En el cuadro de diáduce porque Windows ignora alegrelogo que aparece diciéndonos que deseamente la opción Enable Ext2Mgr startup. La mayor parte de las otras herramientas de esta clase montan ext como sistemas de archivos ext2 y se saltan el journaling. o copiar y pegar de directorios y archivos. El vistazo a la página de Ext2Fsd nos hace tener pocas esperanzas: la última actualización fue en julio de 2011. Otra ventaja es que soporta ext3 con journaling. Para transferir un archivo o carpeta. obtuvimos los mismos resultados que antes: en principio no se puede acceder a las particiones de Linux. por ejemplo en forma de un propio explorador de archivos. ciones de Linux desde Windows ocasioLa herramienta de exploración con nalmente. ofrecido columna de la izquierda y el contenido gratuitamente por DiskInternals.ES Número 91 15 . pulsamos en botón Ext2 Properties.para administrar particiones de Linux. mos guardar un archivo. Ext2Fsd daba soporte a ext2 y ext3 en lectura y escritura. las particiones que encuentra en la El programa Linux Reader [3]. Para ello. fuimos capaces de acceder a la partición sin reiniciar nuestra máquina. así como a ext4 en modo de sólo lectura. Independientemente del mensaje que aparece ahora diciendo que es necesario reiniciar el sistema para permitir acceso de escritura. eso cambió tras un reinicio. Si las particiones no se encuentran en una unidad extraíble. estos detalles no me disuadieron y probé mi suerte con una máquina Windows 8. muestra explorador de archivos. y no soporta arrastrar y soltar. Aunque el nombre sugiere soporte sólo para ext2.LINUX. de diálogo muestra los archivos en el Administradores directorio. Para acceder a las particiones ext en operaciones de escritura. pero se promenú contextual.Figura 4: Linux Reader sólo permite acceso en lectura a las particionando Save en el nes Linux. La configuración por defecto de Automatic mount via MountMgr significa que necesitamos iniciar el Administrador de Volúmenes Ext2 previamente para ver las Figura 3: El Ext2 Volume Manager que viene con el controlador de unidades. es una buena idea asignar una letra de unidad fija. tenemos que pasar por un procedimiento relativamente complejo pulsando el botón derecho sobre el archivo o directorio deseado y seleccio. soporta del sistema de archivos a la derecha. desactivamos la casilla Mount volume in readonly mode y confirmamos el cambio pulsando en Apply. por lo que lectura a los sistemas de archivos.

.

.

fs-driver. Para Figura 6: Tras instalar los complementos. de lo contrario. un intento de acceder a una complementos adecuados. Esto nos lleva a la página de descargas [6] que nos muestra la lista de plugins en el navegador. supomientas. ■ archivos.MAGAZINE. y a continuación con el explorador de archivos navega- mos hasta el directorio donde hemos descomprimido el complemento. esta herramienta sólo arrastrar y soltar el contenido para soporta acceso en lectura a las particiocopiar. entre otros. que es el complemento. de nuevo sólo con administrador de acceso en lectura. sólo permite el acceso a sistemuestra la lista de particiones disponimas de archivos ext y es de lectura y bles.PORTADA • Sistemas de Ficheros Linux en Windows Otra alternativa es el programa shareware Total Commander [5]. Ahora pulsamos en el archivo WFX deseado y confirmamos con Abrir.ext2fsd. la mejor manera de echar una desventaja común. Total Commander soporta extensiones para sistemas de archivos de Linux.htm 18 Número 91 WWW. tendremos que pagar el equivalente a 40 francos suizos (32 euros) al desarrollador. como su nombre Haciendo doble clic en una entrada se lo indica.com [6] Complementos de Total Commander: Figura 5: Gracias a su interfaz de complementos. que contiene los complementos que dan soporte en acceso a sistemas de archivos de Linux. Aunque. ambos permiten der. Sin embargo. no podremos evitar el trato con particiones ext2/3/4. ya que sólo un vistazo rápido a una partición de soportan acceso en lectura a las particioLinux la ofrece DiskInternals Linux Reanes Linux.com. http://www. doble clic.diskinternals. Para instalar estos complementos.LINUX. lo que lo hace mucho más fácil nes de Linux.ghisler.net/explore 2fs [5] Total Commander: http://www. Ambos Si deseamos tener acceso a las particomplementos se basan en el mismo ciones de Linux bajo Windows de forma principio y crean nuevas entradas en el regular.com/plugins. para activar el software. Avanzamos página hasta que vemos la sección File system extensions (plugins). el controlador de sistema de Network Neighborhood de la aplicaarchivos Ext2Fsd es probablemente la ción. mejor opción.ghisler. pero. Para integrar el nuevo complemento. pulsamos en Configuración | Opciones | Complementos y abrimos la sección de Complementos de sistema de archivos (.chrysocome. montar las particiones de Linux. Tras descargar el archivo ZIP con la extensión correspondiente. Hicimos la prueba con los complementos Ext2+Reiser 1. incluyendo el soporte para sistemas de ficheros de Linux. nido es un proceso algo complicado. descomprimimos el archivo. Aunque ambos complementos abrieTotal Commander se encuentra en un ron particiones ext2 y ext3 sin ningún punto intermedio: equipado con los problema. Sin embargo. iniciar el navegador momento. Hasta el [4] Explore2fs: http://www. reader/ Conclusiones Si tenemos que acceder a particiones tanto de Windows como de Linux. Una de las mayores ventajas de Total Commander es la interfaz de plug-ins que le permite ampliar las funcionalidades del navegador de muchas formas. Total Commander perutilizar las herra. seleccionamos Configuración | Opciones.com/linuxReiserFS. Windows proporciona sólo un de archivos con permisos de adminissoporte muy rudimentario para ReiserFS trador. no se pueden y nada en absoluto para Btrfs. Ambos complementos tienen Por contra.6 y DiskInternals Reader 2012/06/07. pulsamos en Añadir.wfx. veremos un archivo con extensión . En el cuadro de diálogo Configuración (véase la Figura 5) nos vamos a Complementos y luego presionamos el botón Descargar nuevos complementos de ghisler. y la transferencia de contede utilizar. El complemento DiskInternals se comportó de RECURSOS manera estable en la [1] Ext2 IFS: http://www. también partición ext4 con soporta el acceso a los sistemas de archiext2+Reiser colgó el vos de Linux. y a continuación. que a su vez podemos abrir con un escritura para las tres versiones.WFX) pulsando sobre Configurar a la derecha. debemos niendo que se inició con derechos administrativos. El complemento ya está listo para usar (véase la Figura 6). En Total Commander. La versión de prueba está limitada a un mes.com particiones ext y la [3] Linux Reader: partición con formato http://www. Entre otras cosas.ES .mite acceder a las particiones Linux a través de Network.org lectura de todas las [2] Ext2Fsd: http://www.

WWW.LINUX. Windows: La configuración de Samba a menudo falla cuando los usuarios se saltan algunos parámetros. Los paquetes smbfs o cifs-utils contienen diversas utilidades para montar sistemas de ficheros y sistemas de ficheros virtuales. Sin embargo. también borrarlos. consistiendo en una sección [global] y una serie de recursos compartidos para los directorios de conexión de los usuarios y las impresoras. Por ejemplo. incluso si Windows autoriza al usuario el control total a nivel de directorio (NTFS). Si queremos que nuestro sistema Linux participe a la hora de compartir ficheros por medio de los servicios CIFS/SMB nativos de Windows.ES Número 91 19 . lo único que necesitaremos es el paquete smbclient. por ejemplo. El que los ficheros compartidos funcionen de manera transparente. pero sólo con el control total se pueden modificar los permisos de una carpeta. Samba define bastantes valores por defecto. Si el recurso se encuentra visible en ambos lados pero el acceso falla. El paquete cifs-utils. Se puede utilizar la herramienta para ver los recursos ofertados por un servidor Windows o Samba. Si tan sólo se quiere acceder a un sistema Windows 8.. o incluso para conectarse usando el cliente de forma similar a FTP. sólo user y ads o domain son de importancia. Por ello siempre debería utilizarse CIFS VFS para montar cualquier recurso compartido de Windows de forma permanente que se necesite para el trabajo diario. proporciona el sistema de ficheros de red actualmente utilizado por los clientes Linux. así como el cliente de la línea de comandos smbclient. Samba juega un papel crucial. Normalmente el paquete smbfs sólo contiene un wrapper por razones de compatibilidad. pueden comprobarse por medio del comando: testparm -v Control Total vs. Los permisos para modificar permiten cambiar los ficheros o las carpetas y por ello. asegurándose de que podemos utilizar simultáneamente smbfs y cifs.. tendremos que instalar el paquete samba en nuestro sistema Linux. que reemplaza al antiguo sistema de ficheros SMB. Los escritorios KDE y Gnome automáticamente Samba: de lo Simple a lo Complejo La complejidad a la hora de acceder a redes Windows desde Linux con Samba se ve agravada por el hecho de que Samba tiene que hacer corresponder las cuentas y los permisos de forma fiable y gestionar las cuentas de la máquina. sólo podrá leer en el lado Linux.Windows 8 y Samba • PORTADA Una red con Windows 8 y Linux nobeastofierce. El paquete smbclient contiene diversas herramientas para la línea de Un fichero smb. Si se combinan los permisos ordinarios de una carpeta del sistema de ficheros NTFS local con los permisos compartidos. aunque los nombres sugieran efectos similares. 123RF.conf típico. tales como writeable = yes y readonly = no. hay una diferencia significativa entre Control Total y Modificar (en Seguridad Compartida) o Cambiar (en Permisos Compartidos) para el sistema de ficheros NTFS. Si se quiere saber cuántas opciones se encuentran activadas en un servidor Samba. con una configuración Samba por defecto es bas- En la filosofía de permisos de Windows. Samba crea una correspondencia entre las diversas redes y los modos de compartición de las LAN de Windows con la ayuda del parámetro security = . C comandos para trabajar con los recursos. Actualmente. Cambiar Visibilidad en Samba Casi todas las distribuciones instalan al menos los paquetes clientes – smbclient y smbfs o cifs-util – automáticamente y normalmente se instala también el paquete sambatools. a menudo el problema se encuentra en la autenticación. requieran configuración o directamente no funcionen depende de varios factores (véase el cuadro “Teoría y Práctica”). Vamos a mostrar cómo configurar un sistema Linux para compartir ficheros con Windows 8 en una red peer-to-peer. lo que elimina la necesidad de que los usuarios tengan que crear de forma explícita estas configuraciones – el comando testparm las muestra. se aplica siempre el permiso más restrictivo.MAGAZINE. Las opciones posibles son similares a las de smbmount. hay muchos parámetros que tienen al menos dos notaciones complementarias. CIFS VFS. En este artículo vamos a describir cómo configurar una red peer-to-peer entre Windows 8 y Linux. tante manejable.com CONEXIONES POR THOMAS DRILLING uando se está configurando la compartición de ficheros e impresoras en entornos heterogéneos en un sistema Linux. si un usuario sólo tiene permiso para Leer.

configuraciones erróneas de TCP/ IP. Como anticipo quiero resaltar que el acceso a un recurso Windows requiere que se tenga una cuenta con el mismo nombre en la máquina Linux. El grupo de trabajo por sí mismo no se encuentra protegido por ninguna contraseña. Clientes SMB en KDE y Gnome Los escritorios modernos como KDE y Gnome ofrecen mecanismos transparentes para acceder a recursos remotos CIFS Sin embargo. La función Grupo Hogar se basa en WS-Discovery (Web Services Dynamic Discovery Service). necesitamos una cuenta en ese equipo. no todos los programas pueden acceder a un recurso compartido de esta forma. las redes Windows basadas en dominios siempre contienen uno o más servidores que se encargan de manejar la seguridad y los permisos para el resto de los equipos del dominio. tales como NLA (Network Location Awareness). sin embargo. así como en otras tecnologías adicionales requeridas para que la conexión funcione. KDE usa esclavos KIO para montar recursos compartidos CIFS.ES . vídeos. Incluso en redes Windows homogéneas. smbpasswd ofrece una solución más fácil. sin tener que instalar ningún paquete adicional. Esto significa que los recursos compartidos de Windows o Samba pueden usarse directamente en el administrador de archivos. pero esto no significa necesariamente que se haya hecho algo mal. Los miembros del grupo sólo necesitan entrar en el mismo una vez cuando añaden el ordenador al grupo. Esto también es aplicable a las peculiaridades de Windows relacionadas con la visibilidad. Windows 7 y Windows 8 podrían rehusar a comunicarse los unos con los otros porque Microsoft continuamente está incorporando nuevas tecnologías que hacen difícil la comunicación (véase el cuadro “La Red de Windows”). Apunte Como casi todas las distribuciones actuales incluyen configuraciones por defecto que simplifican la configuración de Samba. que Microsoft dice que simplifica la configuración. rutas incorrectas. tan pronto como compartamos un recurso en el administrador de archivos correspondiente. Si un equipo Windows pertenece a un Grupo Hogar. red de dominio. en este artículo nos vamos a centrar en lo esencial. La sintaxis es: smb://<usuario>@U <servidor>/<recurso> instalan el servidor Samba por medio del paquete samba. sin la necesidad de que el usuario necesite los privilegios del root. Samba Domain Controller puede incluso proporcionar un Directorio Activo. red de trabajo y red de hogar juegan un papel importante cuando se trata de propagar y encontrar los clientes en la red. si el servidor Samba actúa como un controlador de dominio o es miembro de un dominio Windows. pero es suficiente como para realizar acciones simples como el copiado de datos. Todas las cuentas de usuario se almacenan localmente en cada PC. presentados en Windows 7 y soportados en Windows 8. Aunque facilitan la compartición de imágenes. Desde Windows Vista. etc. todos los equipos actúan como iguales. documentos e impresoras en la red de casa por medio de un protocolo para los Grupos de Hogar especialmente diseñado y desarrollado que sólo funciona en Windows 7 y Windows 8 – no funciona en Samba ni en los PC Linux. el acceso normalmente fallará cuando KDE ejecute programas Gtk. Vista. La implementación de Samba 4 contiene a Kerberos y OpenLDAP. Teóricamente. Por ejemplo. Sólo los usuarios del dominio tienen los privilegios de acceso y pueden conectarse a cualquier ordenador del dominio con las credenciales de su cuenta y una contraseña. Al mismo tiempo. tales como la propagación de los recursos de red o el indexado. Windows identifica las redes sin un controlador de dominio por medio de la dirección de la puerta de enlace de sus respectivas interfaces de red. todos los equipos del grupo de trabajo deben residir en la misma red local o subred. La Figura 1 muestra un ejemplo en KDE. Ambos escritorios permiten que los usuarios busquen recursos compartidos en la red local.MAGAZINE. sin necesidad de tener una cuenta local en ese ordenador. siempre se puede crear el nombre de usuario correspondiente en Linux con el comando useradd. GIMP o Adobe Reader. Los problemas de acceso ocasionados por las configuraciones de los cortafuegos. música. Además. mientras que NLA identifica cada dispositivo de forma individual para que se encuentren dentro de la puerta de enlace por medio de sus direcciones MAC. habrá que instalar el paquete Smb4k [1] y utilizar el comando Red de Windows En un grupo de trabajo normal de Windows. Los Grupos Hogar. Un Grupo Hogar se encuentra protegido por medio de una contraseña. Windows 7 y 8 también usan nuevas tecnologías para detectar redes en entornos basados sólo en Windows. Físicamente. tales como LibreOffice. son un tipo especial de grupo de trabajo. Con Samba 4. descubriéndolas por medio de ICMP y ARP. aunque los Grupo Hogar en realidad dificultan la comunicación entre cualquier sistema que no sea Windows 7 o Windows 8. por medio de sistemas de ficheros virtuales. 20 Número 91 WWW. vamos a intentar resolver problemas de conectividad debidos a fallos de hardware. estas tecnologías de propagación y detección se han encontrado bajo el control del cortafuegos. Al contrario que las redes domésticas. XP. tales como LLTD (Link Layer Topology Discovery). La única forma de evitar la creación de una base de datos de usuarios local y asíncrona es utilizando un servidor de claves en la red – por ejemplo. habrá que abandonar dicho grupo para poder compartir con Linux. KDE no soporta todas las funcionalidades del protocolo CIFS con este tipo de accesos. los problemas relacionados con los privilegios o los problemas de autenticación se explicarán sólo si fuera necesario a la hora de resolver algún ejemplo concreto.PORTADA • Windows 8 y Samba Teoría y Práctica La compartición de ficheros entre Linux y Windows 8 a veces falla. sin embargo. Estas soluciones están pensadas para las redes corporativas y por lo tanto se salen del ámbito de este artículo. Un ejemplo importante de los cambios que lleva a cabo Microsoft a la hora de compartir ficheros lo encontramos en la funcionalidad presentada en Windows 7 denominada Grupo Hogar. Técnicamente. Un equipo Linux con Samba puede actuar como controlador de dominio para un dominio Windows NT o usar OpenLDAP y Kerberos para proporcionar un sistema de autenticación centralizado en el dominio Windows. Si queremos que otros programas puedan acceder a los recursos CIFS por medio de KDE. La funcionalidad podría estar limitada. Si queremos conectarnos a un recurso compartido de un equipo en un grupo de trabajo.LINUX. Esto significa que los cuatro tipos de redes posibles red pública. Hay que asegurarse de utilizar el parámetro -M para que el comando no cree el directorio home y -s /sbin/nologin o -s /bin/false para evitar que el usuario pueda utilizar un intérprete de comandos.

en la sección Redes e Internet del panel de control. seleccionar Cam.ES Número 91 21 . Para poder seguir todos los pasos indicados en esta sección.Windows 8 y Samba • PORTADA smb4k_mount proporcionado por el paquete para montar los recursos compartidos. Si es el caso. usuario y grupo (barra de progreso) – hay que presionar el botón Finalizar. En el cuadro de diálogo Abandonar Grupo Hogar que aparece luego. hay que presionar el botón con el mismo nombre – una vez que Windows 8 haya finalizado el proceso automático de cambios de privilegios.Figura 3: Utiliza Seleccionar Grupo Hogar y opciones de combiar opciones del Grupo partición en el Panel de Control para abandonar el Grupo Hogar. Figura 2: Si quieres comunicarte con Linux. Habría que configurarlas manualmente por medio de /etc/network/interfaces (Debian. Si se quieren compartir ficheros o directorios de Windows 8 para utilizarlos desde Linux. Ahora el PC Windows está preparado para compartir directorios con Linux por medio del modo normal de grupos de trabajo. ya que las distribuciones no activan el gestor Network Manager hasta que el usuario no haya iniciado su sesión. SFTP y WebDAV en Gnome. Para ello. Grupo Hogar … en Acciones avanzadas del Grupo Hogar. hay que seleccionar la aplicación escritorio. CIFS VFS soporta todas las funciones del protocolo CIFS. El programa mount. Gnome utiliza el sistema de ficheros virtual GVFS. accedemos a un recurso compartido de Windows 8 desde como root en Linux para crear un usuario Samba con un nombre que coincida con el de Windows. cuando se integren sistemas iSCSI) para evitar la pérdida de datos si la conexión de red se corta o el servidor deja de ser accesible. se puede ejecutar el comando smbpasswd -a <usuario> Figura 1: KDE puede buscar los recursos compartidos de Windows 8 por sí mismo. GVFS no soporta todas las funciones del protocolo CIFS de modo que sólo es útil para un uso ocasional. Los recursos compartidos pueden verse en Nautilus y se pueden acceder a ellos como si fuesen recursos locales. habría que configurar un punto de montaje permanente y guardarlo como un atajo en Dolphin o Nautilus en Lugares. primero hay que asegurarse de que los siguientes paquetes samba. que también soporta accesos a los recursos compartidos por medio de FTP. pero los pasos pueden aplicarse fácilmente a cualquier otra distribución. Eliminando el Grupo Hogar En el siguiente ejemplo. Las distribuciones más populares los traen instalados por defecto.MAGAZINE. el sucesor de SMBFS. Por otro lado. También son útiles los paquetes opcionales sambatools y el wrapper smbfs. Si se necesitase un recurso compartido de manera permanente. Ubuntu 12. Ahora. hay que abrir el Centro de Red y Compartición en el módulo del WWW. Hogar y luego Abandonar si fuera necesario. que el gestor Network Manager no gestione las interfaces de red. Para ello. hay que ir a la sección Redes e Internet del Panel de Control para abandonar el Grupo Hogar. En la interfaz de mosaico de Windows 8. smbclient y cifs-vfs se encuentren instalados en el ordenador. Puntos de Montajes Permanentes Los puntos de montajes permanentes de los recursos compartidos de CIFS se basan en el sistema de ficheros virtual CIFS VFS en todas las distribuciones. el PC con Windows 8 no debe proporcionar un Grupo Hogar o ser miembro de uno. en la – más que familiar – vista del escritorio. También es útil para los puntos de montaje de red montados de manera permanente. deberíamos utilizar siempre sync o _netfs (por ejemplo. KDE permite que los usuarios monten los recursos compartidos SMB de forma permanente por medio del asistente de red y la URL remote:/. en las unidades de red y al contrario que con los volúmenes locales. Ubuntu) o /etc/sysconfig/ network-scripts (Red Hat y derivados). Al contrario que GVFS.04 LTS.LINUX. Por cierto. hay que asegurarse de que se ha iniciado sesión en Windows y Linux con cuentas de usuario con idéntico nombre. hay que hacer clic en el icono del administrador de archivos de barra de tareas y comprobar en el panel de navegación de Explorer si el PC Windows pertenece al Grupo Hogar o si se ha creado uno nuevo (Figura 2).cifs se usa para montar los recursos compartidos CIFS [2]. Luego. Además. hay que hacer clic en Seleccionar Grupo Hogar y opciones de compartición (Figura 3) y en el cuadro de diálogo que aparece. Los usuarios de Gnome pueden también navegar por los recursos compartidos CIFS de la red local (Windows 8 o Samba) sin la necesidad de instalar ningún software adicional.

hay que seleccionar el tipo menú contextual y luego seleccionar la clic en Aceptar.MAGAZINE. Estos permisos no Privado. debería activar el descubrimiento de red. En este momento ya Seleccionar Usuarios o Grupos. Para asigpanel de control mencionado anteriorgestionar las conexiones del Grupo Hogar narle permisos de escritura. estoy debería ahora aparecer en la parte supeconfiguración del cortafuegos asociada. introducir cubrimiento de red. esta opción también podremos encontrar el incluye la opción de configuración de disbotón Compartir que positivo automática por defecto. nos pedirá la contraseña de administraPor ejemplo. comprobar si se ve si el (recomendado) en favor de la opción que modificar los permisos a Cambios o perfil de la red que se está utilizando es Usar las cuentas de los usuarios y contraControl Completo. Los das tales como usuarios seleccionados deben existir LLTD. En Windows 8. tendremos que acelerar tremendahacer clic en Compartición Avanzada.LINUX. para permitirle al usuario Por cada perfil de red manejado por Winción. configuración avanzada de compartición. En el escenario del ejemplo que Para ello. En mente la velocidad el cuadro de diálogo que aparece. Huésped o Pública y que hay que cerrar la sesión del ordenahacer clic en Añadir en el panel ComparTodas las redes – hay que definir difedor y volver a abrirla para que se aplitir Permisos y en el cuadro de diálogo rentes parámetros en las secciones Desquen los cambios. hay mostramos aquí con compartición mutua el directorio por medio de Windows que hacer clic en Seleccionar Nombres. tenemos que navegar hasta objetos a seleccionar. nombres de usuario Además de los servicios del navegador deseados en el cuadro del prehistórico Windows que Samba. Por el directorio con otros el contrario. añadir los usuarios y grupos opción Activar deseados. las tecnologías de detección usuarios tecleando los normalmente resultan ser útiles. campo Introduzca los nombres de los Hogar. pero nos permitirá compartir esta opción desearemos desactivarla. tante en Linux – al recurso compartido que se acaba de desactivar la crear es limitado a Lectura para Todos en opción por defecto Permitir a Windows la configuración por defecto. haremos el modo peer. De esta permisos específicos para los usuarios o forma se puede grupos seleccionados. Windows 8 nos dice drilling el control completo. el acceso conexión funcional con Linux. Para ello. hay en la que aparecen que marcar el casillero Compartir esta los recursos procecarpeta e introducir un nombre libredentes de una red mente como nombre del recurso comparvecina. <nivel>. archivos e impresoAquí podemos también añadir más usuaras y – esto es esperios. hay que hacer clic para restringir el acceso a ciertos usuaopciones de compartición | Cambiar en Guardar cambios. se puede y se perfil de red que escogí. tendremos mente y. tido (los comentarios son opcionales). Windows 8 también incluye 22 Número 91 WWW. usando el directorio Descargas del direcrior del cuadro de diálogo Compartir PerEn el perfil Privado. Bajo la ruta mostrada. Figura 4: Estas configuraciones del perfil de red proporcionan una cialmente imporEn el ejemplo de la Figura 5. hay que dows – Privada.Figura 5: Compartición Avanzada soporta el control granular de nes local master = yes y os level = logo Seleccione con los permisos de los recursos compartidos. y darles o quitarles los permicompartición de sos Control Completo. primero.ES . Por último. seleccionar Propiedades en el Windows encuentra el nombre. A continuación. En una red privada. Windows 8 ahora rios individuales. ficheros e impresoras podremos proceder a compartir los direcel nombre de usuario deseado en el compartidas y Conexiones del Grupo torios deseados. En este ejemplo.PORTADA • Windows 8 y Samba tecnologías de quién desea compartir y luego tendremos detección avanzaque hacer clic en el botón Añadir. También deberíaTambién se puede hacer clic en el botón mos activar la Permisos. como se tanto en Windows como en Linux. Si de directorios entre Windows y Linux en Explorer. Descargas es ya expandiendo el perfil con un clic en la una carpeta pública de flecha que apunta hacia abajo a la dereeste usuario debido al cha. hay que hacer clic en señas para conectarse a otros ordenadodebemos asignarlos de forma global sino Redes e Internet | Elegir Grupo Hogar y res (Figura 4). Luego. hay que definir la torio home del usuario con el que he inimisos del panel Nombres de Grupos o configuración de los recursos comparticiado sesión en el sistema para comparUsuarios y podremos asignarles el perdos para reflejar nuestras necesidades tirlo. El usuario adicional Privado para que Windows 8 use la solapa Compartir. Cambios o Lectura. también emula con las opciopor el cuadro de diá. mencionó anteriorSi queremos compartir la carpeta con mente. de texto proporcionado por cierto.

MAGAZINE. Recursos Compartidos en Tras completar este paso. ya que Ubuntu nos proporciona un fichero de configuración de Samba /etc/samba/Samb. tendremos que ejecutar el comando Figura 8: En KDE y Gnome se pueden configurar directamente los recursos compartidos por medio del menú que aparece cuando se pulsa el botón derecho de ratón en el Administrador de Archivos. en la Figura 8). Hay que modificar la sección [global] para que se adecue al escenario descrito quitando el punto y coma (que sirve para comentar la configuración de Samba) de la línea security = user para activar el nivel de seguridad de Samba basado en el usuario. tendremos Linux para Windows que ir a la solapa Compartir del menú Para compartir ficheros o directorios en contextual de nuevo en el directorio Linux para su uso desde Windows 8. WWW. marcar el casillero Compartir dremos primero que instalar un Servidor con Samba (Microsoft Windows). si se selecciona Propiedades en el menú contextual del directorio que se desee compartir desde Dolphin en Kubuntu y luego vamos a la solapa Compartir. aparecerá el cuadro de diálogo de inicio de sesión. Por ejemplo. Sin embargo. hay que hacer clic en Red. la distribución se ofrecerá a instalar Samba. tal y como se revela en el cuadro de diálogo de Permisos de Acceso de KDE (Figura 7). si se compermiso. Haciendo doble clic en el nombre del ordenador. Otro casillero nos permitirá conparte un directorio por medio del cuadro figurar que se pueda conectar un huesde diálogo correspondiente de KDE/Dolpéd. smbguest y el propietario (drilling. en el panel Ordenador del lado dereFigura 7: Samba crea una correspondencia entre el conjunto de cho se rellenará gradualpermisos de Windows y los de Unix. En el ejemplo mostrado en la Figura 6. la máquina Linux debería ser capaz de acceder a esta carpeta. En el primer intento. KDE gestiona los recursos compartidos Figura 6: Control Total para un recurso comsimples como éste por medio del directopartido de Windows incluye tanto los permirio /var/lib/samba/user-shares y no por sos de lectura como de escritura.Windows 8 y Samba • PORTADA las distribuciones automáticamente completarán los pasos necesarios para realizar esta tarea. tendremos que añadir username map=/etc/samba/smbusers y luego ejecutar: sudo smbpasswd -a <usuario> Ahora hay que introducir una contraseña que podemos elegir libremente para crear un usuario Samba en el PC Linux cuyo nombre tiene que coincidir exactamente con el nombre del usuario del ordenador Windows 8. como se muestra en la Figura 9. por ejemplo. medio del fichero de configuración de Samba. tal y como lo describí en lo deseamos (por defecto el mismo nomdetalle en la ocasión del lanzamiento de bre que el del directorio) y establecer el Windows 7 [3]. Está basado en el comando nautilus-share (Gnome). De hecho. /etc/samba/smb. El acceso a los recursos compartidos de esta forma desde Windows 8 es bastante simple: en el panel de navegación de la parte izquierda de Explorer. Esto lo podremos hacer biar el nombre del recurso compartido si manualmente. fallará.conf. mente con las entradas y miso Control Completo o Cambios para este usuario en Permitir (Figura 6). Este error es causado por Ubuntu/ Kubuntu.LINUX.conf sin funcionalidad por defecto cuando se instala el paquete samba. donde tendríamos que tener los privilegios del usuario root para poder acceder a él.ES Número 91 23 . Samba crea la correspondencia entre los permisos asignados en Windows con el valor de permisos Linux 755. camSamba en Linux. Configuran un servidor Samba con un fichero de configuración correspondiente adecuado para los recursos compartidos que hayamos deseado. con una nota indicando que Windows 8 no puede conectarse al servidor Samba con el nombre de usuario especificado – incluso si estuviésemos usando la misma cuenta en Windows y en el sistema Linux. el procedimiento mostrado sólo sirve para permitir a los usuarios crear recursos compartidos simples en sus propios directorios home con la ayuda de Dolphin (KDE) o Nautilus (Gnome) sin necesidad de tener los privilegios del usuario root. sin embargo. tendeseado. Sólo Lectura y Denegar para los objetos Todos. A continuación. deberíamos poder ver los nombres del equipo del servidor Linux/Samba. la mayoría de bles aquí son Control Completo. A partir de ahora. Los permisos disponiphin o Gnome/Nautilus. Los gurú de Samba se sorprenderán al ver que un recurso compartido configurado de esta forma no aparezca en la sección del fichero de configuración de Samba. Directamente bajo esta línea.

por defecto. es importante recordar tres cosas con Windows 8: el comportamiento de los perfiles de red se controla por el cortafuegos interno. Linux Magazine.html [6] system-config-samba: http://www. luego se establecerá la conexión cuando sea necesaria.8. 52 [4] Documentación de Samba: http://www. El comando muestra todos los recursos compartidos para el usuario que se encuentre actualmente conectado. Conclusiones Para la mayoría de los usuarios Linux con experiencia.org/samba/docs/ man/manpages-3/swat. Se puede hacer lo mismo tecleando net use \\<Ordenador> desde la línea de comandos o desde PowerShell. Si se sospecha que.html [3] “Windows 7 en una red Samba” por Markus Klimke.samba.MAGAZINE. system-config-samba [6] y gadmin-samba [7]. como Swat [5] de la propia Samba.LINUX. el uso de Samba para el acceso a la red forma parte de su forma de trabajo diaria. y. sin embargo. la navegación en Dolphin también funciona por medio de Lugares | Redes | Grupo de Trabajo. para que funcione la propagación o el descubrimiento automático como es debido. se puede acceder al nuevo recurso compartido desde Windows 8 como un simple usuario por medio de net usershare Recursos Compartidos Permanentes Para los recursos compartidos permanentemente. con los pri- RECURSOS La configuración de los permisos para el directorio apropiado en el menú contextual de Dolphin es irrelevante aquí.net/p/smb4k/ home/Home/ [2] Opciones para mount. /etc/samba/smb.org/samba/docs/ man/manpages-3/mount. Las redes de Windows 8 al menos no son diferentes de las de Windows 7 – una vez que uno se ha familiarizado con la nueva interfaz de usuario. Por otro lado. Número 77 pág.cifs. se puede usar la URL smb://<GrupodeTrabajo>/<Ordenador> en Dolphin o Nautilus para acceder directamente a un recurso compartido. los clientes deben ser miembros de un dominio o de un grupo de trabajo – independientemente de la configuración TCP/IP. En Linux. En caso contrario.com/sambahowto.html Problemas En las redes Windows.conf.org/samba/docs/ [5] Swat: http://www. Especificando la opción -U=<Usuario> se consigue el mismo resultado pero para otros usuarios. Además.net/2009/12/25/ configuresamba-with-gadminsamba/ [8] Webmin: http://www. vilegios del usuario root como se muestra en el Listado 1.8.samba. ■ Figura 9: Windows 8 descubre inmediatamente y fácilmente los recursos compartidos por los PC Linux. hay que editar la sección Sharename del fichero de configuración de Samba. 24 Número 91 WWW. Sin embargo. es mejor dejar desactivadas diversas funciones de descubrimiento y propagación de nuevos recursos cuando queramos comunicarnos con Linux.samba. Tras reiniciar el servidor con sudo service smbd restart sudo service smbd restart para reiniciar el servidor Samba. casi todas las distribuciones también proporcionan herramientas gráficas para configurar Samba. se puede teclear el siguiente comando smbclient -L <ordenador> (Figura 10). se puede acceder a un recurso compartido directamente tecleando en la barra de direcciones de Explorer \\<Ordenador>. En el caso de que surjan problemas de conectividad. hace falta tener la configuración de Samba correcta para poder usarlos. los Gupos Hogar de Windows sólo funcionan en el mundo Windows 7/8. el acceso desde Windows 8 debería funcionar.conf.PORTADA • Windows 8 y Samba Listado 1 01 [Sharename] 02 # Ruta 03 path = /<i>path<i>/<i>to<i>/<i>the<i >/<i>data<i> 04 # Comentario 05 comment = “My data” 06 available = yes 07 browseable = yes 08 # Sin acceso huésped 09 guest ok = no 10 # Los usuarios conectados tienen permisos de escritura 11 writeable = yes de smb.com/ how-to-configure-samba-using-agraphical-interface-in-ubuntu/ [7] gadmin-samba: http://www. a pesar de haber corregido la configuración IP y del cortafuegos (el ordenador responde a los ping y a las peticiones ICMP). se puede utilizar Webmin como herramienta de configuración de Samba basada en la web [8].cifs: http://www.unixmen. Después de esto. Figura 10: La herramienta smbclient hace visible los recursos compartidos de Windows desde la línea de comandos. la vecindad de la red Windows permanecerá vacía. un ordenador no se muestra en la vecindad de la red porque LLTD en Windows 8 no está haciendo lo que debería hacer o simplemente que NLA tarda mucho.webmin.ghacks.ES . En la documentación oficial de Samba [4] se proporcionan otras opciones. a veces la comunicación entre Linux y Windows falla (véase el cuadro “Problemas”) y a veces se debe a que algo está sucediendo en el lado de Windows. Por ello. Si se quiere saber exactamente que recursos compartidos se encuentran disponibles en un equipo Windows 8 desde Linux. ya que es un recurso compartido por medio [1] Smb4k: http://sourceforge.

La propia partición de Windows 8 debe tener al menos 12GB para que no se llene rápidamente con las operaciones del día a día.5 veces la RAM es la regla de oro para el espacio de intercambio. descubrimos cómo instalar Windows en una configuración de arranque dual en un equipo que ya está ejecutando Linux. pero algunos usuarios han cuestionado el tamaño adecuado. vuelca su sector de arranque en el disco duro durante la instalación. E mos instalando Windows 8 en un sistema Linux ya existente.com Windows 8 y Linux en Modo de Arranque Dual Un Par de Arranques Aunque conseguir que Windows conjugue bien en una instalación de Linux existente es difícil.LINUX. Si estaFigura 1: Cómo hacerlo: Windows 8 necesita una partición primaria. El mejor enfoque es utilizar una herramienta Linux como GParted (Figura 1).25. 30 años después de MS-DOS 1. Windows 8 mantiene sus antiguos tics.ES Número 91 25 . El mínimo de 12GB Hacer Sitio Aunque Windows 8 insiste en usar una partición primaria. Opcionalmente podemos proporcionar Windows 8 con un intercambio separado del tipo que usa Linux. a pesar de la negación de Microsoft sobre la existencia de otros sistemas y pese a amenazas tales como el Arranque Seguro UEFI. En este artículo. la partición no tiene que estar al principio del disco. /dev/sda4 en nuestro ejemplo. lo tenemos que establecer y activar manualmente después en Windows. WWW.Arranque Dual Win 8/Linux • PORTADA Rancz Andrei 123RF. arrancaba desde un disquete. Los discos duros no entraron en la ecuación hasta MS DOS 2. después de todo. en Propiedades del sistema bajo Avanzadas | Configuración del Rendimiento.25 podía asumir con seguridad que sería el único sistema en el disco de arranque. si creamos un archivo de intercambio. insistiendo en instalarse en una partición primaria. podemos reducir el tamaño de una partición extendida para dejar espacio al sistema operativo de Microsoft. A Windows no le importa dónde se ubica el archivo de intercambio y esto incluye las particiones extendidas. con un poco de ingenio se puede configurar Windows 8 para arranque dual con Linux. Mientras que los sistemas operativos modernos como Linux funcionan en cualquier rincón del disco duro para dejar suficiente espacio libre. Si bien 1. muchos usuarios Windows ejecutan el sistema operativo sin archivo de intercambio sin problemas.0 cuando salió el nuevo PC de IBM. Sin embargo. Esto también tiene sentido para crear una partición primaria nueva para Windows en el espacio que liberemos. POR JÖRG LUTHER n 1982. Sin embargo. incluso si el disco ya contiene otro gestor de arranque. MS-DOS 1. Microsoft sigue siendo reacio a tener inquilinos: al igual que sus predecesores.MAGAZINE. Se pueden ubicar otros discos para datos o intercambio en una partición lógica (/dev/ sda6 aquí). con las actuales RAM de 4GB y más. podemos ver a Linux y Windows 8 compartir el mismo disco.

Una vez seleccionado el tipo de cuenta e introducidos los datos de autenticación. el instalador de Microsoft nos pedirá que elijamos un idioma del sistema. incluyendo SystemRescueCd [3]. 26 Número 91 WWW. confirmamos de nuevo la introducción pulsando Finalizar. Normalmente reconoce automáticamente la configuración del GRUB utilizado previamente y ofrece arrancar la correspondiente partición como primer elemento del menú en la lista (Figura 3). La forma más rápida y sencilla es hacer esto utilizando Super Grub Disk [2]. Seleccionamos la partición preparada. Instalar Windows 8 Después de arrancar desde el disco. usando las herramientas propias de Windows. Lo único que falta ahora en el registro de arranque maestro (MBR). descargará las actualizaciones antes de reiniciar el ordenador. es suficiente con tener una cuenta local.LINUX. que todas las distribuciones populares utilizan hoy en día. La rutina posteriormente nos ofrece una actualización de una versión más antigua de Windows existente. Restaurar GRUB Cubrir todas las eventualidades relacionadas con la restauración del sector de arranque nos podría llevar otro artículo entero [1]. La manera más sencilla para restaurar estos componentes es arrancando el sistema Linux original y reparando el sector de arranque desde allí. pongamos la clave del producto y aceptemos los términos de la licencia. expandir. Una vez completadas las tareas pendientes de particionado. Necesitamos este tipo de cuenta para descargar aplicaciones de la tienda de Windows y para sincronizar la configuración y los datos a través de diversos dispositivos.img y core.img porque Windows los ha borrado. Si bien Windows 8 aún tiene una Cuenta Local. ya que Windows no tiene piedad al sobrescribir el gestor de arranque de Linux. en la cual al menos tenemos que proporcionar una dirección de correo electrónico. seleccionamos el tercer elemento del menú. nuestro género y el código postal. Para empezar. Termina el proceso cuando se reinicie el equipo. sólo ofrece una funcionalidad limitada. pero gracias a GRUB 2. La cuenta predeterminada es una Cuenta Microsoft en la nube del fabricante.PORTADA • Arranque Dual Win 8/Linux sólo es suficiente para los experimentos iniciales con el sistema operativo. En todo caso. son los componentes principales de GRUB boot. no necesitamos mucha magia para restablecer el gestor de arranque antiguo: todos los datos necesarios para este proceso siguen almacenados en la partición raíz original. En este momento. El instalador copiará los datos a la partición de Windows y si es necesario. Si queremos asegurarnos absolutamente. este paso no es absolutamente necesario porque podemos establecer espacio de intercambio y una posible partición de datos posteriormente. que forma parte de cualquier caja de herramientas de rescate de la distribución. Si queremos instalar programas más allá de los que vienen con el sistema. Esto permite al sistema operativo de Microsoft montar la partición en el primer arranque y asignar una letra al disco. El ordenador entonces arranca la nueva interfaz cuadriculada de Windows 8. podemos configurar los detalles para crear una cuenta de usuario. Ya habrá tiempo para crear una cuenta de nube con Microsoft si es necesario. Podemos seleccionar la opción Personalizar: Instalar sólo Windows (Avanzado) … para hacer una instalación nueva.MAGAZINE. debajo de la lista de particiones y le pedimos Formatear. arrancamos el ordenador desde una versión de SystemRescueCd y seleccionamos F) Ejecutar las herramientas del sistema desde una imagen de disquete en el menú de arranque. Si proporcionamos una partición de intercambio para Windows. En el menú siguiente buscamos abajo SGD: Super Grub Disk. Es necesario remediar esto en la etapa siguiente. Detectar cualquier archivo de Figura 2: Opciones de Disco (avanzado) muestra las funciones del Instalador de Windows 8 para crear.ES . tenemos que añadir más espacio. Esta regla también se aplica si asignamos un disco adicional para los datos de Windows 8 (de nuevo éste debe estar en una partición lógica): el sistema operativo de Microsoft almacena toda la información específica del usuario en la partición primaria bajo C:\Usuarios\<nombre_de_ usuario>\ donde se puede acumular rápidamente una considerable cantidad de datos. por lo general. de forma que no tenemos que enviar nuestros datos personales a Microsoft. Posteriormente el instalador nos preguntará por la ubicación que queremos para la instalación. Esto quiere decir que si no vamos más que a utilizar los clásicos programas Windows en el escritorio. GRUB2. simplemente pulsamos Siguiente para lanzar el proceso de instalación real. borrar y formatear particiones. pulsamos en Opciones de disco (avanzadas) abajo a la derecha. la podemos formatear con NTFS en Linux previamente.

SGD entonces rastrea todas las particiones en busca de posibles configuraciones de arranque y nos las muestra. El Listado 1 muestra la secuencia completa de pasos de este ejemplo concreto.LINUX. WWW. identifica correctamente la distribución de Ubuntu 12. Figura 3: Super Grub Disk normalmente reconoce automáticamente la partición de Linux correcta y ofrece su arranque directamente. En el caso del test de configuración de la Figura 1.Arranque Dual Win 8/Linux • PORTADA configuración GRUB2 (grub.ES Número 91 27 .MAGAZINE. Ahora ejecutamos update-grub para crear un archivo de configuración nuevo para el cargador de arranque que incluya la instalación de Windows nueva. podemos pedir a SGD que nos muestre todos los archivos de configuración de GRUB en el disco. En este punto nos encontramos dos pequeñas órdenes para tener una solución multiarranque. Después lanzamos una terminal y accedemos como usuario administrativo root.1 instalada en la partición primaria /dev/sda2 y ZevenOS Neptune en la partición lógica /dev/sda5 (Figura 4).04. Tenemos que instalar los componentes principales de GRUB en el MBR de nuevo. Ubuntu en /dev/sda2). Para hacer esto.cfg ). podemos ejecutar grub-setup /dev/sda Puede que necesitemos reemplazar /dev/ sda por el primer disco duro con designación de dispositivo en el cual queramos restaurar el sector de arranque. El siguiente paso es seleccionar el elemento adecuado del menú para arrancar directamente en la partición del sistema que estaba activa antes de la instalación de Windows 8 (en este ejemplo. Figura 4: Si queremos asegurarnos.

cambiar los archivos facto por los desarrolladores de Fedora.com/blogs/ uefi-secure-boot-details/ The 28 Número 91 WWW.org [3] SystemRescueCd: http://www. Foundation ha tomado cartas en el (Imagen: Suse).2. Autori07 Found memtest86+ image: /boot/memtest86+.com/ projects/grub2-editor/ [5] “GRUB 2” por Andreas Bohle. Conclusiones En el futuro.wordpress. nadie tendrá que preocuparse de no ser capaz de instalar Linux. ■ RECURSOS [1] Reparar GRUB 2: http://www.bin zado por la clave de 08 Found Windows 8 (loader) on /dev/sda4 cifrado de clave (KEK). Número 61. es decir. instalar retroactivamente Linux en un ordenador con Windows 8 preinstalado. En cualquier caso la solución de arranque de Linux para la siguiente generación de PC todavía no está tallada en piedra. Sin embargo.linux-magazine. El problema se agudizará en un futuro próximo cuando la industria entregue los primeros ordenadores con Windows 8 y el Arranque Seguro UEFI activado. 09 Found Debian GNU/Linux (wheezy/sid) on Shim comprueba la validez /dev/sda5 del cargador de arranque con referencia a una lista de claves del propietario de la máquina (MOK) almacenada en un archivo (Figura 5). manualUEFI habrá pronto una solución. mente trabajando intensamente en el En caso contrario. Windows 8 y Linux continuarán coexistiendo pacíficamente en el disco duro. asunto.es/ issue/61/062-064_ GRUB2LM61. Dado que la especificación de Microsoft dice que debería ser posible desactivar la función de arranque seguro.sysresccd. Matthew Garrett permitirá a cualquier distriFinalmente. Este enfoque posibilita añadir los correspondientes MOK nuevos a la respectiva base de datos en cualquier momento. Listado 1 La solución propuesta 01 nonumber está basada en un enfoque 02 # <b>grub-setup /dev/sda<b> a tres bandas: el cargador 03 # <b>update-grub<b> de arranque “Shim” fir04 Generating grub. las soluciones ofrecidas de GRUB2 Editor [4]. Linux Magazine. simplemente arrancará sin esta característica.cfg . Las innovaciones reales en términos de proceso de arranque no se van a ver hasta el siguiente ciclo para las distribuciones más importantes. cepto prometedor desde una sugerencia de los desarrolladores de SUSE [7].img-3.LINUX.com/114884/ how-to-repair-grub2-when-ubuntuwont-boot/ [2] Super Grub Disk: http://www. es coser y cantar.0-29-generic-pae arranque GRUB 2. no apuntan necesariamente mos el ordenador y nos encontraremos en la misma dirección.2. que están actualmás atractiva la pantalla de arranque [5].0-29-generic-pae plataforma (PK) carga pos06 Found initrd image: teriormente el cargador de /boot/initrd.suse. de manera que el Arranque Seguro UEFI lo pueda utilizar cualquier distribución sin necesidad de una firma de Microsoft.. Los instaladores de todas las grandes distribuciones ofrecen liberar el espacio anteriormente ocupado por Windows para Linux y nosotros podemos ejecutar Linux con la misma facilidad a partir de una partición lógica como con una primaria. podemos. por lo que es fácil encontrar un lugar para el sistema operativo.org [4] GRUB2 Editor: http://ksmanis.dreamwidth. Parece que al menos en la gestión de claves para el Arranque Seguro Si es necesario. sin embargo la Linux bución el acceso al Arranque Seguro UEFI. Se avecina una tormenta: el Arranque Seguro UEFI. mado con la clave de 05 Found linux image: Microsoft u otra clave de /boot/vmlinuz-3. de configuración de GRUB 2 para hacer openSUSE y Ubuntu. pág.PORTADA • Arranque Dual Win 8/Linux La Isla de los Bienaventurados Gracias a GRUB 2.pdf [6] Blog de Matthew Garrett: http://mjg59. o incluso para el posterior. tomar el camino inverso.howtogeek. Lo que ahora hace el gestor de arranque estándar GRUB 2 es enlazar automáticamente la partición de Windows al instalar Linux e inmediatamente añadirla al menú de arranque.supergrubdisk. simplemente reiniciaproblema. 62: https://www. que Microsoft dice que es obligatorio para los PC con Windows 8. Matthew Garrett [6] ha ahora tiene una entrada para el recién codificado parcialmente todo un coninstalado Windows 8. El especialista en nuestro menú de arranque habitual.. que UEFI de Fedora. Sin mente o con una herramienta como embargo.ES . es una fuente potencial de problemas y varias distribuciones Figura 5: El procedimiento propuesto por los no han llegado a consenso sobre cómo desarrolladores de Suse y parcialmente implementar de la mejor manera posible implementado por el especialista de Fedora esta característica para Linux. será interesante ver durante cuánto tiempo los usuarios de Linux pueden vivir en esta isla de los bienaventurados. pero actualmente el hardware para probar las nuevas características del Arranque Seguro UEFI es difícil de obtener.MAGAZINE.org [7] “SUSE and Secure Boot: Details”: https://www.

proporcionando de este modo suficientes recursos para poder experimentar por nuestra propia cuenta. tan sólo hay que teclear la URL chrome://net-internals/#spdy (Figura 1). En Diciembre los desarrollores – incluyendo los desarrolladores de Google Apache – actualizaron Apache para proporcionarle soporte para SPDY [6]. Así pues. que se estandarizó finalmente como HTTP 1. En tan sólo una página [1] describía con pocas palabras cómo un servidor tenía que responder a una petición GET y esta descripción sentó las bases de la World Wide Web. En tan sólo unos meses. Erlang y C.1 y funciones como Ajax.1). los requerimientos para el protocolo de la web del futuro incluyen buenos rendimientos tanto para los navegadores convencionales como para los de los dispositivos móviles y un gran grado de compatibilidad hacia atrás. Mark Nottingham. Ruby. publicó un borrador que terminó como el RFC 1945. recientemente mantuvo una discusión sobre HTTP 2.com WWW.LINUX. Sin embargo. Google ha añadido a su navegador Chrome las funciones de SPDY y el protocolo se encuentra ya implementado en la versión de desarrollo de Firefox [5]. el primer borrador salió en Mayo de 2012 [3]. Tres años después. Go.js. “SPDY añade una capa de sesión por encima de SSL permitiendo múltiples streams entrelazados sobre una única sesión TCP”. los navegadores a menudo tienen que abrir múltiples conexiones concurrentes (véase el cuadro titulado “Problemas de HTTP”). El manejo de varias sesiones TCP para poder soportar estas conexiones simultáneas incrementan la sobrecarga y la latencia. Además se han desarrollado implementaciones (experimentales) del protocolo para Python. Un año después. El navegador Google Chrome 11 utiliza SPDY por defecto si los usuarios acceden a los servidores de Google por medio de SSL. “Hypertext Transfer Protocol”. Para averiguar si la versión que tenemos de Chrome soporta o no SPDY. La reciente aparición de SPDY significa que probablemente nos encontremos usando este innovador protocolo nuevo antes de lo que pensemos. POR OLIVER FROMMEL uando Tim Berners-Lee publicó la especificación de su primera versión del protocolo HTTP en 1991.0 en Mayo de 1996. El IETF Working Group “Hypertext Transfer Protocol Bis (httpbis)” [2] está intentando mejorar HTTP y tiene asignado la tarea de revisar el RFC 2616 (Hypertext Transfer Protocol – HTTP/ 1. Este grupo sólo intenta aclarar los malentendidos actuales. Internet era aún bastante simple. promocionado por Google y que ya ha sido implementado en código que funciona. también han desarrollado un módulo para SPDY que se encuentra en Git Hub [7].2 añade el protocolo SPDY al servidor Apache. aunque el panorama general de la web sí que ha cambiado. Los desarrolladores del innovador framework web para JavaScript. mejorando de esta forma sus oportunidades para ser aceptado de forma general. Próximamente. SPDY (pronunciado como “speedy”) [4] es un protocolo nuevo que podría incluirse en las especificaciones de HTTP 2.123RF. Debido a la compleja interacción entre HTTP y la capa de transporte subyacente. El nuevo protocolo SPDY de Google resuelve algunos problemas de HTTP sin que le afecte a los sitios webs existentes. HTTP 1. Conozca a SPDY Según Google. En la lista de C correo. Node.MAGAZINE.SPDY • PRÁCTICO El protocolo SPDY de Google acelera el tráfico HTTP Capa Nueva Han pasado más de 20 años de su presentación y HTTP muestra sin duda signos de envejecimiento. SPDY resuelve este problema gestionando múltiples conexiones concurrentes por Ildi Papp. Las aplicaciones en tiempo real como Google+ y Facebook eran inimaginables en el momento que apareció HTTP 1. El módulo mod_spdy para Apache 2. Un año después los cambios tienen que implementarse bajo el alcance del “last call” antes de que el estándar se remita a la IESG. TCP.0. sin la necesidad de esperar una respuesta.0. Google publicará el código fuente para la implementación del servidor. actualizaciones en tiempo real y la aparición de redes de 10Gb (o incluso backbones a 100Gbps) han cambiado la forma de la web. existen muy pocos elementos tangibles en HTTP 2. Java.1 se estandarizó para reflejar el incremento de la carga de la web.ES Número 91 29 . El protocolo revisado reducía el número de intentos de conexión necesarios para acceder a un sitio web presentando las conexiones del tipo keepalive y el encauzamiento HTTP permitía el uso de múltiples peticiones en secuencia. el jefe del grupo. la versión 11 final de Firefox podría incluir el código de SPDY. Desde entonces HTTP no ha cambiado mucho.0.

las páginas web existentes y las aplicaciones web no tienen por qué darse cuenta de que se ha introducido un protocolo nuevo por debajo de HTTP. Ya existe un parche que implementa este cambio dentro de kernel de RECURSOS [1] HTTP original: http://www. SPDY también proporciona beneficios adicionales.com/2012/ 01/lets-make-tcp-faster.perfplanet.org/ Protocols/HTTP/AsImplemented.com/indutny/node-spdy [8] Comet: http://en. Este cambio reduce los tiempos de carga en un diez por ciento de media.w3.net/Articles/427104/ de Problemas con HTTP En el documento sobre SPDY. que incrementa innecesariamente el tamaño de las cabeceras y ralentizan las conexiones.PRÁCTICO • SPDY Figura 1: Las versiones recientes del navegador Chrome de Google ya utiliza el protocolo SPDY para las conexiones SSL a los servidores de Google.w3. Se encarga de multiplexar múltiples conexiones HTTP por una única conexión TCP.ietf. Incluso podemos encontrar un libro electrónico acerca de SPDY [12]. • Cabeceras redundantes – las provisiones del protocolo HTTP requieren el reenvío de información redundante. En algunas pruebas. Y lo más importante de todo. ■ Mejoras para TCP Google no está satisfecho con tan sólo contribuir con un protocolo nuevo y se encuentra trabajando en la optimización de TCP.html [10] Incrementando la ventana congestión inicial de TCP: https://lwn. Además. Linux [10]. la mayoría de los navegadores se han pasado de 2 conexiones por dominio a 6”. El objetivo declarado es una media del 50 por ciento.org/spdy/spdy-whitepaper [5] SPDY en Firefox: https://bugzilla. dicen los técnicos de Google [9]. pero fuerza al uso de una cola FIFO). como requiere el RFC 3390. medio de una única conexión TCP.cgi?id=528288 [6] Módulo de SPDY para Apache: http://calendar. tales como la semántica de las peticiones y las respuestas. También es interesante la idea de enviar los datos de las peticiones HTTP cuando se abra una conexión con un paquete TCP SYN. lo que dejará obsoleto algunos hacks como Comet [8]. entre las que se incluyen: • Una única conexión por petición – según Google.html [4] Documento de SPDY: http://dev. También hay previsto una reducción del tiempo de espera inicial en la apertura de las conexiones TCP de tres segundos a un segundo.org/Archives/Public/ ietf-http-wg/2012JanMar/0098. un retraso del servidor de 500 ms impide que se pueda reutilizar el canal TCP para múltiples conexiones. el incremento de la ventana a un valor de 10 paquetes consigue una reducción substancial de la latencia y este objetivo también se ve reflejado en un borrador de la IETF. • Las peticiones se inician exclusivamente por parte de los clientes – actualmente. las cabeceras cada vez son más grandes y el tiempo total necesario para transmitir la información de la cabecera puede reducir la velocidad de la conexión incrementando la latencia.js: https://github. El protocolo por sí mismo no soporta ningún mecanismo para que el servidor pueda mandar datos al cliente por iniciativa propia. SPDY se basará en las conexiones protegidas por SSL.org/wiki/ Comet_%28programming%29 [9] Blog de Google: http://googlecode. Conclusiones De repente HTTP 2. La priorización de las peticiones asegura que las peticiones importantes reciban una prioridad mayor que las menos importantes. los autores informan de hasta un 64 por ciento de mejoras en los tiempos de carga.com/speed/ [12] Libro sobre SPDY: http://spdybook. SPDY permite que los servidores puedan iniciar conexiones.0: http://lists.com/2011/ introducing-mod_spdy-a-spdy-modul e-for-the-apache-http-server/ [7] SPDY para Node. “como HTTP sólo puede obtener un recurso cada vez (el encauzamiento HTTP ayuda. El objetivo de SPDY es mantener la compatibilidad y mantener la estructura básica de HTTP. Google lista algunas de las características que limitan el rendimiento de HTTP. • Compresión opcional de los datos – HTTP soporta la opción de comprimir los datos. SPDY es realmente un protocolo que se ubica entre SSL y HTTP. Google ha diseñado SPDY para resolver estos problemas de forma que se minimice la complejidad de su despliegue y proporcione una reducción del 50% en los tiempos de carga de las páginas. un protocolo TCP más rápido eliminará la necesidad de cerrar la ventana inicial de congestión en TCP tras cuatro paquetes. En el documento donde se recoge SPDY. SPDY posee la ventaja de que ya se encuentra implementado en los propios servidores de Google y en los navegadores Chrome y Firefox.org/wg/httpbis/ charter/ [3] Llamada para HTTP 2.com 30 Número 91 WWW. chromium. La capa de Transporte y las capas inferiores seguirán trabajando sin la necesidad de modificaciones.ES . los desarrolladores de SPDY proporcionan una mejora considerable reduciendo la latencia a cambio de introducir un mínimo cambio en las infraestructuras existentes.LINUX. Junto con la mejora del rendimiento.wikipedia.0 se encuentra a la vuelta de la esquina. Desde 2008. La implementación del protocolo del borrador en diversos lenguajes permite que los usuarios puedan experimentar con él.blogspot. Introduciendo un protocolo adicional entre HTTP y SSL. y con este fin. • Cabeceras de petición y respuesta descomprimidas – con el uso expandido de funciones tales como los agentes de usuario y las cookies. Google quiere que HTTP sea más seguro. el servidor HTTP tiene que esperar a que los clientes le soliciten los recursos.google.org/show_bug. En esencia. pero muchas conexiones aún funcionan sin compresión. mozilla. SPDY también comprime las cabeceras HTTP para reducir el tráfico. vamos a hacer que la web sea más rápida: http://code.MAGAZINE. Mientras que cada día las conexiones son cada vez más rápidas. Además de la multiplexación de los streams. El primer borrador saldrá en Mayo y el protocolo SPDY de Google puede formar parte del mismo. Se puede consultar en Internet más información sobre cómo hacer la web más rápida [11]. [11] Google.html [2] HTTPbis Working Group: http://datatracker.

En lo referente a su campo de uso. sin conocimientos de base de datos. Glom ha estado disponible desde el sitio web del proyecto como descarga para Ubuntu. Hasta el momento. En el mercado comercial. Estos dos programas permiten a los usuarios. Glom almacena sus datos en una base de datos PostgreSQL. crean los esquemas de las bases de datos y las máscaras de selección. formularios de consultas y generar informes. Kexi. la suite ofimática para el proyecto KDE. está directamente disponible en las webs de los proyectos de Debian. sus datos se almacenan en una base de datos SQLite y la base de datos se guarda como un archivo en el directorio home del usuario. por lo general. POR FRANK HOFMANN or lo general.Kexi vs. los competidores de Glom y Kexi son Microsoft Access.hu Pesos Mosca El objetivo de Kexi y Glom es crear bases de datos con poco esfuerzo. Fedora y Mandriva. H2 [5] y DBDesigner 4 [6]. Ninguno de estos programas P son una incógnita y ambos están considerados como bastante estables. Glom [1] y Kexi [2] son dos programas que te dan la capacidad de crear una base de datos. El programa sólo Conectores Kexi ofrece conectores para MySQL. Sin embargo. nada.ES Número 91 31 . Esto significa que sólo el usuario puede acceder a la base de datos. los candidatos obvios son Open/LibreOffice Base [3] [4]. la gestión de la base de datos requiere privilegios de root. PostgreSQL y la base de datos SQLite. Kexi es un spin-off de Calligra. FileMaker Pro para Mac OS X o iPad [7] y Oracle Forms [8]. Comparamos la potencia de estas dos herramientas.sxc. que se deposita en el directorio del usuario o se ofrece centralizadamente en el sistema. ambas aplicaciones son muy similares. los usuarios no tienen acceso directo a la funcionalidad de una base de datos relacional avanzada debido a que. por ejemplo. aparece un asistente para ayudarte a crear una nueva base de datos o modificar un proyecto guardado previamente.MAGAZINE. Si estás buscando un proyecto libre similar. mientras que Glom proviene del campo de Gnome. Glom • PRÁCTICO Kexi y Glom: comparación de bases de datos ligeras Monokini. si necesitas algo más que una simple tabla. Además de ocuparse de las tareas preliminares. Ambos programas se pueden configurar fácilmente con los gestores de paquetes respectivos. Ubuntu.LINUX. En contraste con esto. Si se opta por la instalación predetermi- Figura 1: Al iniciar Kexi. WWW. obtener resultados iniciales con muy poco esfuerzo. Red Hat/Fedora y en los repositorios de Mandriva/Mageia.

xBase) o de un archivo Si vas a definir los campos individualocal. los datos en una tabla modificada se perderán. Desafortunadamente. 32 Número 91 WWW. con datos. puedes ir de nuevo al botón Design y cambiar al modo visual (Figura 5). si varios usuarios ejecutan Glom. aparecerá una marca de verificación en el campo de entrada y una indicación mencionando que The query is correct. me di cuenta de un par de cosas a tener en cuenta cuando se trabaja con Kexi. Kexi te permite lanzar la consulta SQL en la pestaña Data y te muestra los resultados. PostgreSQL. El panel de Editor de propiedades aparece en la parte derecha. creación de consultas SQL y evaluación de resultados para. Si es así. Glom Figura 2: Kexi es compatible con varios formatos de base de datos en archivos locales. lo que hace que su uso e integración sea menos intuitiva. Por ejemplo. La Figura 2 muestra esta última les de una tabla (bajo el botón Design). los desarrolladores parecen reticentes a documentar las dos últimas funciones. Después de este paso.LINUX. La aparición de Para editar un proyecto previo. se Kexi adopta el aspecto de otras aplicadiseñan las ventanas de diálogo y los ciones Calligra y al comenzar inicia un informes. En el uso diario. Kexi ofrece un cuadro de diá. sólo puede modificar las tablas que ha creado. crear campos de entrada o informes. donde se resaltan las palabras claves para ayudar a realizar un seguimiento en consultas complejas. En el diálogo. puedes elegir mes y scripts para el proyecto actual. inforAl iniciar el programa.la que puedes logo con el detalle de las propiedades. se crean los esquemas de bases de datos Kexi en forma de tablas y consultas SQL. El menú y la barra de navegación se encuentran en la parte superior. acceso a los datos área central de la ventana contiene los a través de una plantilla o importar detalles de la tabla seleccionada. si modificas retrospectivamente el esquema de una tabla existente. que están con el típico estilo de base de datos. diálogos. con un aspecto algo más atractivo. la aplicación volverá a escribir parte de la base de datos SQLite. se abre una ventana con una vista de tres paneles. puedes esta parte de la interfaz de usuario tomar los datos del proyecto tanto desde depende del objeto en el que se esté traun servidor de base de datos (MySQL. Dependiendo del número de campos de la tabla. El un documento vacío. sulta SQL o el diálogo. bajando actualmente. que se puede utilizar para especificar los campos individuales (Figura 3). Figura 4: Un formulario permite al usuario rellenar la tabla seleccionada. aparecerá un número de campos de entrada editables organizados en filas (Figura 4). Para comprobar si se ha conectado a las tablas correctas.MAGAZINE. datos compatibles con Kexi para archivos locales. puedes pulsar el botón Check Query para ver si la consulta es válida. El alcance de las características de Kexi incluye funciones para la creación de tablas (campos y datos). por ejemplo. Por desgracia.PRÁCTICO • Kexi vs. opción con los formatos de base de esta parte de la ventana te mostrará una fila editable de campos de entrada. Al editar una consulta SQL (botón SQL). rellenar la tabla utiliza un subconjunto de las funciones de PostgreSQL y por tanto. Kexi muestra un campo de importación con varias líneas. tablas. no hay peligro de conflicto en términos de la base de datos PostgreSQL utilizada. la condatos de una base de datos existente. y se importan y exportan los asistente (Figura 1). consultas SQL. Por lo tanto. Si es necesario. podrás utilizar las pestañas para selecEl navegador de proyectos en el lado cionar si deseas crear un proyecto nuevo izquierdo proporciona una vista de árbol o continuar trabajando en uno ya exiscon una visión general de todas las tente. Allí es donde se abren y cierran los proyectos.ES . El botón Data te lleva a la vista en Figura 3: Para cada campo de la tabla. datos que contiene la base de datos.

se puede crear un nuevo prode los campos de yecto. Después de este paso. primero selecciona la tabla un servidor de base de datos externa deseada en Tables | Table name. logo. Figura 8: Glom ofrece un sencillo enfoque Para cambiar el modo en el que estás para la creación de tablas. Title nombra el campo que apaprincipal de Glom con la tabla selecciorece como encabezado de una columna nada. o utilizar una de las plantillas que vienen con el programa. aparece un asistente para acompañarte a través de los siguientes pasos (Figura 6). WWW. Debajo del menú.Figura 5: Si es necesario. Glom Al iniciar Glom.3 corriendo en Xubuntu 11. trabajando. Des(Figura 7).LINUX. datos. Ade. Kexi almacena los datos locales del proyecto en el formato de base de datos SQLite. puedes hacer clic para ver las conexiones más. ya sea local o en una tabla. definir el título y el tipo de base de datos.3. Kexi te deja con una impresión bastante mediocre. Al pulsar Delete elipulsar el botón Add en el cuadro de diáminas de la lista el campo seleccionado. ve al menú Developer | Fields para El paso siguiente es definir el esquema abrir una ventana independiente donde de base de datos. Para ello. Delete elicolumna Name es el nombre de objeto mina la tabla que has seleccionado en la del campo en el esquema de la base de lista. puedes o bien crear un documento vacío. puedes modificar esta longitud en el cuadro de diálogo Propiedades.MAGAZINE. primero puedes especificar las definiciones de los debes definir las tablas individuales. pués. El botón Open te lleva a la ventana datos. es necesario entre las tablas.ES Número 91 33 . mientras que en el modo de Operator.10. Para definir los campos y formatos Figura 7: Con sólo unos pocos detalles.0. Las plantillas incluyen Figura 6: El asistente de Glom te ayuda a crear un nuevo proyecto. esto es particularmente cierto para las versiones de la serie 1. Esta función es útil para solucionar problemas y te permite echar un vistazo a los trabajos internos de la base de datos cada vez que lo necesites. Otra cosa a tener en cuenta es que el programa no guarda todo el contenido (tablas. he utilizado la versión 2. Te ofrece la opción de abrir un documento existente o crear un nuevo proyecto. una barra de menú desde la que puedes acceder directamente a la mayoría de las acciones. Algunas partes de Kexi parecen ser altamente inestables. es adecuado para proyectos pequeños y pequeños volúmenes de datos.0. Al campos (Figura 9). puedes seleccionar en el menú Developer | Operator mode o Developer | Developer mode. La una nueva tabla (Figura 8). defines el nombre del proyecto y el nombre del archivo. En el modo Developer. El Type por (campos y formatos de campo). Se han hecho muchos cambios positivos desde la versión 2.Kexi vs. puedes elegir entre acceder al documento desde la red o cargar un archivo local. En el laboratorio. el programa te lleva a una nueva Al pulsar el botón Add puedes comlínea con campos de entrada y agrega plementar los detalles de un campo. algunos ejemplos bastante complejos con tablas. Esto abre una opción para ejecutar la herramienta de línea de órdenes SQLite3 para investigar los archivos de Kexi y hacer las correcciones necesarias. En general. Desde un punto de vista de producción. consultas de SQL) hasta que se cierra un proyecto y no tienes un botón para guardar los datos sobre la marcha. Los botones que se encuentran disponibles en la barra dependerán del modo actual de la aplicación. sin embargo. Para crear un nuevo proyecto. Si eliges la primera opción. defecto del campo está establecido a La ventana principal de Glom ofrece Number. donde puedes introducir los datos en el resumen de la tabla. la aplicación te muestra toda la información de la tabla seleccionada actualmente. enlaces e informes que pueden ayudarte a saber qué información introducir en Glom y dónde hacerlo. Glom • PRÁCTICO Inicialmente Kexi define los campos de texto con una longitud de 200 caracteres. Los elementos del menú se utilizan para modificar el esquema que aparece en gris. puedes modificar el esquema de base de datos. sólo puedes introducir los datos.

Al hacer clic ción de un valor predeterminado o el en un encabezado de columna. La búsqueda se modificar el valor: puedes elegir entre lanza contra toda la tabla. Time o Image para tados sólo mostrarán las líneas que conel campo.7 de Glom en Xubuntu 11. Haz clic en el encabezado de puedes ir al elemento del menú Develonuevo y el orden cambiará de ascenper | Layout para especificar el orden y dente a descendente.20.glom. Al pulsar ejemplo. que se encuentra permite especificar un campo con más al lado del número de coincidencias. ■ RECONOCIMIENTO Me gustaría dar las gracias a Wolfram Eifler por su valoración crítica y comentarios sobre este artículo.com/ [8] Formularios de Oracle: http://www.html [4] LibreOffice Base: http://www.de/). puedes pasar a acciones más complejas. Ambos programas tienen algunas asperezas.efho.org [3] OpenOffice. nada. Glom campos previamente definidos (Figura 10) y pulsando Select agrega el campo seleccionado a la lista. das a ellas). RECURSOS [1] Kexi: http://kexi-project. La capacidad de conectarse a las tablas haría a Glom adecuado para grandes proyectos. a la Para cambiar la forma en que se que puedes acceder a través de Develomuestra un campo (por ejemplo. Lo mismo se aplica a las relapulsar el botón Formatting. Es miembro del Linux User Group Potsdam (upLUG).ES EL AUTOR . PueGlom no te da una opción para ejecudes utilizar los botones para cambiar el tar comandos SQL sobre tablas (por orden o la posición en la vista. hay que mentada. Aunque en este momento estas herramientas son incapaces de competir con aplicaciones comerciales tales como FileMaker Pro o Form de Oracle.org/product/base. tienen coincidencias.oracle.com/technetwork/ developer-tools/forms/overview/ Frank Hofmann ha estudiado Ciencias de la Computación en la Chemnitz University of Technology. está muy poco docucolor del texto.buero20. es probable que aprecies el manual que los desarrolladores han integrado en la interfaz de Glom Figura 10: Puedes ordenar los campos previamente definidos en la y que. te lleva a otro cuadro de diálogo que te Pulsando Search all.org). el tipo de letra). En el laboratorio. por ejemplo. La interfaz de Python. nará la tabla por la columna seleccioUna vez definidos todos los campos. como un sistema combinado de gestión de clientes y facturas.PRÁCTICO • Kexi vs.MAGAZINE.10. el softdiálogo con una lista de selección de los ware no guarda el contenido hasta que se cierre el proyecto. mediante la definipermite eliminar el filtro. En este momento. Conclusiones Kexi y Glom son herramientas prometedoras que facilitan el uso de una base de datos para los recién llegados al tema. pero los resullos tipos Text. la vista de los campos de la tabla. por ejemplo. Glom te ofrece el elemento del menú Figura 9: En Glom. 34 Número 91 WWW. Alemania. como proveedor de servicios especializados en impresión y publicaciones (http://www. donde puedes editar los detalles loper | Reports. el per | Script library. apareciendo tabla para que se adapten a tus necesidades.0 (http://www. libreoffice.com [6] DBDesigner 4: http://www. te detalle. openoffice. puedes utilizar para aplicar una Al hacer clic en el campo Type se abre búsqueda (también puedes usar el atajo un menú desplegable donde se puede de teclado Ctrl+F). para definir los tipos de campo basta con unos Edit | Search que clics del ratón. se ordeformato numérico.filemaker.fabforce. he utilizado la versión 1. net/dbdesigner4/ [7] FileMaker: http://www. Al igual que en Kexi. una red de expertos de código abierto en Berlín. programa carece de botones para guarEl botón Add field abre un cuadro de dar los datos sobre la marcha.h2database. En el uso diario. el del campo. Actualmente trabaja para Büro 2. es organizado y comprensible en su mayor parte. Glom es una excelente opción para los pequeños proyectos. las tablas de salida o conectael botón Delete se elimina un campo. en una ventana separada. Después de definir todas las tablas y rellenarlas con valores. pero ya son utilizables para proyectos más pequeños. El botón Edit ciones entre tablas (Developer | Relate lleva a la ventana descrita anteriortions for this table) y a la función Devemente.LINUX.org/features/base/ [5] H2: http://www. una agenda o un administrador de tareas. Al pulsar el botón Open Glom. Date.org Base: http://www. no hay razón para ser fiel.org [2] Glom: http://www.

los microdatos [3]. estas definiciones no tienen nada que ver con el significado de los datos: ¿se refiere el texto a una persona. ofertas e incluso datos relacionados con eventos en un formato legible por las máquinas. En este artículo. En el Listado 2.com Trabajando con microformatos y microdatos Significado Oculto Los programas no son tan inteligentes como las personas cuando se trata de interpretar el significado de la información web. El texto de la tarjeta de visita viene rodeado por el elemento contenedor div y <br /> introduce los saltos de línea.el Arte Guitarra Flamenca</h1> 06 <div> 07 <img alt=”“ src=”images/el-fumador. descripciones de productos.ES Número 91 35 . “Full name”) y la URL en el atributo href como el sitio web correspondiente (url). La asignación class=”fn url” describe el contenido del hiperenlace.el Fumador<br/> 09 Flamenco Artist<br/> 10 C/ Peral 43<br/> 11 E-41002 Sevilla<br/> 12 España<br/> 13 pedro@fumador. cada propiedad viene encerrada por el elemento span y descrita por el atributo universal class. los microformatos utilizan principalmente los atributos class del vocabulario HTML. H HTML5 con una tarjeta de visita.jpg”/> 08 <a href=”http://el-fumador. programas tales como los motores de búsqueda tienen también que procesar los datos HTML. hacen que el significado sea algo más claro indicando información relacionada con tarjetas de negocio. En este caso. 123RF. Pedro Miguel Díaz. postal-code (código postal). Si se quieren maximizar los rangos de búsqueda. street-address (calle). el microformato hCard describe una tarjeta de visita. class=”vcard” en la línea 6 se refiere a un objeto tarjeta de visita. tales como hCard. El bloque de texto correspondiente al título viene marcado con el elemento h1. locality (localidad) y country Listado 1: Documento HTML5 con tarjeta de visita 01 <!DOCTYPE html> 02 <html lang=”es”> 03 <head></head> 04 <body> 05 <h1>Pedro Miguel Díaz -. ¿Qué es lo que normalmente encuentran los programas que leen los datos HTML? El Listado 1 muestra el código fuente HTML del sitio web mostrado en la Figura 1 – un documento WWW. En el Listado 2 se muestran las etiquetas del microformato típicas de una tarjeta de visita. También vamos a presentar los microdatos y vamos a mostrar algunas herramientas de código abierto para la integración de microformatos y microdatos en nuestros propios programas.info<br/> 14 +34 954 88 24 37 15 </div> 16 </body> 17 </html> Microformatos HTML fue diseñado originalmente por humanos para leer. como un nombre (fn. hiperenlaces y otros elementos típicos de la web. Sin embargo. probablemente tengamos que añadir a nuestros documentos HTML microformatos y microdatos. hCal. pero con el crecimiento explosivo de la web. a una organización. pero un programa de ordenador no notaría la diferencia entre estos datos y cualquier otro dato que venga rodeado por etiquetas HTML.info”>Pedro Miguel Díaz</a> . Contiene los elementos type (tipo). Como se puede ver. hProduct. textos. Es fácil que una persona que lea los datos que aparecen en la Figura 1 se de cuenta de que se trata de una tarjeta de visita – incluso si el texto viene escrito en un idioma diferente. Los microformatos proporcionan una forma de indicar el propósito de los datos. a un producto o a un evento? Los microformatos [1] y sus sucesores. El objeto dirección class=”adr” en la línea 11 contiene múltiples propiedades.Microformatos • PRÁCTICO Kit Sen Chin. vamos a describir algunos microformatos importantes. Por ejemplo. POR ANDREAS MÜLLER TML permite marcar secciones de texto como títulos. hReview y Geo.LINUX.MAGAZINE.

El Listado 3 utiliza el microformato Geo para especificar la localización del evento. los microformatos se caracterizan por ser reutilizables.PRÁCTICO • Microformatos Listado 2: Tarjeta de visita con etiquetas hCard 01 <!DOCTYPE html> 02 <html> 03 <head><link rel=”profile” href=”http://microformats. El formato contiene propiedades para la latitud y la longitud. Para un resumen de los microformatos y sus versiones.9888”>5º 98&#8242.ES . véase la wiki de Microformats.3844”>37º 38&#8242. que hace referencia a la página web perteneciente a Estrella Solares. En el Listado 3 se muestra cómo utilizar el microformato hCalendar.LINUX.info</span><br/> 19 <div class=”tel”> 20 <span class=”type” style=”display:None”>Home</span> 21 <span class=”value”>+34 954 88 24 37</span> 22 </div> 23 </div> 24 </body> 25 </html> 13 Listado 3: Etiquetas de eventos con hCalendar 01 <div class=”vevent”> 02 <h3 class=”summary”>Feria de Abril</h3> 03 <abbr class=”dtstart” title=”2012-03-23T21:00:00Z”>el 23 de marzo de 2012. Sin embargo. Además de las reglas gramaticales. W</abbr> 08 </div> 09 </div> (país) de la dirección. De nuevo. La lista en el atributo rel designa a Estrella como una amiga y colega cuyo enlace proporcionado posee también información per- 36 Número 91 WWW. Por ejemplo. el enlace: <a rel=”met friend colleague” U href=”http://esoleares.info”>Pedro Miguel Díaz</a> 09 . información geográfica con Geo y productos y reseñas de productos con hReview y hReview-aggregate. Para cada línea de texto. Los microformatos utilizan el atributo rel en los hiperenlaces para expresar la relación con otro recurso como por ejemplo. que viene derivado de iCalendar [6]. La línea 1 representa la descripción de una reseña de un producto usando el microformato hReview-aggregate. tiene que aparecer en la propiedad title del elemento abbr (línea 3). la vCard almacena un par clave/valor junto con opciones adicionales. Además de para tarjetas de visitas se pueden utilizar microformatos para incorporar otro tipo de información. que implementa la especificación vCard [4] para HTML del Internet Mail Consortium. Para los microformatos se aplican las siguientes reglas: si se quiere proporcionar una fecha en un formato entendible por la máquina.la Pinta</a> Figura 1: Un sitio web con los datos más importantes de un músico – los proveedores de sitios web también los denominan como tarjetas de visitas.el Arte Guitarra Flamenca</h1> 06 <div id=”me” class=”vcard”> 07 <img alt=”“ class=”photo” src=”images/el-fumador.org [5].es”>U Estrella Soleares . la variante legible por la máquina viene dada por la propiedad title del elemento abbr. hProduct se utiliza para establecer el producto como un item. 21:00</abbr> 04 en <span class=”location”>Sevilla</span> 05 <div class=”geo”> 06 <abbr class=”latitude” title=”37.org/profile/hcard”/></he ad> 04 <body> 05 <h1>Pedro Miguel Díaz -. El atributo rating se refiere a la puntuación total y votes al número de reseñas.jpg”/> 08 <a class=”url fn” href=”http://el-fumador.MAGAZINE. El Listado 4 proporciona otro ejemplo de reutilización de microformatos. que deben contener una descripción (summary) y una fecha de comienzo (dtstart). se pueden describir los eventos usando hCalendar.<span class=”nickname”>el Fumador</span><br/> 10 <span class=”title”>Flamenco Artist</span> 11 <div class=”adr”> 12 <span style=”display:None” class=”type”>Home</span> <span class=”street-address”>C/ Peral 43</span><br/> 14 <span class=”postal-code”>E-41002</span> 15 <span class=”locality”>Sevilla</span><br/> 16 <span class=”country-name”>España</span> 17 </div> 18 <span class=”email”>pedro@fumador. El microformato hCard traduce este vocabulario a HTML usando las claves y valores del atributo class. N</abbr> 07 <abbr class=”longitude” title=”-5. Los pares propiedades/valor class=”vevent” describen eventos. la información sobre el lugar de celebración (location) es opcional. Las etiquetas para la tarjeta de visita siguen el microformato hCard [3].

También se han traducido otros microformatos a microdatos [8]. Para que esto ocurra. El atributo itemscope se usa para delimitar las unidades.&#x2606. itemref usa el atributo ID universal para apuntar a otros elementos.MAGAZINE. itemprop y itemref – que proporcionan las funciones del atributo class de los microformatos.</span> motores de bús06 <span class=”identifier”> queda. Rich Snippet Tool obtiene el microformato de la página y esta tarea sugiere un incremento en su muestra qué información evalúa el uso.</sup></abbr> queda de Google 13 <span class=”votes”>200</span> al utilizar Rich 14 </li> Snippet Tool [10].9”><sup>&#x2606. Es difícil estimar en qué proporción se encuentra el uso de los microdatos comparados con los microformatos. El atributo itemtype (línea 5) designa el vocabulario para la sección que presenta. Para el sitio web Tool. los microdatos utilizan el atributo itemprop para expresar propiedades.Microformatos • PRÁCTICO sonal (met). El elemento time se utiliza para establecer fechas y horas. se 01 <li class=”hreview-aggregate”> pueden utilizar 02 <span class=”item”> microformatos 03 <span class=”hproduct”> para optimizar 04 <a class=”fn url” los resultados href=”www. como aparecen en las líneas 10 a 17.ES Número 91 37 . itemtype. Sin embargo.reseller. Rich Snippet Tool La importancia de los microformatos no se aprecia hasta que no se ven los datos que se han preListado 4: Etiqueta de productos con parado con ellos.<span itemprop=”nickname”>el Fumador</span><br/> 09 <span itemprop=”title”>Flamenco Artist</span> 10 <div itemscope itemprop=”adr”> 11 <span style=”display:None” itemprop=”type”>Home</span> 12 <span itemprop=”street-address”>C/ Peral 43</span><br/> 13 <span itemprop=”postal-code”>E-41002</span> 14 <span itemprop=”locality”>Sevilla</span><br/> 15 <span itemprop=”region”>Andalucía</span><br/> 16 <span itemprop=”country-name”>España</span> 17 </div> 18 <span itemprop=”email”>pedro@fumador. el elemento meter para indicar valores de medida. En vez de utilizar la propiedad class. El estándar HTML5 ha adoptado el vocabulario para las vCard y los vEvent.com?isbn=9-874-444-333-85-1”>El Arte Flamenco</a> obtenidos por los 05 <span class=”price”>33. El sistema de microdatos de HTML5 define un conjunto de propiedades – itemscope. el motor de búscomo los microformatos. Los valores de 1 a 5 se codifimos clasificar en dos clases: una clase can gráficamente como cantidad de crea y marca los datos y la otra clase lee estrellas. hProduct Por ejemplo. El Listado 5 muestra los datos de la tarjeta de visita del Listado 2 como microdatos HTML5.jpg”/> 07 <a rel=”me” itemprop=”url fn” href=”http://el-fumador.&#x2606.LINUX.info”>Pedro Miguel D?az</a> 08 . Google lee tanto los microdatos mostrado en la Figura 1. HTML5 adapta el concepto de microformato usando formularios conocidos como microdatos.90&#8364. el número de herramientas de código abierto Figura 2: Rich Snippet Tool de Google muestra qué información obtiene disponibles para un motor de búsqueda a partir de los microformatos y microdatos. consúltese de nuevo la wiki Microformats [7].&# x2606.info</span><br/> 19 <div class=”tel” itemscope> 20 <span itemprop=”type” style=”display:None”>Home</span> 21 <span itemprop=”value”>+34 954 88 24 37</span> 22 </div> 23 </div> 24 </body> 25 </html> WWW. queda obtiene la localización de Pedro Trabajando con Miguel (Sevilla) y el trabajo designado Microformatos (Artista de Flamenco).&#x2606. Tal y como muestra Rich Snippet motor de búsqueda. Para que estos datos semánticos sean más fáciles de entender por los programas.org/profile/hcard”> 06 <img alt=”“ itemprop=”photo” src=”images/el-fumador. La Figura 07 <span class=”type”>ISBN</span> 2 muestra el 08 <span class=”value”>9-874-444-333-85-1</span> 09 </span> efecto de los 10 </span> microformatos 11 </span> hCard con el 12 <abbr class=”rating” motor de bústitle=”4. El atributo itemref se utiliza para agrupar propiedades más allá de los contenedores lógicos. Las reseñas basadas en hReview o en hReview-aggregate Las herramientas para trabajar con también se resaltan en los resultados microformatos o microdatos las podebuscados. Microdatos HTML5 HTML5 incluye varios elementos semánticos que no estaban presentes en las versiones anteriores de HTML. Para un resumen de todos los valores del atributo rel. Listado 5: Tarjetas de visita con Microdata 01 <!DOCTYPE html> 02 <html> 03 <head><title>vCard</title></head> 04 <body> 05 <div id=”me” itemscope itemtype=”http://microformats.

La variable item de la línea 3 acepta una referencia al elemento actual de la variable especial this. MicrodataJS y Microdata vCard. Tagspaces. Antes de que esto ocurra. Tras cargar el documento HTML. El complemento Operator [12] para el navegador Firefox simplifica el proceso de identificación y procesamiento de los microformatos en los sitios web. Tras hacer clic. El Listado 6 muestra la integración de MicrodataJS en un documento HTML. Este ejemplo utiliza JavaScript para extraer los microdatos de la tarjeta de visita y los resalta en el formato vCard. la línea 4 utiliza la función append para añadir un hiperenlace con la propiedad class= ”microlink” a cada elemento seleccionado en la línea 2. el código del Listado 7 ejecuta la función asignada al evento onload de la línea 1. se utiliza el método vcard de MicrodataJS – también en la línea 7. la función prepend de la línea 7 añade un área importante con los datos en formato vCard para elemento item.1.microdata.python.parent(). Favoritos y Recursos. Eventos.tar. JavaScript recordará el valor de item. WordPress. permitiendo que el usuario pueda procesar los datos. El Listado 7 muestra el uso de MicrodataJS.find(‘.append(‘<a class=”microlink”>microdata</a>’). Si el usuario entonces ejecuta la función de la línea 6 haciendo clic en el hiperenlace con la propiedad class=”microlink”. El 02 $(‘[itemtype=”http://microformats.microdata.5. La expresión $(this). Tras instalar el complemento y reiniciar el navegador.0/ 04 sudo python setup. Para que suceda esto.py install 38 Número 91 WWW.LINUX.parent() de la línea 7 también apunta al valor de la variable item. MicrodataJS puede también obtener los microdatos que lea como JSON. el sistema de gestión de contenidos libre.7.microdata’). Busca elementos que contengan los atributos itemtype con la especificación del vocabulario de la hCard. La línea 5 asigna la función predefinida en la línea 6 a este evento clic del hiperenlace. Por ejemplo. La Figura 4 muestra los microdatos extraídos. o pueden inyectarse en servicios web tales como Yahoo Contacts o Google Calendar.js”></script> microformatos y 04 <script src=”js/jquery.microlink”).js”></script> 03 <script src=”js/jquery-1.js”></script> enlaces. 05 <script src=”js/jquery. each() pasa el conjunto resultante de elementos a la siguiente función.3.0.tar. Es fácil utilizar la variable item. dataJS [13] ofrece 04 item. Otro clic cierra el área que estaba abierta. la información. Este valor entonces será visible en todas las expresiones que comiencen en la línea 6. Los contactos pueden exportarse en el formato vCard y los eventos en el formato iCal. La versión actual 0. La línea 3 integra Jquery.each(function(index) { Jquery de Micro03 var item = $(this). posee una extensión que facilita el proceso de creación de microdatos [11].vcard. 17 }).remove() 13 } 14 ).find(“a.MAGAZINE.9. El complemento puede pasar las coordenadas Geo a los servicios de mapas si así lo deseamos.min.3.find(‘.6 de Operator muestra Contactos. El Listado 7 también define un manejador de eventos para el hiperenlace de la clase close.gz 02 tar xzvf microdata-0.js”></ Existen diversas script> librerías escritas 06 </head> en diferentes lenguajes de programación para perListado 7: MicrodataJS mitir el acceso a 01 window. como se muestra en el código.vcard(item)+’</textarea></div>’).microdata. En Listado 6: Integración con MicrodataJS versiones futuras 01 <head> aparecerán nuevos 02 <script src=”js/fumador.click( 06 function() { programación 07 $(this).org/profile/hcard complemento ”]’). 15 } 16 ). La función $ de la línea 2 espera un selector de expresión CSS. Localizaciones.prepend(‘<div class=”microdata”> similar a la API 08 <a class=”microlink close”>close</a><textarea >’ DOM [14] para los 09 +jQuery.onload = function() { los microdatos. microdatos de la 10 item. com- Listado 8: Instalando Python Microdata 01 wget http://pypi.3.org/packages/source/m/ microdata/microdata-0.ES .gz 03 cd microdata-0. una interfaz de 05 item. 18 } especificación HTML5. luego las líneas 4 y 5 integran los dos complementos Jquery.0.click( 11 function() { 12 item.close’). Operator aparece como una barra de herramientas adicional bajo la barra de direcciones (Figura 3).PRÁCTICO • Microformatos Figura 3: El complemento de Firefox Operator permite que los usuarios puedan acceder a la información de los microformatos. Operator se encuentra publicado bajo la licencia MPL/ GPL/LGPL.

Otros lenguajes también ofrecen funEl lenguaje de programación Python ciones similares de forma libre para traofrece la librería Microdata [15].ietf.ES Número 91 39 .txt [7] Rel-Attribute: http://microformats. Turtle.org/ specs/web-apps/current-work/ multipage/microdata. 16 “dtstart”: [ 17 “2012-03-23T21:00:00Z” 18 ].org/wiki/Main_Page [6] iCalendar: http://www. RDF/XML y 06 “geo”: [ JSON.html#microdata-dom-api [15] Extensión Microdata de Python: http://pypi.org/wiki/hcard [4] vCard: http://www.whatwg. cómo instalar Microdata 0.org/rfc/rfc2426. 01 $ python RDF en XML y CSV. ■ RECURSOS [1] Microformatos: http://microformats. Conforme más sitios web proporcionen microformatos y microdatos. en la línea 3 se extraen formato Plugin Microdata Vevent. proporciona un analizador para microdaRuby por medio de Mida [16].org Un Tesoro Escondido de Información Los microformatos abren el contenido de las páginas web para que puedan ser procesados de forma más inteligente por los programas por medio de herramientas tales como los motores de búsqueda.any23. Perl con tos de los documentos HTML5. 19 “type”: “http://www. PHP con PHP dominio público sin ningún detalle sobre Microdata [18] o Java con Any23 [19].data-vocabulary.3.org/wiki/ existing-rel-values#HTML5_link_type_ extensions [8] Schema. Si fuera necesario.org/en-US/ firefox/addon/operator/ [13] MicrodataJS: https://gitorious.w3. Los formatos de html5lib. Experimentando con el complemento de Firefox Operator podremos entender el potencial que ofrecen los datos en estos formatos.ietf. Se todos los microdatos del documento puede encontrar una plétora de funcioHTML5 y se almacena la información nes para trabajar con microdatos. org/~satoh/HTML-Microdata-0. N05 { Quads. se facilitará la extracción de información útil de la jungla compleja de datos que hoy en día es la web. N-Triples. el método de esto.html [3] hCard: http://microformats. esta tarjeta de visita.org [2] Microdatos: http://www. Primero se llama a Python desde la línea de comandos.MAGAZINE. microdatos en el navegador.10. 11 “longitude”: [ 12 “5\u00b0 98\u2032 W” 13 ] 14 } 15 ]. 07 { 08 “latitude”: [ 09 “37\u00b0 38\u2032 N” 10 ]. 23 “summary”: [ 24 “Feria de Abril” 25 ] 26 } pio de los microformatos por medio de los microdatos.org/Event”.0 en Ubuntu sino que los convierte en diferentes for11.get_items(open(“microdata. Por encima JSON.com/ soyrex/PHP-Microdata [19] Any23: http://developers. Listado 9: Interactuando con Microdata N-Triples.cpan. Vevent o el data.Microformatos • PRÁCTICO En el Listado 9 se muestra el uso de Microdata en una sesión interactiva de Python. que – en el campo items. 02 >>> import microdata Los formatos de 03 >>> items = microdata.org/specs/ web-apps/current-work/multipage/ links.org/microdatajs/ [14] DOM API para Microdata: http://www.org: http://schema.org/rfc/rfc2445.json() Turtle. De forma similar. la línea 1 y el módulo Microdata se importa en la línea 2. github.org [10] Rich Snippet Tool de Google: http://www.3. Por ejemplo. microdata o microformatos en (X)HTML5.txt [5] Wiki de Microformatos: http:// microformats. En el Listado 8 se muestra Any23 no sólo procesa los microdatos.com/webmasters/ tools/richsnippets [11] Wordpress-Plugin: http://wordpress.com/mida/ [17] HTML::Microdata: http://search. manejador de ficheros abierto de microplemento Microdata JSON.mozilla. entrada válidos son: RDF. org/extend/plugins/ microdata-for-seo-by-optimum7com/ screenshots/ [12] Firefox-Plugin Operator: https://addons. HTML5 ha adoptado el princi- WWW. N-Quads. Una llamada a la desafortunadamente – no se encuentran función json() de la línea 4 convierte documentadas en ningún otro sitio que los microdatos al formato de datos no sea en el código fuente.0 [16] Mida: http://lawrencewoodman.02/lib/ HTML/Microdata. que bajar con los microdatos. la licencia. Llamando al método Figura 4: Tanto Javascript como la librería Microdata JS obtienen.LINUX.html”)) salida válidos son 04 >>> print items[1].pm [18] PHP Microdata: https://github. Es de HTML::Microdata [17].html.org [9] Servicio de validación de etiquetas de la W3C: http://validator.python.org/pypi/ microdata/0. get_items() del a partir de los microdatos.google. 20 “location”: [ 21 “Sevilla” 22 ]. MicrodataJS proporciona una dict() podría traducir los datos al forinterfaz llamada Live para extraer los mato diccionario de Python. se instala tammatos convirtiéndolos primero en bién en este proceso la librería de Python metainformación.whatwg.

11. Luego. Con un poco de creatividad.6 “Donut”.LINUX. podemos iniciar cualquier tipo de aplicación Linux. configuraré Remote Launcher para controlar un sistema Linux. Windows o Mac OS. necesitamos habilitar la herramienta ejecutando remote-launcher. sea Linux. la app aparece en dos variantes: como versión libre con publicidad [2] y como una versión sin anuncios [3] por 0.PRÁCTICO • Android: Remote Launcher Control de PCs con un smartphone Android ¿Dejaste tu sistema ejecutándose? ¿Olvidaste hacer un copia de seguridad crítica? Controla tu ordenador Linux desde cualquier parte con un teléfono Android.ES .77 dólares. Por ejemplo. usa solamente 75KB de RAM y exige un número mínimo de permisos. y el de la derecha ejecuta la función Wake on LAN. Finalmente. cambiamos al directorio creado en este paso. Se ha probado en Ubuntu y Windows 7”. Remote Launcher incluye una app cliente en el dispositivo Android y un componenete servidor en el ordenador que deseamos con- dny3d 123rf. para encender nuestro PC automáticamente cuando volvemos a casa. Otra útil app que sigue el mismo principio cliente-servidor es Remote Launcher.tar. 40 Número 91 WWW. Remote Launcher trae también una colección de widgets y de atajos que aceleran los procesos de inicio de los programas del PC. Podríamos utilizar una app adicional para arrancar procesos en el smartphone según el lugar de nuestra localización – por ejemplo. incluyendo un script propio para iniciar un copia de seguridad. POR VINCZE-ARON SZABO Control Remoto trolar. la app Gmote nos permite usar nuestro smartphone para controlar ficheros de medios en nuestro PC.sh.server. controla la alarma de vibración y muestra el estado de red.6 o superior). así que debe funcionar en cualquier PC que tenga el Java Runtime Environment instalado (versión 1. Tras descargarlo. como se llama ahora el Android Market. Además de acceso no restringido a Internet. Suponiendo que lo tenemos correctamente configurado. La app del smartphone actúa como un cliente que controla un programa servidor en un PC. Requiere al menos Android 1. Como viene siendo habitual. El de la izquierda muestra los lanzadores que existen en el ordenador al que estamos conectados. Según el sitio de Play Store.MAGAZINE. Además. podremos incluso encender o apagar nuestro ordenador cuando estemos L fuera. Java se encuentra incluido por defecto en las distribuciones Linux más importantes y podemos escribir java -version para descubrir qué versión está ejecutándose en nuestro ordenador. El componente servidor de Remote Launcher se encuentra disponible como un script de instalación desde el sitio web del proyecto. Esto configura el servidor en /usr/share y crea un enlace simbólico para su ejecución desde /usr/bin.2.gz a combinación de un ordenador Linux y de un smartphone Android nos abre un mundo de opciones interactivas. podemos imaginar cualquier número de nuevos usos para Remote Launcher.com Figura 1: Los widgets se encuentran disponibles para acceso rápido. “el servidor Remote Launcher está escrito en Java. Remote Launcher [1] nos permite iniciar programas en un PC Linux desde nuestro smartphone Android con un simple clic (Figura 1). App y Servidor Remote Launcher se encuentra disponible en el Play Store. desempaquetamos el tarball con: $ tar -xf U remotelauncherserver-U 0. En este artículo. nos hacemos root e iniciamos el script install.

Podemos usar Remote Launcher para apagar el ordenador o provocar un reinicio remotamente. Configuración de Lanzadores Para usar la app para usar aplicaciones en nuestro PC. necesitamos modificar el fichero etc/sudoers en nuestro PC para usar ambas funciones desde la app. para arrancar el reproductor Amarok. Tras cerrar los diálogos para crear lanzadores (Figura 5) y guardar todas nuestras configuraciones. guardamos la configuración pulsando Add. Como prueba inicial. no asignamos ninguna. introducimos un nombre intuitivo para el lanzador en el cuadro Name. vamos a la consola del PC y escribimos ifconfig. Bajo Template encontraremos configuraciones preconfiguradas tales como Shutdown (Figura 6) o Reboot.168. iniciará la aplicación correspondiente en nuestro ordenador Linux. simplemente confirmamos el diálogo pulsando OK. Por tanto. pulsamos Save. Para evitar este problema podemos deshabilitar esta función y asignar una dirección IP estática a nuestro ordenador. Para hacerlo. Remote Launcher usa el comando Shutdown. Ahora necesitamos introducir la contraseña que configuramos en el servidor al principio. Cuando se inicia. Cuando se inicia. Normalmente es suficiente con introducir el nombre del programa. Tras confirmar pulsando OK. la función LAN inalámbrica podría deshabilitarse automáticamente cuando el móvil se pone en espera. A continuación. En el diálogo que aparece a continuación (Configure Launchers).117. incluyendo la dirección IP (inet address). Vamos al diálogo correspondiente seleccionando Edit | Configure Launcher y pulsamos sobre Add Launcher. porque evita un estrés innecesario sobre nuestra batería. vamos a la ventana del programa del servidor de Remote Launcher y seleccionamos Edit | Configure Launchers o pulsamos el atajo de teclado Alt+L. Pulsando sobre Connect se conecta la app con el PC y devuelve un mensaje de éxito si funciona (Figura 4). porque puede darnos un error de sintaxis que impediría la ejecución de sudo. En ella. no podemos de hecho hacer nada aún.Android: Remote Launcher • PRÁCTICO El servidor Remote Launcher nos da la bienvenida con una nota en la que nos dice que necesitamos establecer una contraseña. Path nos permite definir la ruta al fichero que va a ser ejecutado. el servidor toma nota de la conexión abierta creando una entrada en el registro con algo como Client connected from / 192. En el lado del PC. Consejo Si nuestro PC usa un método dinámico para configurar sus direcciones IP (DHCP). Este comando abre un editor. el último mensaje será Waiting for client to connect on port 4444. Para hacerlo necesitamos configurar lanzadores especiales basados en plantillas preconfiguradas o preestablecidas. el router puede asignarle una dirección IP diferente cada vez que arranque. pulsamos Add Launcher. digamos. La mayor parte de la ventana del programa está ocupada por el Server log (Figura 2). añadimos una Description de la función que controlaremos en el siguiente cuadro. pulsamos Add.ES Número 91 41 . Dependiendo de las opciones de ahorro de energía para nuestro dispositivo. Si no conocemos la dirección IP. nos lleva hasta un diálogo. debemos configurar primero los lanzadores. nos cerraríamos el acceso al superusuario a nosotros mismos y no sería posible ejecutar tareas administrativas. necesitamos configurar la app para permitirle abrir una conexión al servidor en el ordenador Linux. Es aconsejable no modificar esta opción. en el que podemos introducir una nueva contraseña y confirmarla luego de manera habitual en un campo separado. 4444 – a menos que ya hayamos configurado un puerto diferente para el servidor en nuestro PC. Como no tenemos un lanzador configurado en el ordenador. WWW. A continuación. Para sistemas Linux. Sofisticación Figura 2: La ventana del programa en el ordenador Linux nos muestra las últimas acciones de Remote Launcher.LINUX. Se mantiene el valor por defecto del puerto del servidor. intentamos llamar al servidor. donde Remote Launcher registra todas las actividades. citando la dirección IP del dispositivo Android conectado (véase el cuadro “Consejo”). el cual se asegura que observamos ciertas reglas de sintaxis. eth0 dará información sobre la interfaz de red. Simplemente ignoramos el campo de color gris de nuestra contraseña previa – después de todo.2. Para este paso sería aconsejable evitar el uso de un editor normal. Figura 3: En este diálogo podemos añadir nuestro PC o el servidor instalado en él. en los que el root no tiene una contraseña. Remote Launcher viene con una ventana de programa y deja un icono correspondiente en el panel de nuestro sistema. Debemos introducir esta dirección en el dispositivo Android como la Server address.MAGAZINE. Luego. La salida de. algo así como amarok. En el diálogo. Para modificar el fichero de configuración sudo deberemos ejecutar en su lugar el comando sudo visudo en una consola. Después de seleccionar una de estas plantillas. Nos aseguramos de que el dispositivo Android está conectado a nuestra red doméstica mediante una LAN inalámbrica y luego iniciamos la app Remote Launcher. No debe sorprendernos si la app intenta volver a conectar al sevidor después de que el dispositivo Android ha estado en modo de espera. Para finalizar. La primera entrada que necesitamos crear es la dirección IP de nuestro PC (Figura 3). Podemos ignorar los otros cuadros de entrada de momento. podemos seleccionar el lanzador deseado en nuestro teléfono Android y la app nos preguntará si queremos realmente ejecutar el lanzador. el cual requiere acceso root para ambas funcionalidades. Cuando confirmemos.

El servidor Remote Launcher escucha los comandos en ese puerto y nuestro router actúa como un nodo de transferencia. Necesitaremos habilitar Wake on LAN en la BIOS del PC para que esto funcione. la app Remote Launcher envía un paquete mágico que habilita directamente esta función. Luego.LINUX.owtroid. de configuración.com/store/apps/ details?id=com. Para descubrir la dirección MAC de nuestro PC. ■ RECURSOS [1] Wiki de Remote Launcher: http://owtroid.google. Encontraremos la dirección IP WAN del router en la interfaz Figura 5: Estos lanzadores se encuentran disponibles en la app una vez creados. Tras iniciar sesión en el dispositivo. [3] Remote Launcher: https://play. por ejemplo. El router acepta la petición y transfiere al puerto de Remote Launcher del PC (4444). Para la prueba inicial necesitamos deshabilitar la conexión WLAN en nuestro dispositivo Android y habilitar la conexión a Internet. Figura 4: La app es sencilla.ES . El método difiere de un router a otro. El primer paso consiste en utilizar un navegador para acceder a la interfaz de configuración del router introduciendo la dirección IP del router en nuestra barra de direcciones.owtroid. creamos ahora un nuevo perfil. Para routers TeleKom Speed PorT. ¡Despierta! Si nuestro PC tiene una interfaz de red que soporta Wake on LAN. con lo que podremos despertar el PC e iniciar programas de la manera normal. Veremos las entradas del lanzador para el servidor Remote Launcher. remotelauncherfree Figura 6: Remote Launcher ofrece plantillas que nos ayudan a configurar funcionalidades especiales tales como apagados remotos. introducimos la dirección MAC de la tarjeta de red de nuestro PC. esto será el menú Overview: Public WAN-IP. Para hacerlo. Podemos ejecutar la función Wake on LAN pulsando el botón WOL. necesitamos configurar la transferencia de puertos (port forwarding) en nuestro router de casa. (en este ejemplo 7778). Seguidamente.PRÁCTICO • Android: Remote Launcher introducimos ifconfig en la línea de comandos y leemos el valor que se muestra a continuación de Hardware Address. Para usar Wake on LAN en la app Remote Launcher. La app Remote Launcher envía el comando a este puerto. 7778. remotelauncher 42 Número 91 WWW.MAGAZINE. También podemos usar la app cuando nos movemos. Ahora. buscamos las configuraciones de las reglas de los puertos en las configuraciones de red. Usuario puede ejecutar el comando de apagado sin tener que introducir una contraseña para sudo.com/store/apps/ details?id=com. También puede que necesitemos realizar algunos pasos de configuración adicionales en Linux. navegamos al final del fichero y añadimos lo siguiente: %Usuario ALL = U NOPASSWD: /sbin/shutdown Sustituimos Usuario por nuestro propio nombre de usuario.com/remotelauncher/ mediawiki [2] Remote Launcher Free: https://play. Con esta información podemos volver a pulsar de nuevo Add. Seleccionamos la entrada del router desde la lista de selección de la app Remote Launcher y luego pulsamos Connect. Cuando especificamos el puerto. Introducimos la dirección IP WAN del router en Server address así como el número de puerto que definimos en las reglas del router (en este caso. guardamos el fichero y salimos del editor. porque no podemos acceder a la dirección IP del PC a través de la red móvil. definimos una nueva regla para la dirección IP del PC que controlaremos remotamente usando el protocolo TCP y un número de puerto – por ejemplo. Podemos usar esta dirección hardware (que es única) para referirnos a la tarjeta de red sin la necesidad de utilizar una IP. En Movimiento Remote Launcher no está limitada a nuestra red doméstica. seleccionamos la conexión apropiada en nuestro dispositivo Android y luego pulsamos Edit. podemos despertar remotamente nuestro PC mediante la app. por ejemplo. A continuación. pero los pasos principales serán los mismos. sí podemos acceder a la dirección IP WAN del router. copiamos la dirección MAC para el PC que queremos despertar en el campo Mac address y pulsamos Add. El uso de la función Wake on LAN en particular nos evitará más de un viaje si olvidamos apagar o desconectar nuestro PC antes de salir de casa. que también necesitamos especificar. Conclusiones Remote Launcher nos da opciones versátiles para controlar remotamentee un PC Linux a través de un smartphone o tablet en Android. Esto significa que la aplicación puede ejecutar este comando a través de nuestro dispositivo Android. La ayuda en línea o el manual del router nos ayudarán llegados a este punto. En el campo Mac address. Esta funcionalidad elimina la necesidad de iniciar nuestra máquina manualmente. Sin embargo. 7778) en el campo Server port. Para hacerlo. el router sabe que tiene que transferir la señal de entrada a la app en el PC. La contraseña en Password es la misma de siempre. para arrancar nuestro PC antes de volver a casa. En el dispositivo Android.google.

El Intérprete de Línea de Comandos (PHP-CLI) [1] se oculta en un paquete separado en la mayoría de distribuciones. con fecha de antes de 2002.PHP en la Línea de Comandos • DESARROLLO PHP para línea de comandos PHP X SISTEMA PHP no es sólo para sitios web. Por supuesto.1. la salida de datos no terminará en un navegador web sino que será enviada a la salida estándar.com 43 . Sin embargo. Normalmente.php ¡Salir con ello! CLI aceptará cualquier script de PHP normal. Como primer paso. podemos esperar. Los scripts de PHP en línea de comandos llevan en funcionamiento desde hace más de 10 años. Tal y como La primera línea permite al usuario etiquetar el fichero como ejecutable y poder lanzarlo como si fuera un script típico de consola. exit(0). podemos validarlo escribiendo php -l script. utiliza el mismo nombre que el intérprete – por ejemplo.ES Número 91 alexmit. Un sencillo programa de Hola Mundo sería algo así: #!/usr/bin/php <?php echo “Hola mundo\n”. ?> php holamundo. envía un código de salida del script. Un componente que hizo que esto fuera posible fue introducido en la versión 4. Para más detalles. también puede manejar tareas complejas. es php5-cli – pero para openSUSE 12. Antes de lanzar el script por primera vez.MAGAZINE. hay que asegurarse de que realmente estamos llamando a la variante CLI de PHP debido al código CGIPHP. recursivas o sencillas desde la línea de comandos. algo que hace al lenguaje y a sus librerías adecuadas para cualquier administrador que gestione servidores web. ver el recuadro “PHP como CLI y CGI”. podríamos lanzarlo también escribiendo: para identificar errores de escritura y sintaxis.LINUX. podemos alimentar comandos de PHP al intérprete con la entrada de datos estándar.3. lo que significa que podemos conectar el script a otros programas de esta forma: WWW. 123RF. necesitamos el paquete php completo. POR TIM SCHÜRMANN A unque el lenguaje PHP está casi inseparablemente unido a las aplicaciones web.php El añadido \n a Hola mundo inserta un salto de línea en la salida y exit(0). en Debian 6 (Squeeze) y Ubuntu.

La función preg_match() almacena todas las coincidencias en $coincidencias. En este ejemplo. CLI no tiene los array $_GET. PHP siempre utiliza el signo del dólar para designar variables – los programadores de Bash conocerán esta medida.MAGAZINE.. Por otra parte.3. todos los argumentos gestionados por la línea de comandos acaban en el array $_SERVER[‘argv’]. PHP reemplaza automáticamente las comillas dentro con sus contenidos. PHP tiene funciones que se asemejan a sus contrapartes equivalentes del lenguaje de programación C. En el mundo del texto orientado de la línea de comandos. que es donde suelen acabar los datos de vuelta desde el navegador web.. PHP nos proporciona varias formas para diseccionar cadenas. Listado 1: Evaluando Argumentos 01 <?php 02 echo “Número de argumentos: “ . En el peor de los casos. el bucle foreach() realiza una iteración contra el array y muestra el contenido línea por línea.6 Content-type: U text/html ¡Hola mundo! Obviamente. Otra forma de determinar si estamos llamando a la versión CLI en la línea de comandos es con el comando php -v. U “. Por ejemplo.$contador). foreach U ($division as $num => $parte)U { echo “$parte\n”. En el ejemplo. $fichero . U “Hola Mister Miller”. echo “<?php echo U ‘Hello’. 07 } 08 09 exit(0). Los préstamos de C Para operaciones más complejas. $_SERVER[‘argc’] . los administradores frecuentemente tienen que hacer malabares y concatenar múltiples cadenas. sino también para interfaces de CGI. Los arrays en PHP son lo que en otros lenguajes se refieren a diccionarios o a tablas de hash.6-13ubuntu3. strlen($nombre). El Listado 1 muestra un ejemplo en el que simplemente se listan todos los argumentos pasados. que utilizan servidores web para lanzar programas externos.ES . el script explode() divide una cadena de acuerdo a un delimitador definido (un espacio en el ejemplo) y distribuye las partes en un array: <?php $texto = U “Hola Mister Miller”. Para empezar. Los puntos fuera de las comillas concatenan las cadenas.. } ?>\ echo $division[0].. $parte = U explode(“ “. echo “/home/tim/” U . el primer argumento pasado es siempre el nombre de fichero del script ejecutado.$sufijo \n”. 44 Número 91 WWW. $texto). el intérprete CGI siempre devuelve una cabecera HTTP. que nos dice cuántos argumentos han sido pasados.txt devuelve la longitud de la cadena en $nombre. podemos utilizar esta comprobación para asegurarnos de que el script no lanza un servidor web por error. donde printf() da como salida la cadena con la ayuda de los patrones de posición utilizados en C: $contador=5. echo $coincidencias[0]. el índice 0 hace referencia a la primera palabra. 10?> Figura 1: Los argumentos pasados al programa pueden ser evaluados en los scripts de PHP. Estas estructuras de datos almacenan un valor debajo de un índice. CLI simplemente enviará a la salida cualquier texto fuera de <?php . Los programadores pueden buscar por cadenas utilizando expresiones regulares en un estilo con cierta reminiscencia a Perl: preg_match(“/Mister/”. $coincidencias[0] contiene la cadena Mister. printf(“Tienes %d U mensajes \n”.U $coincidencias). 03 04 $argumentos = $_SERVER[‘argv’].DESARROLLO • PHP en la Línea de Comandos PHP como CLI y CGI Los intérpretes de PHP están disponibles no sólo para la línea de comandos. Argumentos Sólidos Se recomienda precaución si necesitamos alimentar scripts de PHP construidos y diseñados para la web con CLI. 05 foreach ($argumentos as $nr => $argumento) { 06 echo “argumentos[$nr] = $argumento\n”. La salida del script Hola Mundo sería algo así: X-Powered-By: U PHP/5. Como podemos ver. “\n”.LINUX. algo realmente fácil de hacer en PHP: $fichero = “vacaciones”. simplemente veremos una gran pieza de código HTML enviado por toda la línea de comandos. $_POST y $_COOKIE. ?>. no necesitamos esta cabecera en la línea de comandos. En vez de eso. Una simple condición if comprobará en el script si está ejecutando la variante de la línea de comandos: if (PHP_SAPI === ‘cli’) { [. Este script disecciona el texto Hola Mister Miller por los espacios y guarda las partes individuales en un array. $sufijo = “png”. La salida debería contener una nota con el efecto que estemos utilizando (CLI). Por ejemplo. Por ejemplo. A continuación.. ?>” | U php> greetings.] } De paso. de los resultados de la Figura 1. La versión de CLI difiere de la versión CGI principalmente en términos de su salida de datos.

-h La función trim() remueve todos los espacios en blanco (p. A continuación. PHP utiliza la función fopen() para abrir ficheros y devolver un archivo para gestionarlo. 07 echo “Directorio Personal: $usuario[dir] \n”. siguen el ejemplo. fclose($handle). 13 exit(0).PHP en la Línea de Comandos • DESARROLLO Si utilizamos php para llamar a un script y queremos además pasar argumentos que comiencen con un guión (-). $datos = fgetcsvU ($fichero. “r”). Después de eso. todas las otras rutinas de entrada y salida de datos necesitan su puntero al fichero. 03 $usuario = posix_getpwuid($uid).txt”. salida estándar y error estándar respectivamente. ?> La contraparte de fgetcsv() es fputcsv()x. y a continuación leer la línea. El argumento separador (--) puede ser de ayuda aquí: php ejemplo. Si las reemplazamos con dos puntos. 08 echo “$entrada\n”. 04 echo “Usuario del proceso: $usuario[name] \n”. foreach ( $lineas as $num => $linea ) { $linea = trim($linea). En el Listado 3 las entradas están separadas por comas. WWW. 0. echo “$num : $linea\n”. 0. fopen() abre el fichero lista. los programadores de PHP pueden utilizar directamente STDIN: $linea = fgets(STDIN). Para que esto suceda. pudiendo lanzarlo directamente. STDOUT y STDERR.php -. En la línea 4. El Listado 3 muestra código de ejemplo. Es difícil imaginar una manera más sencilla o corta de realizar esta tarea. 06 echo “GID: $usuario[gid] \n”.csv”. 06 foreach ( $datos as $nr => $entrada ) { 07 $entrada = trim($entrada). El bucle while() repite este proceso hasta que fgetcvs() llegue al fin del fichero CSV y no pueda devolver más líneas. $linea = U permite analizar un fichero CSV: fgetcsv(). El tercer parámetro en fgetcsv() especifica el delimitador. que lee una línea de texto desde el fichero: $handle = U fopen(“test. Este problema no ocurre si añadimos un shebang al principio del script – como en el ejemplo de Hola Mundo – haciendo el script ejecutable. 05 echo “UID: $usuario[uid] \n”. “r”). file() abre el fichero y devuelve todas sus líneas en un array.txt”. Abrelatas Como otros muchos lenguajes de programación.”)) !== FALSE) { 04 05 echo “Line content:\n”. 03 while (($datos = fgetcsv($fichero. Aplicación Práctica PHP tiene una función parecida que Listado 2: Analizando un Fichero de Texto 01 02 03 04 05 06 07 08 09 10 11 12 <?php $nombrefichero =“test. extrayendo los campos de datos individuales e inmediatamente distribuyéndolos en el array $datos.csv y a continuación. un bucle foreach realiza iteraciones contra el array y devuelve cada línea en la pantalla. “. } exit(0). Una de esas rutinas es fgets(). En la línea 2. CLI interpretará el argumento y en este caso. espacios y tabulaciones) al comienzo y al final de cada línea y fclose() cierra el fichero. En vez de abrir primero el método de entrada estándar escribiendo fopen(“php://stdin”. $lineas = file($nombrefichero). “r”). “:”). “r”). 14 ?> Figura 2: La función posix_getpwuid() devuelve información de la cuenta de usuario utilizada para ejecutar el script... 08 ?> Listado 3: Analizando un Fichero CSV 01 <?php 02 $fichero = fopen(“lista. como php ejemplo. fgetcsv() obtiene la primera línea del fichero.php -h trim(fgets($handle)). muestra todos los elementos del array en el orden correcto. El bucle posterior foreach(). 09} 10 11 } 12 fclose($fichero).ES Número 91 45 .MAGAZINE. simplemente necesita pasar el carácter separador deseado y un array conteniendo todos los datos para la línea: Listado 4: Procesando Propiedades 01 <?php 02 $uid = posix_geteuid(). que semiautomáticamente almacena una línea coincidente en un fichero CSV. mostrará su propio mensaje de ayuda.LINUX. Existen un par de constantes predefinidas para hacer la vida más fácil a los desarrolladores. Analizar el fichero línea por línea es un juego de niños con PHP (Listado 2). podríamos analizar fácilmente el fichero del sistema /etc/passwd: $fichero = fopenU (“/etc/passwd”.ej.

La función exec lanza programas externos [p. $fichero = fopenU (“test. La función scandir() proporciona una manera fácil de manipular ficheros en un directorio: <?php $ficheros = U scandir(‘Fotos’).DESARROLLO DESARROL • PHP en la Línea de Comandos Figura 3: El script en el Listado 5 ejecutándose como un usuario normal y como root.gz”).net/manual/en/ features. Por ejemplo.POSIX_R_OK). Listado 5: Probando Permisos de Ficheros 01 <?php 02 $existe = posix_access(“/etc/passwd”. Podemos entonces enviar este ID a posix_getpwuid() (Listado 4) para mostrar un array con la información de la cuenta de ese usuario (Figura 2). Conclusiones Aunque puede que PHP no sea el lenguaje de programación que viene inmediatamente a la mente cuando estamos buscando un lenguaje para la línea de comandos. puedes dar un descanso a bash y cambiar a PHP-CLI en su lugar. Por ejemplo. copy() copia un fichero y mkdir() crea un nuevo directorio: mkdir(“/home/tim/nuevo”.linux-magazine. }. Si tienes una máquina con PHP instalado. que evalúa el directorio actual de trabajo. Este modo soporta la función de auto completar comandos. podríamos incluso tener la opción de crear una pequeña interfaz de usuario orientada al texto con el uso de funciones Ncurses. exec(“gzip test. automáticamente se completará el comando que empecemos a escribir.php [2] Listados de este artículo: http://www. código fácil de leer.. podemos acceder a un fichero Gzip que hayamos creado con la función correspondiente Zlib y dirigir su contenido a la consola: readgzfile(“test.txt. algo que puede ser realmente útil. fputcsv($fichero. Gracias a la enorme librería de funciones. hay varias funciones POSIX que llegan a ser muy útiles. 04 05 $lectura = posix_access(“/etc/passwd”.es/ Magazine/Downloads/91/PHP [3] Referencia de funciones PHP: http:// php. chmod() cambia los permisos de los archivos. POSIX_X_OK). 03 if($existe) echo “Fichero existe\n”. Los administradores pueden utilizar virtualmente cualquier extensión de PHP en CLI. CLI ofrece además un modo interactivo que podemos activar escribiendo php -a.LINUX.MAGAZINE. Presionando la tecla Tab. sólo el usuario que lanzó Existen otras funciones similares para abrir y manipular archivo ZIP y RAR. foreach U ($ficheros as $fichero) { echo “$fichero \n”. el script tendrá permisos para acceder al directorio. 13 ?> RECURSOS [1] PHP-CLI: http://php. La Figura 4 muestra la función getcwd(). Por ejemplo. Por ejemplo. Este código utiliza scandir() para mostrar todos los ficheros en el subdirectorio Fotos. posix_geteuid() devuelve el id de usuario que está ejecutando el script. “Tim”. incluso las tareas más exigentes se pueden desarrollar con un par de líneas limpias. “.U 0700). ?> Las funciones criptográficas dan a los programadores formas rápidas de generar huellas dactilares únicas para los ficheros – este ejemplo utiliza el método MD5 hash: echo hash_fileU (“md5”.ej. Figura 4: El script getcwd() muestra que el directorio actual es el que el usuario lanzó desde el intérprete de la línea de comandos. 12 if($ex) echo “Permisos de ejecución en el fichero\n”. Manipulación de Ficheros PHP tiene una función adecuada para más o menos cualquier operación con el sistema de ficheros. U $registro. ls_dir() comprueba que el nombre pasado es un directorio. En este ejemplo.txt”). La función posix_access() (Listado 5) muestra los permisos para un fichero (Figura 3). 10 11 $ex = posix_access(“/etc/passwd”. “w”). resulta que actualmente PHP ejecuta esta tarea casi a la perfección. 09 if($escritura) echo “Permiso de escritura en el fichero\n”.csv”. “test. POSIX_W_OK). En la línea de comandos.php 46 Número 91 WWW. ■ El segundo argumento define los permisos.ES .net/manual/en/funcref.”). 06 if($lectura) echo “Permisos de lectura en el fichero\n” 07 08$ escritura = posix_access(“/etc/passwd”.txt”)]. $registro = arrayU (“tims”. Estas funciones introducidas en este artículo [2] son simplemente un pequeño extracto de la gran cantidad de funcionalidades establecidas que podrían satisfacer los deseos más exóticos [3].”Schürmann”).commandline.POSIX_F_OK).

Perl: Descargando del Kindle • DESARROLLO

Extraer el contenido destacado en un Kindle de Amazon desde una máquina Linux

Extractor de Destacados
script en Perl que la guarda en una base de datos. POR MICHAEL SCHILLI

Con el lector de ebook Kindle de Amazon, podemos guardar extractos, o “destacados” en un archivo. Más tarde, podemos conectar el Kindle a un puerto USB de un equipo con Linux y recuperar la información con un

L

os libros electrónicos cada vez emulan mejor las propiedades de sus homólogos impresos. Por ejemplo, los compradores de libros elec-

trónicos para el Kindle de Amazon pueden tanto prestar sus libros a amigos, como añadir marcadores al texto y resaltar pasajes (recortes) en su material de lectura digital (véase la Figura 1). Y, como buen servicio que es, el Kindle envía estos a un servidor centralizado de manera que el usuario pueda acceder a ellos en un lector diferente en cualquier momento posterior. Una colección compacta de recortes de varios libros pueden ayudarnos a encontrar cosas que sabemos que hemos seleccionado en alguna parte, aunque no podamos recordar el título del libro. Esto explica por qué un gurú de la productividad sugiere [2] utilizar cortar y pegar para extraer los aspectos más destacados de su sitio web personalizado Kindle en Amazon.com. Pero hay un método más elegante para esto: cuando un usuario presiona el botón Enter, lleva el cursor sobre un pasaje de texto en el dispositivo y presiona Enter de nuevo, el Kindle guarda estos recortes personales o “destacados”, en un archivo de texto plano en el sistema de archivos del dispositivo. El script Perl que muestro en este artículo toma la información del sis-

tema de archivos tan pronto como conectamos el Kindle en el puerto USB de nuestro sistema Linux.

Plugin en Acción
Después de conectar el Kindle al puerto USB de nuestro ordenador con Ubuntu, veremos el cuadro de diálogo de la Figura 2, que sugiere accionar el Kindle con el reproductor Rhythmbox MP3 o alguna otra aplicación. Otra opción de la lista indica a Ubuntu no hacer nada, y podemos pulsar sobre Realizar siempre esta acción para evitar que Ubuntu intente este tipo de tonterías en el futuro. Ubuntu monta el sistema de archivos del Kindle en /media/Kindle. La Figura 3 muestra que el archivo con la información destacada almacenada se encuentra en el directorio documents bajo el directorio raíz del Kindle y que éste es un archivo de texto claro con el nombre de Mi Clippings.txt (téngase en cuenta los espacios en blanco). Las entradas individuales están organizadas en líneas y están delimitadas a partir de las siguientes entradas por una cadena de caracteres = (véase la Figura 4). El archivo de texto no sólo incluye los pasajes de texto seleccionados, sino también marcadores y notas que el usuario introduce a través del teclado del Kindle, por ejemplo, para burlarse de un error de impresión que ha descubierto, o para contribuir con su conocimiento infinito y por lo tanto, mejorar el contenido del libro.

Jugar con el Formato
Para automatizar el proceso de conversión del formato de texto claro del Kin-

WWW.LINUX- MAGAZINE.ES

Número 91

47

DESARROLLO • Perl: Descargando del Kindle

Figura 1: Cuando un usuario pasa su dedo sobre un pasaje de texto, el lector Kindle guarda esta selección en un archivo, que se transmite a un servidor centralizado.

dle en entradas de base de datos, que se puedan consultar más tarde, necesitamos el módulo ClippingsParser.pm del Listado 1. Éste aguarda un descriptor de archivo para el archivo de recortes del Kindle, busca el formato no documentado, y

Figura 2: Este molesto pop-up puede silenciarse seleccionando No hacer nada y Realizar siempre esta acción.

Figura 3: El archivo Mi Clippings.txt en el directorio documents del Kindle guarda recortes del usuario en formato de texto.

devuelve detalles como el título del libro, autor, página, fecha y el texto resaltado. La función parse_fh() acepta un descriptor de archivo para el archivo de texto claro y devuelve un código de referencia como una devolución de llamada, saltando a la referencia de código cada vez que se encuentra una entrada. La primera línea en el archivo de Kindle puede contener un par de caracteres ilegibles al inicio de la línea, pero el comando de reemplazo de la línea 30 se deshace de ellos. Si el contenido de la línea de texto bajo investigación en la línea 33 no coincide Texto Completo o con el separador de entradas formado por Coincidencia de Patrón signos =, la línea 38 agrega el contenido a la variable $entry. Si el script encuentra En el modo normal, las bases de datos una línea de separación entre las entradas, SQLite soportan criterios de búsqueda la línea 34 llama al método parse_entry y tales como LIKE %termino%, que indidevuelve los datos de texto recogidos hasta el momento y la devolución de llamada, al que el script tiene que saltar una vez que todos los datos de una entrada dada se hayan recogido. En parse_entry(), el comando split de la Figura 4: Los recortes del usuario en el sistema de archivos del leclínea 53 divide una tor Kindle.

entrada en título ($head), página y fecha de entrada ($whence), una línea en blanco y el texto seleccionado ($texto). Dado que el archivo del Kindle utiliza el formato de Windows con \\r\\n como el carácter de fin de línea, split utiliza esta combinación en la expresión regular de la línea 53. Algunos libros electrónicos, tales como diccionarios, no listan el autor entre paréntesis a continuación del título, lo que significa que el campo del autor en la línea 61 está vacía en este caso. El último campo de la segunda línea de un registro (separado de la anterior con el caracter |), contiene los detalles de la ubicación y la página, y lleva la fecha en que se ha seleccionado el fragmento de texto o se fijó el marcador. Las líneas 80 a 82 proporcionan todos estos campos a la llamada de devolución, configurada previamente en el programa principal como una función pasada por referencia. Podemos usar el módulo parseador para remodelar los datos del Kindle y convertirlos a un formato que se preste a su rápida consulta. Para asegurar que el usuario puede realizar una búsqueda de texto completo de los términos de los pasajes de texto seleccionados, el script del Listado 3 alimenta los datos destacados que haya encontrado a una base de datos SQLite con un motor de texto completo. El Listado 2 muestra que se necesitan comandos especiales CREATE con la herramienta en línea de comandos sqlite3 para configurar una base de datos SQLite en archivos planos que indexen los datos de texto guardados de manera que las búsquedas multi-palabras se ejecuten a una velocidad digna de Google.

48

Número 91

WWW.LINUX- MAGAZINE.ES

Perl: Descargando del Kindle • DESARROLLO

Listado 1: ClippingsParser.pm
01 ############################## 02 package ClippingsParser; 03 ############################## 04 use strict; 05 use warnings; 06 07 ############################## 08 sub new { 09 ############################## 10 my( $class ) = @_; 11 12 bless {}, $class; 13 } 14 15 ############################## 16 sub parse_fh { 17 ############################## 18 my( $self, $fh, $callback ) = 19 @_; 20 21 my $line_sep = 22 “==========\r\n”; 23 my $entry = “”; 24 my $first = 1; 25 26 while( my $line = <$fh> ) { 27 28 if( $first ) { 29 $first = 0; 30 $line =~ s/^\W+//; 31 } 32 33 if( $line eq $line_sep ) { 34 $self->parse_entry( $entry, 35 $callback ); 36 $entry = “”; 37 } else { 38 $entry .= $line; 39 } 40 } 41 } 42 43 ############################## 44 sub parse_entry { 45 ############################## 46 my( $self, $entry, 47 $callback ) = @_; 48 49 my( 50 $head, $whence, 51 $empty, $text 52 ) 53 = split /\r\n/, $entry, 4; 54 55 # format error? 56 die “format error” 57 if !defined $text; 58 59 $text =~ s/\r\n\Z//; 60 61 my( $title, $author ) = 62 ( $head =~ 63 /^(.*) \((.*?)\)$/ ); 64 65 # a veces no hay autor 66 if( !defined $author ) { 67 $author = “”; 68 $title = $head; 69 } 70 71 my @whence = 72 split /\s*\|\s*/, $whence; 73 my $when = pop @whence; 74 my $what = join “|”, 75 @whence; 76 77 my( $type, $loc ) = 78 ( $what =~ /^- (\w+) (.*)/ ); 79 80 $callback->( 81 $type, $loc, $author, 82 $title, $when, $text 83 ); 84 } 85 86 1;

Listado 2: sqlite-setup.sh
01 file=highlights.sqlite 02 rm -f $file 03 04 sqlite3 $file <<EOT 05 CREATE VIRTUAL TABLE 06 highlights USING FTS3 ( 07 type TEXT, loc TEXT, 08 author TEXT, title TEXT, 09 date TEXT, text TEXT ); 10 11 CREATE TABLE seen ( 12 type TEXT, loc TEXT, 13 title TEXT, 14 UNIQUE(type, loc, title) ); 15 EOT

gin “Full Text Search” (USING FTS3). FTS3 se ha incluido con SQLite desde la versión 3.5.0 a partir de 2007, y SQLite 3.7.4 introdujo FTS4 en 2010, aumentando el rendimiento, pero a costa de una mayor complejidad [3]. La tabla de texto completo se puede rellenar con llamadas a INSERT y consultar con consultas SELECT, al igual que cualquier otra base de datos. Sin embargo, ofrece dos funciones adicionales: en primer lugar, tiene una columna virtual que utiliza el mismo nombre que la tabla y que actúa como una especie de resumen de todas las columnas de la tabla durante las consultas. En nuestro caso, SELECT
WHERE highlights MATCH(?)

can que se toman su tiempo para encontrar entradas cuyas columnas contengan cadenas de texto específicas. Incluso si una respuesta lenta no te perturba, hay otro inconveniente. Si estamos buscando entradas que contengan las palabras “Perl” y “Data” escondidas en algún lugar de las profundidades del texto, este método va a ser muy indirecto. En contraste con esto, un motor de texto completo está especializado en este tipo de consulta, y básicamente sólo busca palabras enteras. Una búsqueda de Data no

encontrará entradas para Database, pero si se busca por Date Time, encontraremos todos los textos que contienen la palabra Date y Time dondequiera que estén y en cualquier orden. Para indicar a SQlite que cree una tabla con un índice de texto completo, el Listado 2 solicita una “tabla virtual” en lugar de Figura 5: La salida de la búsqueda completa clipfind muestra una normal: la tabla virtual todos los mensajes de texto resaltados que contengan tanto utiliza la versión 3 del plu- la palabra file como directory.

busca todas las entradas donde cualquier columna coincida con el operador especificado MATCH. La segunda diferencia es el operador MATCH, que implementa una búsqueda de texto completo orientada a palabras. Por ejemplo, MATCH (“gato perro”) busca textos que contengan ambas palabras en cualquier lugar y en cualquier orden, y la búsqueda es lo suficiente-

WWW.LINUX- MAGAZINE.ES

Número 91

49

DESARROLLO DESARROL • Perl: Descargando del Kindle

mente inteligente como para ignorar mayúsculas o minúsculas. Incluso podemos utilizar derivados, de manera que una búsqueda de “gato” también encontrará “gatos”.

Alimento para la Base de Datos
El Listado 3 lee el archivo de recortes del Kindle y rellena la base de datos SQLite previamente creada en una máquina Linux. Con objeto de que encuentre tanto el módulo ClippingsParser.pm como el archivo de base de datos high-

lights.sqlite, que se encuentra en el mismo directorio que el script tras ejecutar los comandos SQL del Listado 2, el bloque BEGIN de las líneas 18 a 21 en primer lugar se sitúa en el directorio que contiene el script. Utiliza el archivo de log /var/log/kindle.log para describir lo que está haciendo, lo que resulta muy útil para depurar si el script se ejecuta en segundo plano (que es el caso normal como veremos más adelante), ya que siempre que el usuario conecte el Kindle, el sistema Udev del kernel de Linux llama al script.

Ser llamado por Udev también significa que tiene que devolver de inmediato y continuar funcionando en segundo plano con el fin de analizar los datos de recortes y almacenarlos en el orden correcto en la base de datos. Para hacer esto, el script ejecuta un comando fork en la línea 48 y crea un proceso hijo que se encarga de los trabajos en curso. Mientras, el proceso padre desaparece y devuelve que ha ido todo bien. Debido a que el kernel llama al script como root, la línea 46 utiliza el comando setuid del módulo de POSIX para resetear los per-

Listado 3: kindle-connected
001 #!/usr/local/bin/perl -w 002 ############################# 003 # kindle-connected 004 # ejecutar el script con el 005 # kindle conectado 006 ############################# 007 use strict; 008 use local::lib; 009 use Log::Log4perl qw(:easy); 010 use POSIX; 011 use DBI; 012 013 my $run_as = “mschilli”; 014 my $clip_path = “/media/” . 015 “Kindle/documents/” . 016 “My Clippings.txt”; 017 018 BEGIN { 019 use FindBin qw($RealBin); 020 chdir $RealBin; 021 } 022 use ClippingsParser; 023 024 my $logfile = 025 “/var/log/kindle.log”; 026 027 Log::Log4perl->easy_init( 028 { 029 file => “>>$logfile”, 030 level => $DEBUG, 031 } 032 ); 033 034 my ( 035 $name, $passwd, 036 $uid, $gid 037 ) = getpwnam($run_as); 038 039 chown $uid, $gid, $logfile 040 or LOGDIE 041 “Cannot chown $logfile: $!”; 042 chmod 0644, $logfile 043 or LOGDIE 044 “Cannot chmod $logfile: $!”; 045 046 POSIX::setuid($uid); 047 048 my $pid = fork(); 049 die “fork failed” 050 if !defined $pid; 051 exit 0 if $pid; # parent 052 053 # esperar hasta que el dir root 054 # del kindle se haya montado 055 for (1 .. 10) { 056 if (-f $clip_path) { 057 last; 058 } else { 059 DEBUG 060 “Waiting for $clip_path”; 061 sleep 5; 062 next; 063 } 064 } 065 066 LOGDIE “$clip_path not found” 067 if !-f $clip_path; 068 069 my $dbh = DBI->connect( 070 “dbi:SQLite:” . 071 “highlights.sqlite”, 072 “”, “”, 073 { 074 RaiseError => 1, 075 PrintError => 0 076 } 077 ); 078 079 open my $fh, “<”, $clip_path 080 or LOGDIE 081 “Can’t open $clip_path ($!)”; 082 083 my $cp = 084 ClippingsParser->new(); 085 086 my $items_added = 0; 087 088 $cp->parse_fh( 089 $fh, 090 sub { 091 my ( 092 $type, $loc, 093 $author, $title, 094 $when, $text 095 ) = @_; 096 097 my $sth = $dbh->prepare( 098 “INSERT INTO seen “ . 099 “VALUES (?, ?, ?)” 100 ); 101 102 eval { 103 $sth->execute($type, $loc, 104 $title); 105 }; 106 107 # seguramente un incauto 108 return if $@; 109 110 $sth = $dbh->prepare( 111 “INSERT INTO “ 112 . “highlights VALUES “ 113 . “(?, ?, ?, ?, ?, ?)” 114 ); 115 $sth->execute( 116 $type, $loc, 117 $author, $title, 118 $when, $text 119 ); 120 $items_added++; 121 } 122 ); 123 124 INFO 125 “$items_added items added”; 126 close $fh;

50

Número 91

WWW.LINUX- MAGAZINE.ES

“\n\n”. Si la línea 103 agrega luego un registro existente a la tabla seen. 08 chdir $RealBin. 03 use Text::Wrap qw(fill). “ 39 “($ref->{loc}). 41 42 print fill(“”. 43 ($output)). el script espera cinco segundos y luego vuelve a intentarlo. Para evitar estos duplicados. Bookmark o Note). 18 { RaiseError => 1 } 19 ). 44 45 $serial++. @ARGV. 17 “”. 26 27 $sth->execute( $query ). 12 13 my $dbh = DBI->connect( 14 “dbi:SQLite:” . Nada de Material Antiguo Si el usuario conecta el mismo dispositivo Kindle al ordenador múltiples veces. “\”$ref->{text}\”“. 30 31 while( my $ref = 32 $sth->fetchrow_hashref() ) 33 { 34 35 my $output = 36 “[$serial] “ 37 . automáticamente se genera un error porque el sis- . “WHERE type = ‘Highlight’ “ 24 . MATCH(?)” ). evitando así las vulnerabilidades innecesarias. “ AND highlights “ 25 . Highlight. 09 } 10 11 my $query = join “ “. 04 use DBI. “ “. el bucle for de la línea 55 a 64 intenta leer los recortes 10 veces. 05 06 BEGIN { 07 use FindBin qw($RealBin). Si esto falla. la mayor parte de las entradas ya existirán en la base de datos y la copia ciega sólo causaría duplicados indeseables y una carga innecesaria de la base de datos. 28 29 my $serial = 1. Debido a que el directorio raíz del Kindle puede no existir cuando el script se inicia. 20 21 my $sth = $dbh->prepare( 22 “SELECT * FROM highlights “ 23 . no virtual) de nombre seen. loc (número de página) y title debe ser única.sqlite”. y utiliza una instrucción UNIQUE para estipular que la combinación de type (es decir.Perl: Descargando del Kindle • DESARROLLO Listado 4: clipfind 01 #!/usr/local/bin/perl -w 02 use strict. “ 40 . 15 highlights. 38 $ref->{author}. “\”$ref->{title}\”. 46 } misos a los de la cuenta de usuario configurada en la línea 13. el script del Listado 2 define una segunda tabla (real. 16 “”.

Kindle conectado. “Cómo pasar tus mero es un párrafo del excelente libro recortes de cada uno de estos eventos.4.es/ atrapar al Kindle al Magazine/Downloads/91 conectarse sería utilizar el demonio [3] Extensiones SQlite FTS3 y FTS4: presentado en [4]. http://www. [2] Listados de este artículo: Otra manera de http://www. la como se muestra en la Figura 7). 02 ENV{DEVTYPE}==”usb_device”. ACTION==”add”. La consbrir el ID de fabricante e ID de identificaen el directorio /etc/udev/rules. En línea 110 cumple con su deber prepapara llamar la atención del servicio udev nuestro caso. Conectar el Kindle desencadebería reflejar los datos del Kindle base de datos y las presenta en forma dena una serie de acciones. Desde El código clipfind mostrado en el Lisresulta útil. ATTRS{idVendor}==”1949”. Sería una RECURSOS tory. en el sistema DLinux Magazine número 77. los cuales se hallan en mi Kindle y en los que he destacado pasajes. La Figura 5 muestra lugar. dor de la directiva RUN se accione múltimáticamente y la base de datos local extrae las entradas coincidentes de la ples veces. todo debería funcionar autotado 4 acepta consultas de búsquedas. La dle en el árbol USB es el 1-4. y el sada por procesos paralelos que esperan how-to-get-your-kindle-highlights-in segundo es un pasaje de “OpenVPN 2 al directorio con el sistema de archivos to-evernote. se crea la entrada USB. contenido del correspondiente archivo ENV{DEVTYPE}==”usb_device” contenido en el directorio /sys/bus/usb. podemos analizar el de datos.4-2.MAGAZINE.es/issue/77/ Figura 8: El directorio sys muestra los parámetros USB del lector atrapa el evento de 045-048_PerlLM77. ■ cómo clipfind busca los registros que ción se asigna un disco duro. seguido de contengan ambas palabras file y direcuna partición y otras cosas. de Michael Kerrisk. los Figura 7: Cuando conectamos el Kindle a nuestro ordenador con expertos en auto. El pripérdida de tiempo buscar el archivo de [1] Michael Hyatt. pág 45. Control de Lanzamiento Para asegurarnos de que el script se inicia cada vez que el usuario conecta el Kindle (véase la Figura 6). a continuamos.ES .rules 01 SUBSYSTEM==”usb”. Con envía correctamente la entrada a la base siguiente entrada esta información.linux-magazine. Busca y Hallarás como se muestra en la Figura 8.pdf montaje.html del Kindle. recortes del Kindle a Evernote”: de Linux. En primer inmediatamente cada vez que lo conectade una bibliografía.linux-magazine. Si la entrada no existe. 52 Número 91 WWW. ATTRS{idProduct}==”0004”. porque evita que el manejaeste punto. Linux a través de su conector USB. el número asignado al Kinrando una nueva entrada.d y llatrucción eval de la línea 102 atrapa este ción del producto especificados en la marán a error y la clausula if de la línea 108 regla udev siguiendo las nuevas entradas devuelve antes de tiempo la devolución sudo service udev restart en el archivo /var/log/messages (tal y de llamada. RUN+=”/home/<I>mschilli<I>/git/articles/kindle-highlights/eg/kindle-connected” Cookbook” de Jan Just Keijser.org/fts3. Michael Schilli.sqlite. los mensajes del subsistema USB aparecen en /var/log/ Figura 6: Conexión del Kindle a una máquina matización guarda. Bus de Linux y www. y la línea 115 para cambiar la configuración. “La interfaz de programación por no hablar de la carga del sistema cauhttp://michaelhyatt. rán las correspontema de base de datos evita estrictaLos usuarios de Linux pueden descudientes reglas udev (véase el Listado 5) mente integrar un duplicado.Ubuntu.messages. devolviendo dos entradas.html que se encuentra [4] “Suban al D-BUS”.LINUX.com/ de Linux”.DESARROLLO • Perl: Descargando del Kindle Listado5: 99-kindle.

ferido las direcciones de los destinatarios al servidor de correo y recibido la respuesta: RCPT TO:<charly@kuehnast. como seguro ya habrán podido adivinar. el ejemplo muestra una autenticación SMTP por medio de un mecanismo basado en texto plano. En una situación real. entre otros motivos por la necesidad de añadirle desesperadamente funciones de seguridad. Simplemente puedo mandar un correo de prueba con: S --server=U mail.com Si la prueba tiene éxito. Aunque los comandos básicos como HELO <FQDN> o RCPT son fáciles de escribir rápidamente. seguro que preferiría utilizar un método más seguro.com> 250 2. SMTP ha ido engordando y engordando a lo largo de los años.LINUX-MAGAZINE. Entre otras cosas. Para averiguarlo. En la Figura 1 se muestra un ejemplo más complejo. Le indico a Swaks que quiero utilizar un mecanismo de autenticación con el parámetro --auth y le proporciono mis datos de autenticación por medio de --auth-user=testuser U --auth-password=testpass Figura 1: Swaks toma el papel de un cliente SMTP y comprueba si el servidor de correo se está comportando correctamente. no dos). Más allá de esto.La Columna de Charly: Swaks • ADMINISTRACIÓN El día a día del Administrador de Sistemas: Swaks Para el Protocolo La búsqueda de errores en un servidor SMTP por medio de telnet y la comprobación de los correos puede parecer una carrera sin fin. las cosas no son tan sencillas. HELO cadena. introduzco -tls (atención: con un sólo guión.5 Ok QUIT swaks --from=U charly@kuehnast. Puedo seguir cada paso del diálogo SMTP en la consola y obtener cualquier mensaje de error del servidor en bandeja de plata. así que debería echarle un vistazo a la documentación del manual. he introducido -q RCPT. Swaks me permite terminar el diálogo SMTP en cualquier momento. puede ser bastante molesto que terminen rebotando en mi buzón y me lo colapsen.jetmore. Swaks puede hacer mucho más de lo que he mencionado en esta breve introducción. la autenticación con CRAM-SHA-1 no tiene nada que ver con el texto plano del protocolo original. ■ RECURSOS [1] Swaks: http://www. Con los parámetros adecuados.1. la herramienta es capaz de manejar también IPv6. habría recibido el mensaje * Host did not advertise STARTTLS y Swaks habría cerrado el diálogo SMTP. Swaks ha descubierto que el servidor de correo soporta TLS. CHARLY KÜHNAST MTP es un protocolo de texto plano. Por ello. Pero Swaks nos ayuda a llegar a tiempo a la meta. En la práctica. desde la última gran actualización en la primavera de 2012. Las direcciones del remitente y del destinatario también han sido confirmadas con OK. TLS y la autenticación SMTP) ya han sido procesados. al menos.com U --to=charly@example.com U Swaks y el servidor de correo negociarán entonces el uno con el otro para averiguar el nivel mayor de seguridad que ambos soportan. En el ejemplo. que ya he perdido.example. la herramienta ejecuta el diálogo SMTP para la diagnosis por sí mismo.ES Número 91 53 .org/ john/code/swaks/ WWW. Swaks [1] es una herramienta que nos devuelve de nuevo la facilidad para realizar diagnósticos de los servidores de correo. rápidamente puedo ver si hay algún problema – teóricamente. ya que este mecanismo basado en texto plano no cifra ni el nombre de usuario ni la contraseña – los caracteres aparentemente crípticos provienen de la codificación de los datos en base64. por lo que yo sé y por la diversión que me proporcionaba antaño. Por ejemplo. los errores más comunes (por ejemplo. Simplemente me puedo conectar al puerto 25 por Telnet y luego actuar como un cliente de correo. Remedio para la Congestión Cuando mando una docena o más de correos de prueba en busca de mensajes de error. Por medio de las respuestas del servidor. charly@kuehnast.com recibirá el correo de prueba. Si el servidor no soportase TLS. lo que resulta ser bastante práctico a la hora de buscar errores en un servidor de correo. de modo que Swaks cierra el diálogo tras haber trans- En este punto.

LINUX. Un atacante podría. El problema básico es que FireWire y Thunderbolt están diseñados para ser extremadamente rápidos y flexibles (tardan sólo un poco más que la simple transferencia de datos). Para 54 Número 91 WWW. FireWire y Thunderbolt Estas interfaces son antiguas.conf o a /etc/modprobe. para mantenerlo alejado de los ataques. dado que podemos escribir virtualmente en cualquier ubicación de memoria y también en cualquier dispositivo PCI que use asignación de memoria. Thunderbolt. pero no tanto para la seguridad. Thunderbolt.) es a través del sistema de archivos. así que mi consejo es desactivar FireWire y Thunderbolt en la BIOS si podemos.d/ blacklist. algunos ataques físicos se pueden llevar a cabo en unos segundos y es posible para cualquiera que haya tenido una mínima capacidad de acceso al sistema. registre nuestras contraseñas para descifrar el disco duro. por ejemplo. En otras palabras. Sin embargo. POR KURT SEIFRIED ste mes es hora de volver al mundo físico. porque no podemos confiar en todos los usuarios o confiar en que mantengan seguras sus contraseñas. Montaje Automático de Sistemas de Archivos Un método habitual de ataque en toda conexión periférica estándar que permita dispositivos de almacenamiento (USB. La buena noticia es que la mayoría de nosotros realmente no usamos FireWire y Thunderbolt. eSATA. ext4). se puede usar para enviar señal de vídeo a monitores de control y los dispositivos FireWire pueden hablar directamente a otros dispositivos FireWire. E limitar el número de sistemas de archivos permitidos. En teoría podemos enchufar un disco duro FireWire externo en una cámara que permita FireWire y volcar los datos directamente sin necesidad de ordenador. por lo que es bastante trivial hacer lo que se quiera con el sistema de una manera prácticamente indetectable. Para obtener una lista de los módulos. FireWire. aparece en el escritorio y todo funciona. saltándose enteramente el sistema operativo. Por ejemplo es tan fácil como volver a hablar con alguien o tropezar con otro. un atacante puede usar cualquier sistema de archivos permitido (y hay muchos) para atacar el sistema. por ejemplo. en los ataques remotos. La otra cara de la moneda es que. aunque suene un poco a película. podemos incluir en blacklist varios módulos del núcleo.conf (o cualquiera que sea el archivo que use nuestra distribución – debería ser similar). con el montado automático activado. y en ataques a nivel de intérprete. De manera predeterminada. Thunderbolt y FireWire proporcionan DMA (Acceso Directo a la Memoria Direct Memory Access) de los dispositivos. tenemos que mantener activados los sistemas de archivos que realmente usamos (por ejemplo.ES . que están aún en pañales. de manera que por ejemplo después del arranque. específicamente al hackeo de sistemas vía hardware. es el momento de prestar atención al hardware. lo cual es práctico. Enchufamos un disco USB. dado que cualquier usuario de Internet te puede golpear. porque alguien con acceso físico y tiempo puede sortear virtualmente todas las medidas de seguridad o simplemente modificar el sistema. un dispositivo Thunderbolt [1] o FireWire malicioso puede escribir directamente en la memoria. sencillamente tenemos que listar el contenido de /lib/ modules/$version/kernel/fs y añadirlos a /etc/modprobe.MAGAZINE. los administradores de sistemas normalmente se centran en ataques locales. sobrescribir la memoria de espacio de usuario de aplicaciones o incluso sobrescribir la memoria del núcleo. lo cual es bueno para la velocidad. Raramente los administradores prestan atención a los ataques físicos. etc. pero buenas.ADMINISTRACIÓN • Inseguridades: Hackeando Hardware No olvides el hardware Hackeo Duro Ahora que nuestras redes están seguras y hemos convencido a nuestros usuarios de asegurar las contraseñas y el software. Por supuesto. tal y como reflejan la cantidad de ataques relacionados con sistemas de archivos permitidos que han ocurrido en sistemas Linux. la mayoría de las versiones de Linux los montan de manera automática en cualquier dispositivo que se conecta. En seguridad.

estos dispositivos se pueden programar para esperar o enviar el ataque a intervalos. simplemente editando la configuración authorized_ default para cada controlador USB: for i in /sys/bus/U usb/devices/usb*/U authorized_default. No sólo nos permite conectar periféricos externos. netbook. no es demasiado difícil para un atacante modificar el dispositivo Bluetooth para enviar el mismo número serie y otra información como hace nuestro dispositivo. U do echo 0 > U $i.blogspot. esperar a que sea reconocido y realizar su trabajo y después desenchufarlo).Inseguridades: Hackeando Hardware • ADMINISTRACIÓN Y también podemos considerar desactivar los puertos físicamente. seguirá trabajando una vez que el usuario vuelva (y casi nadie comprueba la parte de atrás de su ordenador para ver si algo se ha enchufado mientras estaban tomando un café).ca/2011/09/ in-progress-this-post-will-be-update d. Los controladores de USB pueden permitir DMA. Por una vez.ES Número 91 55 . etc.org/2012/02/ adventures-with-daisy-in-thunderbol t-dma-land-hacking-macs-throughthe-thunderbolt-interface/ [2] Don’t stick that in there – HID: https://www. Los diseñadores no fueron totalmente ignorantes de los aspectos de seguridad. los antiguos no. en Mac OS X. de autenticación. especialmente cuando un ataque físico se puede ejecutar en segundos (enchufar el dispositivo USB. Dado que no queremos andar por ahí con un enorme tubo de pegamento desactivando físicamente todos los puertos en nuestra máquinas. tenemos buenas noticias: podemos configurar nuestro sistema fácilmente para que desactive cualquier dispositivo USB nuevo que haya sido enchufado y esté trabajando.0 DMA será más común porque mejora significativamente el rendimiento. si hemos accedido y nuestras claves de cifrado. ¿Qué podemos hacer? Todos los dispositivos USB tienen una ID del fabricante y del producto que podemos utilizar para identificarlos.breaknenter. deberíamos estar seguros (pero. somos vulnerables. El estado de DMA con respecto a USB en Linux es un poco menos complicado. el dispositivo puede por ejemplo enviar pulsaciones de teclas y órdenes del ratón a la máquina. especialmente teclados. teclados y controladores de juego). Otra interesante y única autopista para los ataques a través de USB es el HID (Dispositivo de Interfaz Humana Human Interface Device. tanto a nivel de la BIOS como a nivel del sistema operativo. Básicamente. esperando por ejemplo que reactivemos el USB de manera que podamos enchufar una memoria. Además. Hay que tener en cuenta que algunos programas comerciales usan el ataque DMA de FireWire para recuperar contraseñas de ordenadores con FireWire (por ejemplo. ¿Por qué no hacemos una lista blanca con todos los dispositivos USB que tenemos con la ID de fabricante y producto de manera que cuando un atacante enchufe el suyo no funcione? El problema es que podemos fácilmente enmascarar ambos ID. por favor. como un ratón de ordenador o una memoria grande. ratones. tableta. Desgraciadamente el dispositivo simplemente envía un número arbitrario cuando se le pide. Sin embargo.com/hak5darren/ USB-Rubber-Ducky/tree/master/ Firmware [5] Armando Teensy: http://initiate6. esto podría dañar el sistema. teléfono. no podemos sobrevivir sin USB (si queremos usar un teclado y un ratón). el que habíamos enchufado no funcionará. abrir un símbolo del sistema y establecer una terminal inversa para que podamos obtener acceso remoto al sistema. WWW. así que no proporciona una seguridad real. done Hackeo USB Si tenemos un ordenador para uso general. así que no recomiendo hacerlo salvo que no haya otra elección. se pueden engullir todas las contraseñas del almacenamiento de claves en memoria). El más interesante es el teclado. o si tenemos que usarlo. Sin embargo. portátil. están en uso (por ejemplo almacenadas en la memoria). Sin embargo. USB 3. ■ RECURSOS [1] Hackear Macs a través de la interfaz Thunderbolt: http://www.org/episodes/hak5-1006 [4] USB-Rubber-Ducky/Firmware: https://github. Los dispositivos Bluetooth ahora utilizan un razonable protocolo de cifrado seguro. Una vez conectado. Lo verdaderamente mágico de estos dispositivos es que pueden enviar señales de control al sistema. incluso si un atacante enchufa un dispositivo y lo deja. cámara o como lo llamemos).. resulta que podemos meter un concentrador USB y el dispositivo HID en un espacio muy pequeño [2][5]. ¡hay que probarlo antes de confiarnos!). si no que lo hace sin cables. En otras palabras. pero no tiene por qué. seguro que tiene un puerto USB (sea de escritorio. Asegurar el USB Al revés que con FireWire y Thunderbolt. desactivar todos los dispositivos USB y sólo activarlos rápidamente cuando necesitemos conectar un nuevo dispositivo. Bluetooth No nos olvidemos del Bluetooth. nos tenemos que asegurar de que nuestros sistemas están configurados de forma segura. Podemos enviar el dispositivo a alguien como un premio o colocarlo cerca de la mesa de nuestro blanco y esperar a que lo conecte.net/dontstick-that-in-there-hid-human-interface-device/ [3] Hackeando el HID: desde Cero a Pwned en 10 segundos: http://hak5. si posteriormente enchufamos uno y reactivamos los dispositivos USB nuevos. así que estos ataques se usan alguna que otra vez. asegurarnos de que está configurado de manera que requiere la autorización para conectar un dispositivo y que todos los dispositivos son suficientemente modernos como para permitir conexiones seguras.LINUX.securepla. cosas tales como. así que si usamos dispositivos antiguos.MAGAZINE. Para poner las cosas especialmente interesantes. podemos abrir el dispositivo e Conclusión La seguridad física sigue siendo importante. podemos crear un programa o script para ejecutar la orden. parece que incluso cuando desactivamos los dispositivos USB nuevos para que no funcionen. instalar el software almacenado en su interior. La manera más sencilla de enfrentarnos a este tema es desactivar el Bluetooth. O si los combinamos con un dispositivo de almacenamiento.html Otra buena noticia: en todos los sistemas Linux que he probado. el cual nos permite por ejemplo ejecutar aplicaciones. Así que. así que si conectamos un dispositivo en un equipo que esté apagado o suspendido.

sólo dando dos palmadas es algo que a todo el mundo le hace sentir como un niño con un juguete nuevo. Como si fuéramos un niño que intenta llamar la atención como el de la figura 1. Figura 2: Sensor de temperatura RTC genérico. ¿cuánto tiempo vais a invertir? En función de las respuestas a estas preguntas. pero no significa que no sean interesantes.ES . POR LUIS MARTÍN omo diría un famoso personaje de la Warner: “¡Eso es todo amigos!”. Una indicación sencilla y muy visual de la temperatura en nuestro hogar. Sinceramente. Para el primer ejemplo. sois vosotros los que debéis elegir: ¿qué queréis medir o controlar en cada habitación? ¿Cuánto dinero queréis gastar? y lo más importante. Gracias a los conocimientos adquiridos hasta aquí. y a partir de ahora. vamos a plantearnos montar y programar dos ejemplos muy curiosos. Muchas veces las cosas sencillas y curiosas son las que más sorprenden. en nuestro proyecto va a pasar lo mismo. El simple hecho de encender la luz. podríamos realizar ya una domotización casi total de nuestra casa. intenta- remos que. Ahora toca dar los últimos retoques a nuestro hogar electrónico.MAGAZINE. darán un toque original a nuestra casa domótica. en comparación a lo que hemos ido realizando. que como guinda en un pastel. Últimos retoques En estos ejemplos vamos a intentar repasar varios de los conceptos que hemos ido viendo a lo largo de esta serie de artículos. sabréis qué tipo de sistema podéis implementar. Ya se han quedado atrás en nuestra aventura los ejemplos simples de encender un LED o leer el estado de un Sira Anamwong. 56 Número 91 WWW. otra se abre PROYECTO: CASA DOMÓTICA pulsador. el Arduino se “entere” de que queremos que encienda la luz. se trata de dos ejemplos de los más sencillo.LINUX. sentado en el sofá o al entrar en casa. En memoria a esos primeros artículos en los que encendíamos un LED y nos planteábamos ideas tan descabelladas como la de encender la luz dando una palmada.com C Figura 1: Niño pequeño dando palmadas para llamar la atención. en las que nunca se termina una función sin una escena final.HARDWARE • Arduino Cuando una puerta se cierra. con dos simples palmadas. Como las grandes obras de teatro. 123RF. diseñaremos un sistema que cambie de color en función de la temperatura.

ES Número 91 57 . 27 digitalWrite(LuzAzul. // Declaramos la variable pin para encender la luz (LEDrojo) 04 int luzVerde = 10. 34 digitalWrite(luzVerde.HIGH). 15 } 16 17 void loop () { 18 // Medimos la temperatura y en funcion de su valor damos un determinado color 19 valorTemperatura = analogRead(sensorNTC). como el de la figura 2. Para ello utilizaremos un diodo LED RGB. 35 digitalWrite(LuzAzul. // Declaramos la variable pin del sensor de temperatura 03 int luzRojo = 11.OUTPUT). 36 } 37 } WWW.LOW).HIGH).LOW).MAGAZINE.HIGH). Gracias a este componente tan simple podemos generar casi cualquier color. como podéis observar en la figura 5.HIGH). 31 digitalWrite(LuzAzul. Figura 5: Módulo con sensor de audio (micrófono y circuito de adaptación integrado). 13 pinMode(luzVerde. que ya incorpora un sensor de temperatura junto al circuito de adaptación necesario [2].LOW). Una NTC es una resistencia de temperatura negativo. Para ello nos podríamos servir del sensor de temperatura NTC. 20 if(valorTemperatura > 505){ // Bucle 1: hasta 18 ºC --> COLOR AZUL 21 digitalWrite(luzRojo. lo que necesitaremos será una luz de la que podamos controlar su estado.OUTPUT). en función de 3 salidas/entradas digitales.LOW).HIGH). que venía en el Arduino Starter Kit [1] que recomendamos adquirir para los primeros montajes.Arduino • HARDWARE Figura 3: Módulo con sensor de temperatura utilizado para el control cromático. // Declaramos la variable pin para encender la luz (LEDverde) 05 int LuzAzul = 9. que nos permite controlar los colores rojo. Pero utilizaremos otra placa ya ensamblada con un micrófono [4]. Lo bueno de la electrónica es esto. 22 digitalWrite(luzVerde. // Declaramos la variable pin para encender la luz (LEDazul) 06 07 // Variables dinamicas 08 int valorTemperatura = 0. // Variable para el valor de temperatura 09 10 void setup() { 11 // Inicializamos los pines de encendido de la luz como salida 12 pinMode(luzRojo. 14 pinMode(LuzAzul.HIGH). como el que muestra la figura 4. Una vez que hemos medido la temperatura. y no me refiero sólo a su encendido o apagado. Esta característica es la que usamos para la medida de la temperatura por medio de un circuito de divisor resistivo. que tiene todo el circuito integrado.LOW).OUTPUT). Podríamos utilizar un micrófono montándole el circuito de adaptación de audio necesario. 23 digitalWrite(LuzAzul.LINUX. que si necesitas algún tipo de sen- Listado 1: Sensor de Temperatura con Respuesta Cromática 01 // Variables estaticas 02 int sensorNTC = A0. 26 digitalWrite(luzVerde. para así tener una tensión dependiente de la temperatura.HIGH). pudiendo hacer combinaciones de colo- res. menor será su resistencia. simplemente es que la luz la emiten en el mismo punto. Se trata de 3 diodos en uno. 30 digitalWrite(luzVerde. Figura 4: Led RGB utilizado para cambiar de color según la temperatura. Sin embargo. sino al color de la luz que emite. vamos a evitarnos todos estos problemas de circuitería y de operación no lineal e utilizaremos la pequeña y barata placa de la figura 3. Podemos encontrar más información sobre este tipo de diodos y otros muchos en una comparativa de diodos publicada en Cooking-Hacks [3]. Es sencillo y se puede ver como si controláramos los tres diodos de manera independiente. El segundo ejemplo es el montaje ya comentado de encender las luces dando dos palmadas. 32 } else if(valorTemperatura <= 400){ // Bucle 4: más de 27/28 ºC --> COLOR ROJO 33 digitalWrite(luzRojo. al igual que en el primer ejemplo. verde y azul. 24 } else if((valorTemperatura <= 505) && (valorTemperatura > 462)){ // Bucle 2: desde 18 ºC hasta 22/23 ºC --> COLOR VERDE 25 digitalWrite(luzRojo. esto quiere decir que cuanto mayor sea su temperatura. 28 } else if((valorTemperatura <= 462 ) && (valorTemperatura > 400)){ // Bucle 2: desde 22/23 ºC hasta 27/28 ºC --> COLOR NARANJA 29 digitalWrite(luzRojo.

necesitaremos utilizar resistencias para limitar la corriente de cada una de las patillas. es si es de ánodo o cátodo común. Para más información del montaje podemos consultar el siguiente enlace. 35 delay(1000) . Esto nos servirá para saber como encenderlos.HARDWARE • Arduino Figura 7: Esquema para la activación de una lampara por medio de un relé. 21 valorSonido = analogRead(sensorSonido). Eso significa que los 3 leds comparten el lado positivo o el negativo. la luz que encenderemos será un simple diodo. // Variable para el estado de la luz 08 09 void setup() { 10 // Inicializamos el pin de encendido de la luz como salida 11 pinMode(controlLuz. Lo principal a tener en cuenta con respecto al LED RGB. Diseño del Hardware Como hemos elegido el camino fácil.ES . El sensor en sí nos da una señal analógica en función de la temperatura. Como cuando trabajamos con un LED normal.MAGAZINE. 22 // Comprobamos que cesa el primer sonido 23 while((valorSonido<800)&&(valorSonido>300)){ 24 // Comprobamos si hay un nuevo sonido (segunda palmada) 25 valorSonido = analogRead(sensorSonido). por lo que solamente necesita ser alimentado y conectado a una entrada analógica. // Declaramos la variable pin para encender la luz (LED) 04 05 // Variables dinámicas 06 int valorSonido = 0. Listado 2: Sensor de Encendido Mediante Palmas 01 // Variables estáticas 02 int sensorSonido = A0. 30 } 31 else if(estadoLuz==0){ 32 estadoLuz=1. 12 } 13 14 void loop() { 15 // Leemos el valor analógico del sensor y lo almacenanos 16 valorSonido = analogRead(sensorSonido). 26 // Si se detecta cambiamos el estado de la luz en funcion de su estado anterior 27 if((valorSonido>700)||(valorSonido<200)){ 28 if(estadoLuz==1){ 29 estadoLuz=0. sor o circuito.LINUX. seguro que buscando un poco lo encuentras ya en venta. y pensando que son unos sencillos ejem- plos para terminar con el proyecto de nuestra casa domótica. // Declaramos la variable pin del microfono 03 int controlLuz = 13. estadoLuz). El patillaje en nuestro caso es el de la figura 6. En el caso del sensor de temperatura. Figura 6: Patilla del Led RGB. // Variable para el valor de humedad 07 int estadoLuz = 0. En nuestro caso. ya que es algo nuevo para nosotros. Los leds tienen el pin común conectado a 5 voltios y controlaremos con entradas digitales puestas a 0 voltios su encendido. 17 // Si detectamos un sonido importante (palmada) entramos en este bucle 18 if((valorSonido>800)||(valorSonido<200)){ 19 // Esperamos un poco y volvemos a medir 20 delay(300). 33 } 34 digitalWrite(controlLuz. no vamos a tener mucho problema en cuanto a hardware o programación. 36 } 37 } 38 } 39 } 58 Número 91 WWW. lo más complicado será la conexión del diodo LED. OUTPUT). pero podemos controlar cualquier tipo de dispositivo.

.

HARDWARE • Arduino Figura 9: Montaje del ejemplo de control de luces por medio de palFigura 8: Montaje del sensor de temperatura para control cromático. El sensor de audio se conecta igual que el de temperatura. el código del listado 1 únicamente necesita medir la temperatura y en función de ella. El montaje quedaría como en la figura 11. La luz a encender es un simple LED conectado al pin 13. debemos cargarle el código al Arduino.php/shop/sensors/sound/breakout-board-for-electret-microphone.com.cooking-hacks.html [6] Artículo “Centro de control”. del que se ha sacado parte de la documentación [5].cooking-hacks.php/blog/comparative-the-light-emitting-diode-led [4] Placa sensor micrófono: http://www. En las figuras 8 y 9 podemos ver los montajes de cada uno de los ejemplos. En el primer ejemplo. No significa que estos artículos acaben aquí.com/indexa.MAGAZINE. Linux Magazine número 86. pero éste es el momento de recordar todo lo que hemos aprendido y pensar si nos ha servido para alcanzar las Programación Para terminar. pero recordando los conceptos que vimos en el artículo “Centro de control”. Seguramente tengáis mil ideas sobre posibles aplicaciones o temáticas con las que trabajar y ahora es el momento para que las intentéis. no dudéis en escribirme a mi correo: luisantoniomartinnuez @gmail. podemos usar un relé para activar una luz siguiendo el esquema de la figura 7. 60 Número 91 WWW. ya que se trata de una señal analógica dependiente del nivel de ruido.com/index.php/shop/sensors/temperature/grove-temperature-sensor. En el listado 2 tenemos el código del segundo ejemplo. Figura 11: Ejemplo de control de luz funcionando. ¿Y tú qué quieres hacer ahora? Podríamos cerrar este proyecto y artículo con un “Hasta luego”.cooking-hacks. que es algo más complicado. Cuando detectemos las dos palmadas. El rango de variación se puede observar en la figura 10. y de nuevo.com/index. Con el ejemplo de la activación de la luz pasa algo parecido. en función de su estado anterior.html [2] Placa sensor temperatura: http://www.com/index.php/let-s-cook.php/arduino-starter-kit. pág. medir cuando cesa ese ruido. de hecho seguramente continúen con un nuevo proyecto. se enciende la luz o se apaga. combinar los colores para indicarlo de manera visual. una vez que tenemos los dos montajes listos. RECURSOS [1] Arduino Starter Kit: http://www.LINUX.com/index. Únicamente tenéis que enviar un tweet a @LuisMartinNuez junto a vuestras ideas.html [5] Let’s Cook!: http://www. detectar un nuevo ruido. metas que planteamos en los inicios del proyecto. Para ello necesito vuestra ayuda una vez más.cooking-hacks.ES . de Luis Martín. madas.cooking-hacks.html [3] Comparativa diodos LED: http://www. ya que debemos detectar un sonido por encima de un umbral de ruido (en cada situación puede ser distinto ya que depende del ruido ambiente). 58. aunque prefiero dejarlo con un “Hasta donde tú quieras llegar”. Para cualquier otra consulta o sugerencia. No me gustan demasiado los momentos reflexivos. ■ Figura 10: Dependencia del color del LED en función de la temperatura.

Para poner en marcha el Raspberry Pi (o Raspi para abreviar). En enero de 2012 se vendieron en una subasta en línea 10 tarjetas de esta serie beta por un importe de 16. CET. garajes y aulas con el espíritu de la generación que creció con el Atari 400/800. WWW. los servidores web de la fundación y de las dos distribuidoras se bloquearon en pocos minutos por el aluvión de solicitudes. En diciembre de 2011. En la actualidad. pero. nos da una idea de la versatilidad de este pequeño y poderoso mini-ordenador. En 2009. La idea de conseguir que los jóvenes se interesaran por el mini-ordenador ya formaba parte del programa. El objetivo explícito de los fundadores era volver a colonizar los sótanos.MAGAZINE.336 £. Los dos últimos ejemplos muestran a Raspberry Pi como sistema empotrado. aunque en la primavera de 2012 no era extraño un plazo de entrega de unos meses. El 29 de febrero de 2012. Mostraremos algunos ejemplos prácticos de cómo utilizar el Raspberry Pi en un entorno cotidiano. por supuesto. El primer proyecto es un ejemplo de como el sistema de Raspberry Pi sirve para sustituir un ordenador de sobremesa estándar.com La lista de la compra En un principio.LINUX. se debe planear por lo menos 1 amp. los diseñadores habían previsto dos modelos A y B. Muchos clientes esperaron durante horas para realizar una preorden. le siguieron la serie beta de 25 tarjetas. puede que formes parte del público al que va dirigido. a menudo escaso. en la que se acerca al millón de dispositivos adquiridos: ¿qué hace que este proyecto sea tan exitoso? ¿Qué capacidades ofrece a través de su hardware? ¿Qué es posible y qué no es (todavía) posible? Este artículo explora el sistema Raspberry Pi a través de tres proyectos reales: • un sistema multimedia de reproducción de vídeo. facilita la experimentación en sistemas Linux empotrados. el precio (25/35 $). la disponibilidad de un puerto Ethernet y. lo que requerirá uns mínimos conocimientos de programación. sería mejor Explorando el Raspberry Pi a través de proyectos reales Pi E 2 El ordenador Raspberry Pi. sin embargo. a las 7:00 am. 123RF. que se diferencian principalmente en el número de puertos USB (uno o dos). sólo dos distribuidores globales tienen la tarjeta en su catálogo [4] [5]. Lo habitual es que ahora sólo haya que esperar un par de semanas. Tal vez los tres ejemplos nos ayuden a imaginar otros proyectos DIY que se pueden crear con nuestro propio Raspberry Pi. Sirvieron principalmente como plataforma para los desarrolladores. En este momento. Historia En 2006.ES Número 91 61 . ZX80/81 o VIC20/C64. presupuesto del grupo objetivo (véase el cuadro “Historia”). • Una tarjeta SD (HC) con al menos 2 GB de capacidad. sólo está disponible el modelo B. los miembros establecieron oficialmente la Raspberry Pi Foundation. Si te ves a ti mismo recordando los primeros equipos caseros de los 80. que ya se basaban en el diseño de producción. POR WERNER HEIN l ingeniero británico Eben Upton y su equipo de hackers de hardware iniciaron el proyecto Raspberry Pi como un medio para poner tecnología informática al alcance de jóvenes interesados en estos temas [1].000 dispositivos y la situación actual. Los desarrolladores eliminaron los defectos anteriores. Si deseas añadir hardware adicional a través de USB. para la depuración y para fines demostrativos.Proyectos Raspberry Pi • HARDWARE • un punto de acceso inalámbrico y • una unidad empotrada para controlar la temperatura. podemos echar la vista atrás para repasar lo que ha pasado entre la primera serie de aproximadamente 10. Evgeniya Uvarova. alrededor de 50 tarjetas. Casi un año después de que apareciese Raspberry Pi. también. Podéis consultar la Tabla 1 para ver un resumen de los componentes del Raspberry Pi. En agosto de 2011. formado por una única placa del tamaño de una tarjeta de crédito. El objetivo era desarrollar y comercializar un ordenador de una sola placa del tamaño de una tarjeta de crédito y compatible con el. salió de producción la serie alfa. es necesario hacer una lista de los componentes básicos. Eben Upton y su equipo desarrollaron los primeros conceptos para el Raspberry Pi basado en el ATmega de Atmel. Además de la propia placa. se necesitan los siguientes componentes: • Una fuente de alimentación USB de al menos 700 mA. En Internet hay más consejos sobre operaciones avanzadas [2] [3].

está diseñada para OpenVG. que es la utilizada en este taller. el change_timezone. SSH y SSHFS representan la mayor carga para la CPU y la memoria. para cambiar el gía.MAGAZINE. fuente de alimentación USB. 700 MHz como Raspbian que GPU Broadcom VideoCore IV (OpenGL ES 2. En consecuencia. que es una imagen del sis4GB. fue de sólo 3. que está optimizado para los sistemas ligeros. todavía podría ser insuficiente. Los paquetes apropiados. Por último. 62 Número 91 WWW. también necesitarás auriculares o 2GB por el tamaño real de la tarjeta SD. dos recursos del adaptador de corriente ya que. para establecer la zona mejor es el más corto. porque la GPU de la tarjeta está optimizada para decodificar datos de audio y vídeo. 1080p30. si deseamos reproducir vídeo HD con 1080i o 1080p. Dependiendo de lo que pienses tema completo que consta de una partihacer. mientras que el reproductor por si solo acapara el mayor consumo. el software reproduce el vídeo de prueba de alta definición en formato 720p con una pista de audio Dolby Digital 5. pero nada más. pero SSHFS es menos complicado. mientras se renderizaba el vídeo HD. Por otro lado. altavoces. el dor es compatible y elige un diseño delteclado. se instalan como se muestra en el Listado 1. mezclado a dos canales. También hay dos inconvenientes más: la biblioteca de vídeo mencionada anteriormente no es software libre y se deben comprar licencias para los formatos MPEG-2 y VC-1. es importante conectar la unidad de red a través de NFS. NFS ofrece un acceso más rápido a su colección de vídeo. Si planeas escuchar música o ver tamaño del sistema de archivos raíz de vídeos. H.img U WLAN USB es a menudo un factor sigof=SD_card_device_U nificativo en el consumo de energía. Proyecto 1: Reproducción de vídeo Al teclear startx aparecerá el escritorio gráfico LXDE.ES .HARDWARE • Proyectos Raspberry Pi Existe una distribuComponente Tipo ción Linux basada SoC Broadcom BCM2835 (sistema en un chip) en Debian conocida CPU ARM1176JZF-S.LINUX. Tras una breve sacudida de la imagen y el sonido. $ sudo apt-get upgrade Tabla 1: Datos Técnicos de Raspberry Pi Comenzando Podemos iniciar la herramienta de configuración en cualquier momento usando sudo raspi-config. no son de ayuda.0 de a bordo. basta con montar el directorio que contiene los archivos a través de la red. Reproducir un vídeo de alta definición es sin duda la prueba definitiva para el hardware. un teclado y un ratón estás usando un teclado estándar inglés. del uso previsto.0. Listado 1: Configurar el Reproductor de Vamos a comenVídeo zar por descargar $ sudo apt-get sshfs $ sudo adduser pi fuse el archivo de ima$ mkdir myVideos gen Raspbian $ sshfs username@host_name:/directory_name myVideos “Wheezy”. el consumo de energía. Pero en la práctica. se necesita un reproductor que utilice la propia biblioteca de programas de Broadcom (que se encuentra en /opt/vc). de lo contrario. sin embargo. tales como HDMI o Otros elementos útiles del menú son Ethernet. la contraseña es raspberry. por supuesto – sin sobresaltos. un adaptador wheezy-raspbian. Aparece • Teniendo en cuenta el bajo número de entonces el menú de configuración y si no puertos USB. Si es posible. ssh para permitir el de aumentar la salida del driver. asegúrate de que el controlaAhora. surgirán problemas USB. debemos actualizar el sistema El tercer proyecto (un controlador de a la típica manera de Debian: temperatura empotrado) utiliza una tarjeta de expansión que requiere algún hardware $ sudo apt-get update adicional [6]. Los programas Omxplayer. conectando la USB. ción de arranque de 60 MB y un sistema Debido a que el sistema también se de archivos raíz de alrededor de 2 GB. Y eso es todo sobre el espartano Omxplayer. Los reproductores de vídeo habituales. El programa demuestra tener unas capacidades impresionantes para decodificar audio y vídeo.264 codificado/decodificador perfil alto) Raspberry Pi para dar servicio como RAM 256 MByte SDRAM sistema operativo Puertos USB 2 x USB 2. tan pronto como se solicite el inicio de Además de estos elementos. a pesar de la difícil tarea de transmitir a través de la red.1 –. Tienes la opción horaria correcta. Si filename estás considerando el uso de un adaptador USB. es sorprendentemente bajo: la carga media. A continuación. Sin embargo. conectamos la tarjeta SD. • Para el acceso inalámbrico sería práctico $ sudo dd bs = 1M U un adaptador WLAN en forma de stick if=2012-08-16-U USB. En cuanto al cable HDMI. el ratón y el monitor al sistema gado que no bloquee el segundo puerto Raspberry Pi y lo iniciamos. lo inalámbricos son una inversión que mejor es cambiar primero las valores del merece la pena y que también ahorraría menú configure-key-board y change_locale una carga innecesaria sobre los limitapara el teclado y el idioma que prefieras. La funEthernet 1 x 10/100 Mbit/s dación Raspberry Pi SD/MMC 1 x slot recomienda la verAudio 1 x salida estereo analógica sión Raspbian Vídeo 1 x salida compuesta. encuentra en la tarjeta SD. El nombre de usuario por defecto necesitan diferentes cables en función es pi. también se sesión. es aconsejaDescomprimimos el archivo y lo movemos ble elegir una tarjeta con una velocidad a una tarjeta SD con el siguiente comando: de lectura y escritura alta. el único que hace eso es el programa pre-instalado de línea de comandos omxplayer [8]. iniciamos la reproducción con la orden omxplayer . 1 x salida HDMI “Wheezy” [7]. En la actualidad. Los sistemas empotrados El segundo y tercer proyecto emplean Raspberry Pi como un sistema empotrado conectado a una red local. pero acceso seguro a la terminal a través de la también aumentará el consumo de enerred y expand_rootfs. sin teclado.8 vatios.

se encuentra el conector los paquetes de firmware de los stick por el que la placa envía las señales TXD y WLAN más populares. En el primer paso. debemos configurar el reenvío de paquetes entre las dos interfaces. Si se produce un error en la configuración de red. así que conectarse directamente a través de un monitor y un teclado es la única manera de iniciar sesión en el sistema y corregir el error. podemos realizar los mínimos cambios necesarios en la configuración. Por ejemplo.Proyectos Raspberry Pi • HARDWARE Habilitación de la interfaz serie Para equipar al Raspberry Pi con una interfaz serie.MAGAZINE. La configuración se realiza en dos pasos. En este ejemplo. es necesario primero realizar unos cuantos retoques. grama cliente wpa_supplicant. voy a conectar a través de WLAN. simplemente enviamos todo lo que reciba el stick WLAN directamente al puerto LAN. A continuación. modificamos el archivo de configuración /etc/wpa_supplicant/wpa_supplicant. Ahora lo único que queda por hacer es configurar wpa_supplicant para punto de acceso. De esta manera. ya que el acceso a través de la interfaz serie sólo se debe utilizar como una puerta trasera para emergencias. Habrá que consultar los recursos en línea [9] para obtener una lista del hardware compatible. así como el proRXD por una interfaz serie. insertamos la siguiente línea en /etc/default/hostap: DAEMON_CONF=U /etc/hostapd/hostapd. En ese caso. Configuramos el punto de acceso WLAN en tres pasos: primero. Con el comando minicom-s.LINUX. el puerto serie puede ser representado por cualquiera de los archivos de dispositivo /dev/ttySnumber o /dev/tty-USBnumber. hay que tener en cuenta que hostapd no es totalmente compatible con todos los sticks WLAN.5 vatios. Asegúrate de que el software no use el control de flujo de hardware ni control de flujo de software. El comando minicom-o impide que el programa de ejecución presente las secuencias de inicialización en el arranque y se conecta directamente a la consola.conf A continuación.ES Número 91 63 . Para instalar los paquetes. Con un cambiador de nivel. y /etc/network/interfaces. con porcionado por los escaneos con iwlist. se puede modificar al estándar serie RS232. A un consumo de tan sólo 3. El acceso a través de la red con SSH debe ser siempre la primera elección. En tales sistemas. Las señales TXD y RXD del UART del SoC se envían a los pines 8 y 10 de la P1 del conector de dos filas entre la salida de TV y la ranura para tarjeta SD (Figura 1). El siguiente paso en la construcción del sistema empotrado es la creación de una conexión de red. como se muestra en el Listado 3. haríamos bien en activar la interfaz serie (véase el cuadro titulado “Habilitación de la interfaz serie “).3 voltios. el IC MAX3232CP. En una red con un servidor DHCP en el router. en el segundo paso. conectamos el hardware y buscamos la correspondiente reacción del kernel en el syslog.conf. se configura el acceso directo WLAN con el demonio hostapd. por ejemplo. como se muestra en el Listado 2. Por tanto. Para ver si el stick WLAN está activo. pero con acceso a través de LAN/WLAN. La velocidad de datos (115200 bps) y el formato de datos (8N1) están predefinidos. Proyecto 2: Punto de acceso Raspberry Pi también puede servir como un punto de acceso por si mismo (figura 2). es necesario teclear: $ sudo apt-get installU hostapd bridge-utils ratón o monitor. iniciamos la conexión con sudo ifup wlan0. las señales se encuentran todavía con un nivel de E/S de la SoC a 3. podemos utilizar. podemos aumentar el alcance de una red inalámbrica existente. Sin embargo. Para ello. continuación. Como programa de terminal se puede utilizar Minicom en el PC. añadimos el contenido del listado 4 en el archivo /etc/hostapd/hos- Listado 2: Modificar el archivo de Configuración ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 network={ ssid=”(E)SSID” scan_ssid=1 proto=WPA (or RSN for WPA2) key_mgmt=WPA-PSK pairwise=TKIP (or CCMP) group=TKIP (or CCMP) psk=”key” } WWW. Es por eso que esta configuración se denomina “modo puente”. se pueden leer los mensajes de inicio a través de una terminal conectada al puerto serie. como una especie de puente. Finalmente. Sin embargo. no se podrá acceder al sistema a través de SSH. La instalación Figura 1: Entre la salida de TV y la ranura predeterminada de Raspbian ya contiene para la tarjeta SD. encontraremos los datos esenciales en el informe proFigura 2: El Raspberry Pi funcionando como punto de acceso.

así como dos resistencias en pullup de 10k para el bus I2C. A temperaturas superiores de 25 graEl chip de 16-pines es el transceptor serie RS232 MAX-3232CPE. son elementos básicos. ssid=(E)SSID el BC237) como con- Listado 6: Iniciar el Punto de Acceso $ sudo service hostapd start $ sudo brctl addbr myBridge $ sudo brctl addif myBridge eth0 $ sudo brctl addif myBridge wlan0 $ sudo ifconfig myBridge up trolador.255 Proyecto 3: Controlador de temperatura Además de servir como un punto de acceso flexible. primero tendremos que instalar las herramientas correspondientes y establecer permisos de grupo: $ sudo apt-get install i2c-tools $ sudo addgroup pi i2c Las direcciones en las que se encuentran los módulos están indicadas por los valores encontrados en la salida devuelta por 64 Número 91 WWW. Para poder realizar transacciones en el bus I2C como un usuario normal.función del valor. cada rsn_pairwise=CCMP uno con una resiswpa_passphrase=password interface=wlan0 tencia en serie de hw_mode=g 22Ω y un transistor channel=11 # a free or weak channel NPN (por ejemplo. además de auto wlan0 iface wlan0 inet dhcp cuatro condensadowpa-conf /etc/wpa_supplicant/wpa_supplicant. Puede habilitar el bus I2C mediante la instalación de los dos controladores i2c-bcm2708 y i2c-dev.d/raspi-blacklist. se enciende el LED ejemplo de configuración para el archivo verde. el contapd. Además. pero sólo uno de los dos está disponible en el conector de doble hilera (P1-03 y P1-05). El cableado es simple y puede obtener una plantilla de referencia en la Web.1 netmask 255.conf res electrolíticos de 0. El bus se activa una vez que el sistema se ha reiniciado. se trol de temperatura. rsn_preauth_interfaces=wlan0 rojo y verde. cable de cinta plana y los condensadores de desacoplamiento. como por ejemplo una placa.255. El popular módulo LM75 sirve como sensor de temperatura y está conectado al bus I2C.conf. el controlador podría realizar entre los puntos de acceso WLAN y el alguna otra acción más.HARDWARE • Proyectos Raspberry Pi fue de entre 3.visualmente con dos dos. En realidad. el único con el bus-ID 0. en vez de de energía para un cliente WLAN o punto encender solamente un LED. Listado 5: Interfaces de red auto wlan0 iface wlan0 inet static address 192. La máquina controla los dos LED a través de dos pines GPIO y una etapa de transistor. como encender la volumen de datos transferido. ambas interfaces estaban activas. a menos de para que se ajuste al entorno local. El Listado 6 muestra cómo inisupuesto. ejecutamos la orden modprobe i2c-bcm2708 I2C-dev.conf para la interfaz serie ctrl_interface=/var/run/hostapd (UART).0 broadcast 192. dos centígrados. este proyecto solamente preciar el punto de acceso y el puente de red.5 y 4 vatios. se rsn_preauth=1 necesitan dos LEDs. El IC LM75 sobresale de la placa del sensor de cuatro cables. LED. Por Listado 5. que crea la interfaz de dispositivo en el directorio /dev/etc/modules.255.47mF. Otros materiales. eliminamos el controlador i2c-bcm2708 de la lista de controladores que no se deben cargar en /etc/modprobe.128. cuya salida se encuentra también en el syslog.MAGAZINE. Para ello.8 vatios. en Figura 3: El Raspberry Pi con una tarjeta de expansión como con.LINUX.3 y 3. si es necesario.128.9 vatios. regleta de alimentación. el SOC tiene dos interfaces master en el bus I2C. modificándolo trolador enciende el LED rojo.168.ES .168. La unidad de control de temperatura mientras que en la operación LAN. Especificamos el controlador i2c-dev.conf. Dependiendo de la distancia mundo real. La luz verde de la tarjeta de expansión con. el conrequiere algo de hardware adicional.señala el resultado firma que la temperatura está por debajo de 22 grados centígra. de acceso fluctúa entre 3. junto con ctrl_interface_group=0 driver=nl80211 # according to driver support un conector sub-D macaddr_acl=0 de nueve pines o un auth_algs=3 zócalo para montaje ignore_broadcast_ssid=0 en PCB y un cable de wpa=2 # for WPA2 with PSK wpa_key_mgmt=WPA-PSK interfaz. En el siguiente ejemplo se toman mediciones cíclicas de la temperatura ambiente y. Ambas luces se encienden si el /etc/network/interfaces se encuentra en el valor está entre las dos (Figura 3). Si ocupa una tarjeta de expansión aparte. que sumo fue de alrededor de 2. En una verdadera aplicación del es menor. Para activar el bus sin necesidad de reiniciar. Un 22 grados centígrados. el consumo calefacción o cerrar las cortinas. Raspberry Pi también es excelente para el control de procesos sencillos. tende ser un experimento como prueba de El consumo de energía operando la LAN concepto. como un transmisor-receptor Listado 4: Añadir a hostapd. el valor Necesitaremos los siguientes componentes: el IC LM75 como sensor de temperaListado 3: Modificar /etc/network/ tura y el IC MAXinterfaces 3232CPE.

el Raspi fue concebido como un PC de bajo consumo para aplicaciones multimedia y está claramente destinado a ser utilizado como un sistema empotrado. temp_lob = bus.value = 1 25 else: 26 redLED.Out)) as greenLED.rs-online.com/ http://www. \ 13 i2c. visita: http://elinux. o para el control de las tareas en proyectos que no exijan demasiada potencia.i2c as i2c 03 import time 04 from quick2wire.git $ git clone uno de los dos https://github. en concordancia.org/RPi_Hardware_ Basic_Setup#Typical_Hardware_You _Will_Need [3] Más ayuda eligiendo hardware: http://elinux.newark. Pin. Después del arranque. la salida contendrá exactamente un la segunda nomenclatura. Tendremos que valor en el rango hexadecimal de 0x48 a proporcionar la secuencia de comandos 0x4f. Pin.org/ [2] Guía de compras de Hardware: http://elinux. Los desarrolladores han logrado su objetivo original de hacer tangible la tecnología informática para las personas interesadas y en especial. ■ RECURSOS [1] Raspberry Pi: http://www.reading(busaddress. El Listado 7 muestra la instalación de los paquetes y bibliotecas. Los LED $ sudo python3 setup. ya que existen bibliotecas de clases para la Raspberry Pi para acceder al bus I2C y los pines GPIO.01f” % temp) 29 redLED.gpio import Pin.value = 1 28 print (“%02.Out) 10 11 with exported(Pin(16. 2))[0] 18 temp = (temp_hib << 1 | temp_lob >> 7) / 2.org/RaspberryPiBoard [7] Raspbian “Wheezy”: http://www.git LED.value = 1 21 greenLED.Out) 09 greenLED = Pin(18.epitest. debes comenzar con el escritorio para pasar gradualmente a la línea de comandos.com/quick2wire/ quick2wire-python-api [11] GPIO Admin: https://github. El hardware es ideal para su uso como servidor u ordenador de control de procesos. de acuerdo con el conector. $ cd quick2wire-gpio-admin Las denomi$ make naciones para $ sudo make install $ sudo adduser pi gpio los diferentes $ virtualenv TEMPCONTROL pines GPIO $ source TEMPCONTROL/bin/activate son algo confu$ cd quick2wire-python-api sas.com/ http://www. \ 12 exported(Pin(18.sleep(5) WWW.org/ [8] Reproductor de audio/video Omxplayer: https://github.com/huceke/ omxplayer [9] Hostapd: http://hostap. alliedelec.transaction( 16 i2c. Si utilizar la terminal te parece demasiado extraño y enigmático. para los jóvenes. 19 if temp > 25: 20 redLED. 17 i2c.com/ [6] Para respuestas a preguntas. El programa en sí es muy simple (Listado 8): se lee el valor del sensor (línea 15) en un ciclo de cinco segundos y convierte la lectura del sensor en el valor de la temperatura (línea 16). Conclusiones Evidentemente Raspberry Pi no es un equipo de sobremesa. exported 05 06 busaddr = 0x48 07 regaddr = 0x00 08 redLED = Pin(16.value = 1 27 greenLED.Proyectos Raspberry Pi • HARDWARE Entonces.writing_bytes(busaddr. Desde su concepción.farnell.raspbian.)/Allied Electronics (Norteamérica): http://uk.value = 0 31 time. Después leemos la palabra de 2 bytes con los permisos necesarios para su ejecucon la temperatura del LM75 en el registro ción. $ sudo apt-get install el programa git python3 python-pip python-virtualenv enciende o $ git clone apaga cada https://github.MAGAZINE.U.raspberrypi.ES Número 91 65 .com/quick2wire/quick2wire-python-api. Pin.Out)) as redLED.py install rojo y verde son GPIO23/GPIO24. La configuración per- Listado 8: Programa Controlador 01 01 #!/usr/bin/env python3 02 import quick2wire.value = 0 30 greenLED.com/quick2wire/quick2wire-gpio-admin. Este ejemplo utiliza dos bibliotecas [10] [11].fi/hostapd [10] API Python Quick2Wire: https://github. regaddr).value = 0 22 elif temp < 22: 23 redLED.I2CMaster() as bus: 14 while True: 15 temp_hib. Sin tado los tres pines de direccionamiento del embargo.LINUX.org/ RPi_VerifiedPeripherals [4] Farnell element14 (Europa)/Newark element14 (Norteamérica): http://uk. pero también están conectados a i2cdetect -y 0 P1-16/P1-18. La primera designación corresponde a la documentación de Dependiendo de cómo hayamos conecBCM2835 y los valores del núcleo. la salida dará direccionando 0 con el comando: continuamente por consola los valores $ I2cget -y 0 I2C bus_address U medidos con cada actualización de los register_address w LEDs.com/quick2wire/ quick2wire-gpio-admin La hoja de datos del módulo será de gran ayuda para convertir el críptico valor devuelto (por ejemplo: 0x8015) a la temperatura correspondiente.com/ [5] RS Components (R.value = 0 24 greenLED. Una distribución especializada de Linux ayudará a los principiantes a que sus primeros pasos sean más fáciles. las bibliotecas de Python siguen LM75. Listado 7: Paquetes y Librerías Python mite conectar los periféricos necesarios y el conector casi suplica que juntes características adicionales para adaptarse a tus propias necesidades. Python es un entorno de software adecuado para el controlador. Pin.

También colabora frecuentemente con varias revistas profesionales. Ejecutamos Byobu directamente en Bash escribiendo byobu. En un sistema ejecutando Linux S Mint 12. Si nos gusta el nuevo entorno y queremos que se inicie automáticamente al iniciar sesión. la herramienta Linux del mismo nombre [1] no es decorativa. 66 Número 91 WWW. Está en el Board of Directors de la Document Foundation. es similar a su homóloga del Lejano Oriente. encontrarán Byobu especialmente útil. i buscamos en Wikipedia “Byobu”. pero en términos de versatilidad y conveniencia. Previamente trabajó en el proyecto OpenOffice.LINUX. Los administradores que han de usar SHH a menudo. para instalar el paquete sólo tenemos que hacer: sudo apt-get install byobu EL AUTOR Dependiendo de la distribución. por ejemplo. el administrador de ventanas a pantalla completa de Linux Byobu. ya se encuentra incluido en la mayoría de las distribuciones. POR FLORIAN EFFENBERGER Florian Effenberger ha sido un evangelista del código abierto y libre durante muchos años. Byobu se inicia automáticamente o bien mediante petición.ES .org durante siete años y más recientemente como Marketing Proyect Lead. o la organización de programas en pestañas.MAGAZINE. sin embargo.LINUX USER • Byobu Byobu. tales como la división de pantalla. ejecución de programas en el fondo. un administrador de sesiones para la línea de comandos Instalador de Ventanas El administrador de sesiones Byobu extiende la shell. Diseñado para suplementar a Screen. Esto ocurre por ejemplo en el caso de Linux Mint. añadiéndole un abanico de funcionalidades útiles. nos encontraremos con un artículo sobre biombos japoneses.

Las entradas están necesaria para reiniciar (con (R)) y las accedemos pulsando F9 o bien ininumeradas en orden ascendente y pueactualizaciones de paquetes den ser renombradas para mantener las disponibles (11!). De manera alternafinal es un recordatorio del menú de conexión WLAN (54Mbps. podemos personalizarlos navegar a la izquierda o derecha a tratransfiriendo un gran volumen de datos. mente. Figura 2). se En la parte derecha podemos ver el muestra el porcentaje de nombre de usuarios actuales (floeff). en sistemas basados en Debian podemos hacerlo editando la configuración con: sudo dpkg-reconfigure byobu Si algunos usuarios no están contentos con el programa. esta información hora actual. el cual podemos abrir 1) también está. las pestañas en un navegador. Byobu se muestra siempre que iniciamos mos refrescar la herramienta manuallista las sesiones individuales. Figura 2) y Indiferentemente de cómo arranquede un logo estilizado que la representa. entonces podemos simplemente deshabilitarlo individualmente creando un fichero vacío con: touch ~/. Byobu nos byobu-disable habilitan y deshabilitan pulsando F9 – aunque trataremos más da más detalles sobre la carga en el byobu. El la velocidad y calidad de la fácilmente personalizables.24. Byobu sólo muestra campos adicionales.MAGAZINE.0. Y por ello también zará automáticamente.04 en la Figura 2). el carga de la batería. La información de Figura 3: La apariencia y el comportamiento de Byobu son y su dirección IP (192.byobu/U disable-autolaunch Figura 1: De manera predeterminada. En la de usuarios actualmente Figura 1. iotop conectados (1 #. 91%.6GHz. mencionado anteriormente (byobu-config o F9). pero si deseala primera línea y a la izquierda.ES Número 91 67 .profile en nuestro directorio de inicio. las herramientas byobu-enable y configuración. detalles de la RAM disponible y su uso mos Byobu. EvidenLos elementos mencionados aquí no se abre una nueva ventana y podemos temente. fácilmente en el menú de configuración vés de las entradas disponibles pulLo mismo se aplica a la información citado previamente (Figura 3). ver nombre del sistema actual (floeffbook) Figura 1). Byobu muestra varios mensajes de estado.0GB. Si Byobu nos llegara a impresionar tanto como para hacerlo el estándar para todos los usuarios. htop. y lynx son los de los programas activos el tiempo de conexión del en cada pestaña. los nombres shell.Byobu • LINUX USER podemos editar la entrada correspondiente en byobu-config o en el menú de configuración pulsando F9 para modificar el fichero . WWW. Si utilizamos muchas sistema (113d22h. La segunda líneas en la parte inferior de la pantalla exacta de nuestro software en Ubuntu línea de estado acaba con la fecha y en las que se resume la información del (11. Si no es el caso. el programa muestra dos A pesar de que podemos ver la versión (2. al cual sando F3 y F4. Figura 2) conexiones SSH a servidores remotos. Pulsando F2 (^552kbps v496kbps. acerca de esto un poco más adelante. Esta información se actualisistema más importante (Figura 1). y el estado de la batería disprobablemente desearemos introducir ponible (| = | significa caraquí los nombres de los servidores. Figura tiva. Finalmente. En la segunda línea Byobu muestra la número de núcleos de la CPU y su veloUna Ventana con Vistas distribución Linux actual a la derecha cidad actual (16x1. Figura 1). 18%. o usar el menú de configuración Figura 2: Dependiendo del sistema y de sus estados. El número cosas ordenadas pulsando F8. similar a sesión. Figura 1). pulsamos F8. esto sólo aparece si se está son estáticos. momento actual (0.168.11). Aquí vemos una sesión SSH a un Mac.LINUX. En el La información de la transferencia de Adaptable arranque inicia una única instancia con los datos actuales es más interesante el nombre del shell actual. Figura 1). En falta en Linux Mint. gada.

sabrás exactamente de lo que estoy hablando. Byobu se cuida de hacer el mejor uso del espacio disponible. La mejor manera de mover Byobu al fondo es pulsando F6. esto no es un problema.ES . Además de mostrar la información de estado. Escaparate 68 Número 91 WWW. A pesar de que no podemos cambiar la posición exacta de los elementos individuales. para a continuación pulsar Mayús + F2 y verlas cara a cara horizontalmente o pulsamos Ctrl + F2 para disponerlas verticalmente (Figura 5). Si queremos eliminar la información del estado en la segunda fila (aunque también es personalizable). Byobu también es la herradesde una mala conexión a Internet (por ejemplo. Con Byobu. esto es igualmente posible con Screen. Si cargamos mutt para el procesamiento de correo y htop para mostrar la carga del sistema en cada registro. simplemente deshabilitamos la línea con byobu-quiet. dividiéndolas tanto horizontal como verticalmente. podemos eliminar esos detalles. Si alguna vez has perdido la conexión durante una actualización.LINUX. simplemente los añadimos en el menú de configuración. aparte de alinear las ventanas en pestañas una al lado de la otra. Para volver a situar el contenido de cada una en su propia pestaña. Byobu los abre automáticamente al inicio. Byobu tiene la inestimable ventaja de automáticaFigura 5: Gracias a la funcionalidad de división de la pantalla. Además del esquema de color para la línea de estado. por ejemplo. teóricamente. con una conexión desde el móvil). una funcionalidad muy útil en Byobu es la posibilidad de ejecutar programas en el fondo. abrimos dos sesiones. En algunos sistemas. La posibilidad de crear nuevas sesiones es también útil. los atajos de teclado y teclas de función no mapean perfectamente porque el sistema operativo llama a su propia función Exposé cuando pulsamos F8. pulsamos Shift + F4 y Shift + F3. Si toda esa información de Byobu nos pone de los nervios. pero la actualización no ha acabado al final del día. Para mostrar la información de nuevo. ahorrar un poco de espacio y usarlo. porque la sesión continúa ejecutándose (Detached Mode) y podemos conectarnos a ella en cualquier momento. pulsamos Shift + F5. Para cambiar entre ventanas divididas. mienta perfecta porque. Esta función es la solución ideal para ver iotop y htop uno al lado del otro o para abrir dos ventanas de editor de textos en paralelo. las cuales también podemos abrir pulsando Ctrl+A. para mostrar la temperatura de la CPU y la velocidad del disco duro. De ahora en adelante. múltiples programas. numerosas notificaciones de estado presenSi necesitamos más información de un Otro ejemplo sería intentar actualizar tan información sobre el sistema. Por ejemplo. si deseamos iniciar una actualización completa de sistema en la oficina vía SSH.MAGAZINE. cerrando el terminal terminaría inevitablemente el proceso de actualización y podría dejar el A Tiempo Parcial Figura 4: Podemos seleccionar cuáles de las sistema en un estado inconsistente. también ofrece un modo Pantalla Partida. evitándonos la molestia de crear estas sesiones cada vez. Mac OS X. si sabemos qué distribución usamos y siempre tenemos un reloj a la vista. vistazo. Por ejemplo. El menú de configuración (F9) nos permite usar las secuencias de escape. podemos tener todo a la vista cuando ejecutamos iniciarse mente con cada sesión. escribimos byobu-quiet --undo. Aunque. definimos su contenido (véase la Figura 4). pero cerrando la ventana también funciona. la desactivamos con byobu-silent o la reactivamos con byobu-silent -undo. Para partir la pantalla. entre otros.LINUX USER • Byobu ciando el programa separado byobu-config.

porque la sesión se encuentra disponible para todas las sesiones de usuario. Además de las funcionalidades mencionadas aquí.html [3] Página man de screen: http://manpages. Si todos nuestros usuarios se registran con la misma cuenta de usuario. Conclusiones Byobu es una aplicación muy práctica para quienes trabajen habitualmente desde la consola. Para buscar hacia atrás.net/byobu [2] Página man de Byobu: http://manpages. Espejito Byobu también es útil si trabajamos en múltiples dispositivos al mismo tiempo. la selección de diferentes back ends para programas. Si deseas ahondar más profundamente en el tema. Para buscar hacia adelante desde la posición del cursor actual.html . ofrece a los usuarios avanzados más posibilidades. Esto posibilita la colaboración simultánea de equipos de trabajo en una sesión. Incluso si la conexión se ha perdido durante un rato.ubuntu. podemos acceder a la ventana del editor de nuestro equipo de sobremesa desde nuestro portátil abriendo Byobu e iniciando sesión en el portátil. Para evitar perdernos en un historial extenso. Pulsando F7 en cualquier momento se le dice a la herramienta que congele el contenido de la pantalla actual (sin salir del programa actual). pulsamos /. ?. Después de desplazarnos arriba y abajo y de examinar el historial. recomendamos consultar la página man [2] y la guía para Screen [3].com/manpages/precise/en/ man1/screen. tales como la personalización de indicadores de estado mediante un fichero de configuración. podemos navegar entre las coinciendencias. ofreciendo a los principiantes una herramienta de enseñanza ideal. podemos usar la función de búsqueda integrada. La herramienta también soporta listas de ventanas pre-escogidas a las que se puede acceder directamente. Introduciendo N. A continuación podemos desplazarnos por la pantalla con las teclas de flecha o revisar el historial página a página pulsando las teclas Re Pág y Av Pág. no debe preocuparnos no recibir los mensajes importantes: Byobu posee un historial integrado. pueden seguir los pasos en directo para comprender mejor lo que está pasando. copiado de contenido del historial al portapapeles y la programación de nuestros propios indicadores de estado. Espejito. La pantalla está sincronizada en ambos sistemas y la entrada del teclado también es posible desde ambos.ubuntu.1. podemos volver a la sesión actual pulsando Esc.1.mientras que podemos olvidarnos de iniciar Screen precisamente cuando lo necesitamos.com/manpages/precise/en/ man1/byobu. ■ RECURSOS [1] Byobu: https://launchpad. Por ejemplo.

alemanes y rusos.LINUX. para hacer incluso más fácil la gestión de ficheros en nuestro serviDmitri Popov ha estado escribiendo exclusivamente sobre Linux y software de código abierto durante años.wordpress. norteamericanos. hay que ir a AjaXplorer y autentificarse utilizando el nombre de usuario y contraseña por defecto (admin/admin). Esta herramienta nos permite trabajar con ficheros desde cualquier navegador web e incluye una genuina colección de características muy útiles.0.MAGAZINE.LINUX USER • Workspace: AjaXplorer dor.0. renombrar el directorio resultante (p. incluyendo FTP.ES . deberíamos cambiar la contraseña por defecto del administrador para asegurar nuestra instalación de AjaXplorer. Dmitri es un ávido aficionado a la fotografía y escribe sobre herramientas de código abierto para la fotografía en su blog scribblesandsnaps. Si todo parece correcto. Malabares con Ficheros Accede y gestiona archivos y documentos en tu servidor de ficheros o en un servidor remoto desde la comodidad de tu navegador o dispositivo Android.1/ajaxplorer (reemplazando 127. hay que asegurarse de que el directorio ajaxplorer/data tiene permisos de escritura por el servidor. A continuación. ejecutando el siguiente comando: chown -R www-data:www-data U /ajaxplorer/data Gestiona archivos en tu servidor web Apache. ajaxplorer) y moverlo a la carpeta raíz de nuestro servidor web. Sus artículos han aparecido en revistas y sitios web daneses.0.1. hay que obtener la última versión de AjaXplorer desde el sitio web del proyecto. Sin embargo. los servidores de archivos son muy comunes y es por una buena razón. Desplegar AjaXplorer Para comenzar. británicos. Una vez que estamos autentificados. descomprimir el fichero descargado.1 con la dirección IP actual o con el nombre de dominio de nuestro servidor) se ejecutará automáticamente AjaXplorer Diagnostic Tool. POR DIMITRI POPOV n estos momentos. El proceso de instalación consiste en varios pasos relativamente sencillos. que comprobará la instalación buscando problemas potenciales (Figura 1). 70 Número 91 WWW. podemos considerar desplegar el gestor de ficheros AjaXplorer.0. Samba y SSH. E EL AUTOR Figura 1: La herramienta de diagnóstico incluida comprueba la instalación de AjaXplorer. La posibilidad de acceder a ficheros importantes y documentos desde cualquier parte o compartirlos con otros usuarios.com. se ha convertido en una necesidad para la mayoría de nosotros.ej. basado en la web. Un servidor de archivos basado en Linux nos puede permitir acceder a ficheros y documentos a través de una gran variedad de protocolos. AjaXplorer puede ser instalado en cualquier máquina ejecutándose el servidor web Apache y PHP 5.. Apuntando nuestro navegador web a http:// 127.

mos no permitir al usuario crear directorios cambiar a la sección Repositories & Users | y cambiar contraseñas. hay que campo. admin. Esta es una funcionalidad bastante especificar la información requerida y pulútil. podremos añadir a los usuarios que rer puede ser algo engorroso.xml. El siguiente paso Figura 4: Asignando roles a usuarios. Si queremos Incluso si planeamos utilizar AjaXplorer hacer ese rol por defecto para los nuevos como una solución para un único usuario. quizás necesitemos gins. WWW. podemos especificar varios niveles de acceso (o roles.visitante. En el campo de para el acceso sin privilegios al sistema. Figura 3: Definiendo roles. tenemos Roles. dar un nombre al nuevo rol (p. asignar los roles creados a los usuarios de AjaXplorer.fs es responsable de invitados acceso de sólo lectura a ciertos todas las operaciones de gestión de archivos repositorios específicos y dar permisos de y podemos encontrar la lista de las acciones escritura-lectura a otros usuarios. podeAntes de comenzar a utilizar AjaXplorer. usuarios. Cada plugin viene con un fichero XML establecer diferentes permisos de acceso que lista todas las acciones soportadas. Por ejemplo. Siguiendo estos acciones específicas soportadas por AjaXplopasos. etc. Hay que presionar el botón de New Role en la barra de herramientas principal. Por para ciertos usuarios.ej. la nueva contraseña. aunque configurar los nombres de las sar el botón OK (Figura 2). el plugin access. mos especificar los permisos de acceso para quizá queramos rellenarlo con usuarios. Hay dos cosas que plorer entra en escena. La mayoría de funcionalidades de AjaXCuando se utiliza AjaXplorer en un plorer están implementadas mediante pluentorno multi-usuario. hay que car una lista de acciones específicas que seleccionar Settings desde el desplegable queramos desactivar. En el cuadro de diálogo (Figura 3).LINUX. Manual actions filtering. hacen difícil encontrar el nombre de la En la sección de Repositories & Users | acción que necesitamos. podemos especifiPara añadir un nuevo usuario. en la terminología de AjaXplorer) y a continuación. Presionando el botón New User en la las acciones mkdir.Workspace: AjaXplorer • LINUX USER Figura 2: Añadiendo un usuario a AjaXplorer.) y presionar OK. Aquí es soportadas en el fichero ajaxplorer/plugins/ donde la funcionalidad de perfiles de AjaXaccess.fs/fsActions. cada repositorio existente. dar a los ejemplo.pass_change en el barra de herramientas principal. hay que marcar Apply this role by sigue siendo buena idea el crear una cuenta default to all new users. si querecon todos los repositorios y a continuación. Primero. hay que seleccionar Change sería pulsar el botón derecho del ratón en Password desde la lista Logged y especificar añadir rol y elegir Edit. necesitemos. hay que introducir Users.MAGAZINE.ES Número 91 71 . Por ejemplo. Establecer un rol es bastante sencillo. Para hacer esto.

ly (Figura 6). Para hacer esto. correo electrónico. La mayoría de los plugins están activados por defecto. proporciona controladores para Samba. podemos crear un repositorio FTP que nos permita acceder y gestionar ficheros y directorios almacenados en un servidor FTP remoto. El siguiente paso que podríamos hacer es establecer los repositorios. FTP Si tenemos problemas a la hora de averiguarvía SSH y WebDAV. clic en el botón derecho en el elemento Bit. las. Pero eso no es todo. Esta característica no está activada por defecto. desde la sección Repositories & Users | Repositories en el módulo Settings. la opción más segura es enviar nuestra Gracias a los controladores de MySQL y de pregunta al foro de soporte del proyecto. AjaXplorer proporciona controladores que pueden ser utiliFigura 5: AjaXplorer puede crear repositorios de varias fuentes. hay que hacer clic con el mente y acceder a correos mediante POP e botón derecho en el usuario deseado en la IMAP. activar el plugin y proporcionar tu usuario y API key de Bit. hay que seleccionar el elemento WebDAV Preferences desde el desplegable Logged. hay que seleccionar el plugin Shorten. Además de FTP. sino también como un cliente roles específicos del panel Available Roles al gráfico de MySQL y como un cliente de panel User Roles (Figura 4). Nuestra instalación de AjaXplorer ya está lista para funcionar. podemos especificar accesos más granulares Configurar un repositorio en AjaXplorer no es particularmente difícil. hasta editar ficheros de texto. De una forma similar. En la sección Main Options. especificar un alias (p. correos. Por ejemplo.MAGAZINE.LINUX. Desde reproducir ficheros multimedia y retocar imágenes para ver los meta datos Exif. especificar una contraseña y anotar las URLs para acceder a los repositorios AjaXplorer. podemos activar el plugin Bit. En otras palabras. AjaXplorer viene con una gran colección de plugins que ofrecen una funcionalidad muy útil. activar WebDAV. La aplicación trae una herramienta flexible 72 Número 91 WWW. expandir la subsección WebDAV Server y activar WebDAV (Figura 7).ly URL Shortener. AjaXplorer nombres de las acciones que podemos hacer. cambiar a Access Control y mover los de archivos.ES . Finalmente. mysql-repo) en la sección Repository Slug.ej. Podemos dejar el resto de opciones por defecto. con lo que ya estaría listo. AjaXplorer soporta el protocolo WebDAV. los nas remotas.ly URL Shortener. elegir Edit. darle un nombre al repositorio y seleccionar el elemento Mysql Database desde el desplegable Repository Driver (Figura 5). AjaXplorer es realmente fácil de utilizar. aunque quizás queramos activar y configurar una característica más antes de empezar a utilizar el gestor de ficheros. elegir AjaXplorer no simplemente como un gestor Edit. Este acercamiento implica que podemos utilizar AjaXplorer como agregador de ficheros que Figura 6: Activando un plugin en AjaXplorer. Segundo. necesitaremos activar esta funcionalidad para cada usuario individualmente. copiar y borrar ficheros y directorios. Simplemente hay que presionar OK para activar el plugin. un repositorio apunta a un sistema de archivos local separado. pero podemos hacerlo fácilmente en la sección Global Configurations | Core Configs del módulo Settings. aunque podemos fácilmente desactivar y activar plugins inactivos desde la sección Global Configurations | Plugins desde el módulo Settings. Los botones en la barra de herramientas principal nos dan un rápido acceso a las tareas más comunes. nos de acceso a datos almacenados en máquique saber qué plugin buscar. la información reque- rida para la conexión a la base de datos y especificar los derechos de acceso en la sección de Repository Commons. podemos utilizar sección Repositories & Users | Users. Para ello. si queremos que AjaXplorer genere URLs cortas para compartir ficheros. podemos utilizar AjaXplorer para Para asignar uno o varios roles a los usuagestionar bases de datos de MySQL remotarios existentes. Utilizando AjaXplorer Gracias a su interfaz no intrusiva y amigable. que permite a los usuarios montar repositorios de AjaXplorer como unidades en la red local. Una vez que hemos activado WebDAV globalmente. renombrar. torios desde otras fuentes. podemos configurar otros tipos de repositorios. como mover. Para hacerlo. En la mayoría de los casos. hay que pulsar en el botón New Repository en la barra de herramientas principal. Para crear un repositorio de MySQL. botón derecho en el ratón en el elemento AjaXplorer Core. Adicionalmente. zados para crear reposiincluyendo bases de datos MySQL. Por ejemplo.LINUX USER • Workspace: AjaXplorer a repositorios específicos. Desde aquí. hay que indicar Figura 7: Activando la funcionalidad WebDAV..

Con la acción Compress.ajaxplorer. En la ventana de diálogo para ros seleccionados actualmente. acción Open nos permite ver o editar el Para generar un enlace al fichero compartido. El gestor de archivos puede incluso comHaciendo clic en el botón derecho en cualpartir ficheros y documentos fácilmente con quier fichero de un repositorio aparece un otros usuarios. Todo esto hace que sea una herramienta decente para editar ficheros de forma ligera sin tener que descargarlos primero. Adicionalmente. Figura 11: La app AjaXplorer de Android permite acceder a nuestros ficheros y documentos cuando estamos en movimiento. AjaXplorer debería estar en lo más alto de la lista. algo que compartir (Figura 10). la aplicación se integra adecuade archivos. En resumen.Workspace: AjaXplorer • LINUX USER fichero seleccionado en una aplicación externa o en la que trae por defecto. con lo que podemos ver y editar ficheros directamente desde el gestor. ■ RECURSOS [1] AjaXplorer: http://ajaxplorer.previsualización de imágenes e incluso para ejecos en el editor de imágenes Pixlr. AjaXplorer trae además un visor de imágenes integrado que puede ser utilizado para una Figura 9: El gestor de archivos nos permite editar ficheros gráfi. Simplemente hay que selecmenú contextual que nos da acceso a varias cionar el fichero deseado y presionar el acciones.info/ [2] AjaXplorer Android app: https://play. Gracias a varios controladores de repositorios. podemos especificar puede venir muy bien cuando necesitamos un periodo de expiración y proteger los descargar varios ficheros de una vez. la AjaXplorer app [2] nos permite acceder y gestionar ficheros desde la comodidad de nuestro dispositivo Android (Figura 11). La app puede gestionar varias instancias de AjaXplorer y tiene todas las características esenciales para acceder y gestionar ficheros y documentos en movimiento.google. podemos utilizar AjaXplorer para acceder a bases de datos MySQL y cuentas de correo POP e IMAP. arrastrando y soltando en el área de subida Mejor aún. sistema anfitrión remoto. El editor incluye funcionalidades esenciales Figura 8: AjaXplorer tiene integrado un sencillo editor de textos. hay que presionar el botón Generate. si estás considerando desplegar un gestor de archivos web en tu servidor. Finalmente. AjaXplorer puede gestionar datos almacenados en servidores remotos. cutar presentaciones de con la que podemos subir múltiples ficheros diapositivas directamente desde el gestor.com/store/apps/ details?id=info. AjaXplorer viene con un editor simple de texto (Figura 8). que podemos subir ficheros desde nuestra puede ser utilizado para retocar las imágemáquina local y obtener ficheros desde un nes sin dejar AjaXplorer (Figura 9). damente con el editor de imágenes Pixlr.android WWW. ajuste de línea. También tiene varias herramientas integradas que nos permiten ver y editar ficheros y documentos directamente en el gestor de ficheros.ES Número 91 73 . Utilizando la herramienta. como Deshacer y Rehacer. Figura 10: Compartiendo un fichero con AjaXplorer. aunque eso es sólo uno de los muchos talentos de AjaXplorer. podemos botón Share en la barra de herramientas crear un archivo ZIP conteniendo los ficheprincipal. Conclusiones AjaXplorer proporciona un modo fácil y flexible de acceder y gestionar ficheros y documentos utilizando navegadores web.MAGAZINE. Las posibilidades de compartir ficheros en AjaXplorer pueden venir muy bien en varias situaciones y los usuarios de móviles definitivamente apreciarán la app de Android AjaXplorer. número de línea y edición en pantalla completa. búsqueda de texto.LINUX. La ficheros compartidos con una contraseña. Esto implica que nuestros ficheros y documentos no necesitan residir en nuestro propio servidor de ficheros.

Mientras que otras son exclusivas para el formato CD-RW. es el estándar en las principales distribuciones de Linux y se instala de forma predeterminada. el grupo suele ser cdrom . El fork fue enconado. en especial para la solución de problemas. Wodim es un fork de la colección de herramientas de Jörg Schilling para grabar cd’s: cdrtools. Muchas son opciones que se centran en grabar audio o datos en CD/ DVD exactamente de la manera deseada. la tuya no lo hace. como cdrdao genisoimage aunque. la distribución Debian comenzó el fork sobre la base de que la nueva licencia fuera incompatible con la GNU General Public License. es necesario iniciar sesión como root. Afortunadamente.ES .MAGAZINE. Si. Debido a la gran cantidad de opciones. POR BRUCE BYFIELD uchas personas han utilizado algún tipo de Linux en un dispositivo móvil u otro tipo de dispositivo sin saberlo. pero la Free Software Foundation se puso del lado de Debian. Para opciones avanzadas. Último Aviso Wodim trabaja entre las bambalinas de los programas más populares para la grabación de CD/ DVD. M 74 Número 91 WWW. por lo que wodim – y ahora cdrkit. Las herramientas del escritorio son sólo la fachada para la serie de opciones del comando wodim. el comando principal es wodim. no es necesario. pero para solamente grabar. tendrás que agregar tu cuenta de trabajo para el grupo correspondiente en /etc/group .LINUX. la mejor manera de utilizar Wodim es reunir una lista básica de las opciones que necesita para un sistema en particular y guardarla o asegurarse de que el comando está siempre en su historia del Bash. en las distribuciones derivadas de Debian. Por ejemplo. que estaban utilizando otras partes de la colección cdrtools. la mayoría de las distribuciones modernas suministran esto automáticamente a las cuentas genéricas. por alguna razón. Como la mayoría de las utilidades de la línea de comandos. necesitas leer y escribir en una unidad de CD/ DVD. entonces has utilizado Wodim y otras herramientas. Algunas proporcionan la información necesaria para utilizar el mandato básico de manera eficiente. la versión del fork de cdrtools más unos cuantos comandos adicionales – .LINUX USER • Línea de Comandos: Wodim Quemando con Wodim embargo. sin Recopilación de información Para utilizar Wodim. Wodim ofrece una larga lista de opciones. pero es aún más poderoso en la línea de comandos. La herramienta Wodim es igualmente anónima: si has utilizado una aplicación de escritorio para quemar CD/ DVD como Brasero o K3. Cuando en el año 2006 Schilling cambió la licencia de cdrecord por la Common Development and Distribution License.

Si no se especifica un dispositivo. hasta -vvv que es el máximo. Con la mayoría de las modernas unidades CD/ DVD. en algunos sistemas. Por lo general. los permisos de la cuenta actual (que deben ser rwrw-. a menudo se puede utilizar Wodim sin especificar un ID de dispositivo. más sencillamente.Línea de Comandos: Wodim • LINUX USER Si una unidad está conectada correctamente. el modo predeterminado es track-at-once (TAO). no es así). Con este modo de grabación. De manera similar. sus controladores y modos soportados para quemar. Sin embargo. es conveniente especificar un dispositivo simplemente para ahorrar tiempo. La información adicional proporcionada puede ser útil para solucionar problemas.ES Número 91 75 . Wodim admite tres niveles de detalle. es posible que desees especificar -audio o -data en el comando para reducir las posibilidades de error. Grabación de un CD/DVD En un equipo moderno. Sin embargo. Para mejorar aún más la información que proporciona Wodim. Puedes utilizar una de las opciones de información para encontrar exactamente a qué velocidad es capaz de funcionar tu unidad o. sigue siendo una alternativa legítima. También. pero por ahora. Figura 2: Utiliza la opción scanbus para identificar las unidades del controlador SCSI. Si necesitas más información para configurar la estructura del comando Wodim. La mayoría. especificando una velocidad inferior. puedes añadir opciones adicionales. excepto los archivos que tengan la extensión .LINUX. puedes utilizar uno de los modos detallados. pero a menos que estés usando la cuenta root o wodim se haya instalado con suid-root (que. WWW.MAGAZINE. /dev/sg1 )(Figura 1). la opción -checkdrive también te da una nueva denominación válida para las unidades. ya que la detección a veces puede tardar hasta tres minutos – casi tan larga la espera como la propia grabación – en general. La dirección SCSI es la primera columna de la izquierda (en este caso. utiliza la opción -checkdrive . una cada vez. puede utilizar -dao . Figura 3: La opción CheckDrive ofrece la información más completa sobre la unidad de CD/ DVD. si lo deseas. 8. lo más importante. utilizar speed=0 para que Wodim queme a la velocidad más alta posible. si no todas las unidades. Sin embargo. sólo pueden grabar un disco multisesión si se utiliza TAO. el ID de la unidad (en este caso. -tao o -sao para especificar cualquier modo de grabación compatible con la unidad. a veces se pueden eliminar errores. para que el proceso de quemado sea exactamente como quieras. a veces. Wodim analiza la unidad para determinar la velocidad más rápida de la que es capaz. que los identifica como archivos de audio.au . puede usar una velocidad predeterminada que esté por debajo de la que puede manejar la unidad. La primera manera de obtener un ID de dispositivo es ingresar el comando wodim --devices Figura 1: Antes de grabar. Además de dar información sobre las unidades disponibles. en la mayoría de las distribuciones. puede que parte de la información que proporciona en modo detallado no esté disponible para ti. De forma predeterminada. Sin embargo. recibirás una advertencia de que este método de identificación pronto podría ser eliminado. por defecto Wodim graba en el primer modo listado al final de la información proporcionada por la opción -checkdrive .0. Wodim asume que todas las pistas deben ser datos. la estructura de una orden para Wodim puede ser tan simple como: wodim U TARGETDRIVE FILESTOBURN Este comando indica el fabricante de la unidad y el modelo.0 ). Wodim intentará detectar uno antes de grabar. utiliza Wodim para descubrir la información básica que necesitas. desde -v que es el menos detallado. Sin embargo.wav o . la opción speed= te permite ajustar la velocidad de grabación a tu elección. Alternativamente. puedes utilizar la opción -scanbus para encontrar la dirección SCSI del dispositivo (Figura 2). En tales casos. como /dev/sr0 (Figura 3). cada pista se graba por separado. Cuando utilices la dirección SCSI para quemar.) y.

como vídeos.ES . Con la orden blank= command. de modo que Wodim cierre el disco y evitar así un uso posterior. los cuales son todos ellos formatos extendidos de los formatos de audio básicos. todas las sesiones después de la primera son leídas por unidades de PC. xa . SAO permite múltiples sesiones. una opción mucho más allá del alcance de este artículo. Wodim también soporta varios tipos de pista. A veces los usuarios avanzados usan esta capacidad para añadir pistas ocultas o introducciones. Naturalmente. SAO requiere que se especifique en el comando el tamaño de cada pista. Figura 4: La opción blank te da control sobre los discos re-grabables. Si deseas asegurarte de que se ha especificado todo para la grabación más eficiente posible. Figura 7: Después de la grabación. Los usuarios cuidadosos igual también queráis utilizar gracetime= SECONDS para extender el valor predeterminado de cuatro segundos de retraso antes de escribir. xa1 y xa2 [1]. tendrás más control sobre el borrado o unfixing de discos re-escribibles (Figura 4). lo que suele ser suficiente para garantizar que el usuario medio elija DAO o TAO en su lugar. Si se especifica -dao con wodim. Experimentando. Figura 6: Durante la grabación. disk-at-once (DAO) quema todo el contenido en una pasada continua.MAGAZINE. Como TAO. Los discos quemados con SAO se utilizan a menudo para combinar las pistas de audio con otros materiales. El tercer modo de grabación es session-at-once (SAO). para que se pueda leer el resumen de lo que está pasando antes de que algo suceda realmente. resume los resultados.png Figura 5: La página de resumen te permite revisar el proceso de grabación antes de que comience. pronto llegarás a descubrir la estructura básica del comando que necesitas para grabar con Wodim en cualquier sistema en particular. pero con SAO. También puedes usar -multi que te permite grabar en el disco más de una sesión y añadir -nofix . tales como mode2 . la orden mínima será algo como esto: wodim -tao U speed=0 dev=/dev/sr0 U -v -data U /home/bruce/*. no por un equipo de audio CD. Alternativamente. puede ajustar la distancia entre las pistas con el uso de -pad o padsize= #OFDISKSECTORS. se pueden añadir tantas opciones como se quiera o se necesite. Estas opciones no son 76 Número 91 WWW.LINUX USER • Línea de Comandos: Wodim Por el contrario. Wodim da cumplida cuenta de lo que está haciendo exactamente en cada paso del camino. es improbable que la mayoría de los usuarios lleguen a usar estas variaciones. Sin embargo. Muchos usuarios querrán utilizar -eject para que se abra la unidad al completar la grabación. es posible que desees especificar -fix para impedir la grabación sobre el disco.LINUX.

conf . utiliza CDR_DEVICE para establecer la unidad por defecto utilizada por Wodim o CR_SPEED para la velocidad predeterminada. Opciones Hardcoding Wodim se configura en /etc/wodim. pero son convenientes y útiles. mientras se está grabando.conf en algunas distribuciones – especialmente en las derivadas de Debian – encontrarás que todas las opciones están comentadas. lo que significa que puedes dejar de lado el promt.org/wiki/CDROM_XA Figura 9: Puedes codificar opciones predeterminadas en wodim. No importa cómo lo intentes. si puedes agregar opciones que eliminen las advertencias. Figura 8: Los mensajes de error que ofrece Wodim aluden a cómo puedes aumentar la eficiencia de tus grabaciones.MAGAZINE. Las advertencias se pueden ignorar.conf se nombran de manera diferente que las opciones del comando. puedes establecer las especificaciones de la unidad a utilizar con la ayuda de algunas de las opciones de información de Wodim. Además. Bruce Byfield es periodista tecnológico. acortando la estructura del comando. utilizando una de las opciones que aparecen en la completísima página man de Wodim. Al incluir -dummy se le indica a Wodim que debe funcionar en vacío. Las primeras veces que utilices Wodim. Puedes leer más sobre su trabajo en http:// brucebyfield. ■ RECURSOS [1] CD-ROM XA: https://en. Al añadir esta información a wodim.conf. mediante el estudio de los comentarios en el archivo. Puede que el juego de malabares de las opciones de este programa no sean sencillas. podrías terminar sacrificando una gran cantidad de discos antes de llegar a la estructura de comando ideal.wordpress.wikipedia. Sin embargo. con unas pocas pruebas debería ser suficiente para que te sientas cómodo con el comando. si estás teniendo problemas para grabar correctamente. éste comienza con un resumen de la unidad y los archivos que se van a grabar (Figura 5). puedes aprender las cuestiones básicas del comando. ya que suelen ser corregidas por el mismo programa. El proceso finaliza con un resumen de la operación y el rendimiento de Wodim (ver Figura 7). Los valores establecidos en wodim. En su tiempo libre Bruce escribe sobre el arte de la costa Noroeste. Cuando grabas archivos con Wodim. Para evitar este tipo de residuos. A continuación. Estos mensajes suelen sugerir cómo corregir problemas y puede ayudar a afinar las opciones necesarias en la estructura del comando. puedes utilizar la opción -dummy . puedes codificar algunas de las opciones. repasa los mensajes de error (Figura 8). No se escribe nada en el disco. Además. Los campos en wodim. pero todavía puedes beneficiarte de las advertencias. también da cursos de live y e-learning. errores y otra información en tus esfuerzos por utilizar Wodim de la forma que prefieras. Si la unidad no está actuando como debería. Se informa de cada paso de la grabación (Figura 6). Por ejemplo. Por otra parte. Entonces comienza la cuenta atrás que indica el tiempo que falta para iniciar del proceso. Como es de esperar. añade driver= NAME. escritor freelance y editor especializado en software de código abierto.conf se usan con el comando. pero no debes encontrar muchos problemas para encontrar la manera en que se corresponden. Si abres wodim. a menos que se añada una opción predominante en el prompt (Figura 9). las siguientes grabaciones tardarán menos. conf .LINUX. Sin embargo.com EL AUTOR WWW. familiarizarte con Wodim en el promt te puede proporcionar el grado de control que necesitas y no se puede encontrar en el escritorio. puedes reducir considerablemente la estructura necesaria para el comando. pero en la mayoría de los casos. Aparte de escribir sus proyectos.Línea de Comandos: Wodim • LINUX USER estrictamente necesarias.ES Número 91 77 . Comprueba el fabricante y el modelo de la unidad. incluso se puede especificar el controlador para ella.

G. En algún otro archivo. no proporciona ningún menú ni por lo tanto ningún elemento marcado como Configuración. Asus E56v). 78 Número 91 WWW. etc.04. así que deberíamos comprobar la opción noauth en /etc/ppp/options. Si tienes algún problema de configuración o simplemente quieres conocer mejor cómo funciona Linux.COMUNIDAD · Konsultorio EL KONSULTORIO DE KLAUS Klaus Knopper es el creador de Knoppix y co-fundador de la LinuxTag Expo.. Kaellqvist Knoppix usa el mismo gestor de red que usan la mayoría de las otras distribuciones. Sin embargo en lo relativo a los temas de hardware. Si el módem ni siquiera se detecta como tal. funciona una vez instalado y después de responder dos o tres preguntas. También podemos experimentar con el script iniciador de módem inalámbrico de Knoppix llamado gprsconnect. no dudes en escribir tus preguntas a: PD. si es necesario. nuestro sistema debería autenticar contra nuestro servidor de ISP. programador y consultor. que no está en ninguna de mis muchas preguntas@linux-magazine. ¿Qué diferencia hay entre cómo inician Linux Mint y Knoppix la banda ancha móvil? usb-modeswitch especialmente puede ser un buen candidato. menciona que prefiere ReiserFS. contraseña.2 corriendo como Live DVD. También se necesita un conmutador importante para pppd que no está en Debian de manera predeterminada.es Estado de Mint ¡Hola! Estoy teniendo problemas para conseguir que mi banda ancha móvil funcione bajo Linux Mint 12. He cambiado el KNetworkManager a la versión de GNOME. En Knoppix. Saludos. Encontré un único archivo con ese nombre en UNIONFS/etc/crossfire. la conexión se cierra antes de conseguir una dirección IP.0. hardware: Huawei e143 en un portátil. Los dos libros de O’Reilly de Kyle Rankin (Knoppix Pocket Reference y Knoppix Hacks) no me han ayudado. Vivo o Muerto Estimado Sr. No obstante. He realizado esto mismo con openSUSE 12. Prepara el módem para ir desde el modo “CD de instalación” a la “línea serie” y además. es probable que necesitemos un núcleo nuevo o cargar el módulo usbserial manualmente. usando exactamente el mismo nombre de usuario. de manera que esto no parece que marque la diferencia. Knopper: estoy feliz con la versión de Knoppix 7. lo que significa que el par (el ISP) NO tiene que autenticarse contra nuestro sistema. El sistema encuentra el módem. pero no parece un archivo con instrucciones de configuración o un script. modem-manager no tiene un elemento de configuración gráfica para las opciones de PPPD. lo que parece ser que está ocurriendo. el sistema Live es bastante lento y quiero instalarlo en mi memoria USB de 32 GB que según ha dicho en un par de ocasiones debe ser muy fácil. Si falta esta opción. código PIN. En su lugar. que primero vincula /dev/modem a /dev/ttyACM0 o /dev/ttyUSB0 (donde el módem debe conseguir su carácter de dispositivo asignado desde udev) y luego ejecuta un script “chat” e inicia pppd con las opciones conocidas para trabajar en muchos escenarios.0. En la actualidad trabaja como profesor. conecta con la línea de teléfono. Desgraciadamente. Suecia. es mejor usar los últimos paquetes disponibles de Debian inestable. Pero mi arranque de 7. así que se podría considerar la actualización de los siguientes paquetes que están relacionados con los módems inalámbricos: modem-manager ppp usb-modeswitch usb-modeswitch-data Podemos comprobar el archivo de Knoppix /etc/ppp/peers/gprs (sólo legible para superusuarios) para ver algunas opciones útiles de PPPD. pero sin resultados. en la versión de KDE (proveedor: Teila.1 y Kubuntu 10.2.ES . que en Linux Mint. así que tendremos que modificar los archivos de configuración de PPPD en /etc/ppp. pero se para mientras “consigue la dirección de red”. He encontrado sus archivos de información en distintos sitios y explica que debo usar el elemento Configuración del menú que aparece en el arranque. Funciona sin errores con Knoppix Live 7. eventualmente establece los permisos adecuados y los archivos del dispositivo en /dev.LINUX-MAGAZINE.

Intenté la descarga desde Debian. Hay que tener en cuenta que el cargador de arranque Syslinux necesita una partición FAT32. Estuve satisfecho con Linux desde 1996-2002 cuando reconocía un procesador 86_64. podemos comprobar qué conmutadores de software están activos con: sudo rfkill list en los scripts de inicio de Knoppix (es decir. Si queremos usar una partición diferente. en algunos casos. Gracias. pero no lo hizo correctamente.4 actual (que es igual para la 7.org/cheese/ Figura 1: Instalador flash en el menú. Hay una guía de cómo comprobar e informar del sonido en el tablero de ayuda de Ubuntu [2]. con un archivo de intercambio de 1GB y el espacio restante como /home en /dev/sdb6. Emacs y TeX o LaTeX. /etc/init.net/projects/btmgr/ [2] Tablero de ayuda de Ubuntu: https://wiki.local) para tener el directorio home fuera del archivo de capa superpuesta en una partición diferente. Sin embargo otros modelos de “Sony Vaio” se sabe que funcionan.K. Knoppix buscará el directorio KNOPPIX que contiene el sistema de archivos comprimido principal en otras particiones automáticamente. Para otras distribuciones. WWW. Lo puedo instalar.LINUX-MAGAZINE. tendremos que instalarla en un disco flash distinto y copiar los datos sobre la partición deseada. pero podemos ubicar una entrada del tipo mount /dev/sda6 /home (Este truco funciona en muchos otros notebooks.Konsultorio • COMUNIDAD versiones de Linux. es posible que un conmutador rfkill actúe desactivando la antena. pero no he encontrado ninguna. cámara. pero para los modelos “exóticos” de cámara. Para la instalación en Flash. Unio Parece que este modelo específico de notebook sólo está disponible en unos pocos países. Nieuwenhuizen Primero hablaremos de la solución general y luego acerca de la configuración especial. estas soluciones nos pueden ayudar a que funcione la mayoría de nuestro hardware.ES Número 91 79 . ¿Cómo puedo completar este USB y cómo puedo añadir otros Linux a /dev/ sdb2 y sdb3? Estoy buscando una versión de Linux “completa” que contenga GCC. También lo podemos hacer con el programa Cheese [3]. de manera que es probable que se trate de un asunto de configuración de Linux para conseguir que las cosas funcionen. En este momento tengo una memoria de 32GB vacía y formateada con tres particiones primarias de 6GB en ext4. asumiendo que es FAT32. ■ RECURSOS [1] Smart BootManager: http://sourceforge. haciendo que se pueda arrancar a través de Syslinux y creando una capa superpuesta para escribir datos. Para arrancar otros sistemas operativos.ubuntu. podría faltar el ID de la cámara: sudo modprobe uvcvideo Seguro que hay disponibles otros notebooks más amigables con Linux que Sony Vaio. pero en caso de no poder reemplazarlo. brillo de pantalla. J. Si hay una opción de combinación de teclas que se supone que activan el WiFi. como por ejemplo buscar controladores especiales. sonido. sólo cantidad de juegos. pero no funciona nada – WiFi. pero lo he descargado de algún sitio. ¿Conoces un Linux que funcione en Sony Vaio. Una forma sencilla de comprobar si funciona la cámara es mplayer tv:// Variaciones en Vaio ¡Hola Klaus! ¿Qué tal estás? Me gustaría saber la razón por la que Ubuntu no funciona en mi Sony Vaio pcg61a11x. La Figura 1 muestra dónde encontrarlo en la versión 7.) Para WiFi. o tengo que seguir con Windows y una máquina virtual con Linux? Gracias. etc. Por ejemplo intentar conseguir que las teclas de brillo funcionen añadiendo la opción de arranque: acpi_osi=Linux acpi_U backlight=vendor lo cual mostrará una imagen en directo.0. tendremos que establecer la partición del sistema de archivos raíz de forma explícita como parámetro del núcleo root=/dev/nombre_de_la_partición. Si nos informa de que no encuentra ninguna cámara. gráficos y otros despropósitos. tendremos que instalar un cargador multiarranque que permita la selección del núcleo y el disco ram desde particiones arbitrarias como GRUB o Smart BootManager [1]. lo podemos desbloquear con: sudo rfkill unblock U <número_del_conmutador> Para el sonido.2). que puede ser útil. Knoppix tiene un script llamado flash-knoppix que copia el contenido de un DVD o CD a la primera partición primaria.com/ DebuggingSoundProblems [3] Cheese: http://projects. podemos intentar cargar el controlador uvcvideo manualmente. Asumiendo que la primera partición está libre para Linux. Aparentemente no es esto lo que andamos buscando para usar múltiples particiones y ubicar el directorio home en la segunda partición extendida (para lo cual debemos asegurarnos de que los permisos coinciden con el resto del sistema: el usuario Knoppix tiene UID y GID 1000).0.d/knoppix-autoconfig o /etc/ rc. Vamos a intentar algunas cosas. Si nos muestra un conmutador “soft blocked” para la tarjeta WiFi. Se debería detectar automáticamente.gnome. Una vez cargados el núcleo y el disco ram inicial. un disco SATA y una placa Asus que incluso se negaba a cargar Windows XP e intentaba obligarme a comprar Windows 7 u (pero preferentemente “y”) 8. pero hay demasiadas posibilidades de chipsets específicos para poder acertar. podemos ejecutar el instalador sin reparticionar el disco flash entero. No se encuentra mucha información sobre él. pero no funcionan. los controladores deben cargarse con opciones especiales.

sólo utilizamos alrededor de 150 de estos discos para mantener la distribución Slackware al día. Intrigado.000. Luego. Al aumentar la cantidad a 1.COMUNIDAD · La Perrera: USB Promocionales EL NUEVO DISQUETE DE AOL Lo chicos más listos de marketing han comenzado a cargar pendrives USB con su información promocional en lugar de publicar los habituales folletos y otra quincalla. mucha gente los utilizó como posavasos o para hacer bonitos móviles que reflejaban los colores del arco iris a la luz del sol. esta unidad indicaba en el exterior de la unidad que tenía 4 GB de almacenamiento. Las unidades flash USB de gama baja (el tamaño de 64 MB) pueden llegar a 3 $ cada uno en cantidades de 100. Sin embargo. 80 Número 91 WWW. el ICANN distribuyó una unidad flash USB que contenía algunos documentos y presentaciones para todos los asistentes. Linuxcare. puse la unidad en mi Equipo. Después de P todo.5 pulgadas para anunciar sus servicios. los precios son 5. que en cantidades de 100 cuestan 6. Los materiales impresos son caros y muchas veces van directamente de tu maletín (donde los guardas para el evento) a la papelera (en el que los asistentes los dejan).5 pulgadas que contenía 1. respectivamente. los disquetes solían costar un par de dólares cada uno. y cuando necesitas actualizar el material. pero con el tiempo. con el tiempo fueron evolucionando hasta capacidades relativamente grandes. Algunas empresas Linux fueron un paso más allá de los CD-ROM publicitarios y crearon algunos discos CD-ROM del tamaño de una tarjeta de visita que contenían programas útiles (además de la información promocional) y sencillamente imprimían sus datos de contacto en la parte superior de las “tarjetas”. la llegada del CD-R permitió a la gente adaptar fácilmente sus propios sistemas de recuperación.18 $ y 7. AOL se volvió un poco más sabio y comenzó a poner su software en un CD-ROM. Después de un tiempo. Puede que algunos también recuerden que America Online (AOL) utilizó estos disquetes de 3. una de las primeras compañías de soporte. redujeron su precio tanto como la fabricación y la competencia permiten bajar los precios. Cuando llegué a casa. dejarlo en la unidad de disco USB o eliminarlo. Este tipo de cosas habían sucedido antes. la persona que lo recibe puede ponerlo en su ordenador y acceder a datos multimedia o arrancar un sistema Linux Live para echar un vistazo a los datos (que se pueden mostrar a través de un escenario auto ejecutable). por lo que las “tarjetas para la cartera” perdieron popularidad. el folleto se vuelve inútil. pero por lo general las unidades flash eran muy pequeñas. el disco que recuerda la mayoría de la gente es el disquete de 3. cuando salieron por primera vez. así que me limitaba a sobreescribir el disco y utilizarlo como un disco de arranque o para la transferencia de archivos pequeños. me puse a buscar en el precio por cantidades de las unidades USB. la necesidad de llevar algo en el bolsillo para “recuperar” el sistema decayó un poco. contenían la “increíble” cantidad de 92KB de datos. la persona puede copiar los datos a su propio sistema. El ICANN había puesto tan sólo 600 MB de datos en un disco de 4 GB y (lo más interesante) la unidad sólo mostraba 2 GB de su capacidad total. la unidad debe ser de un mínimo de 4 GB.27 $ cada una. ya que es algo valioso. Teniendo en cuenta que GNU/Linux está disponible gratuitamente. Cuando comencé a usarlos. coloqué de nuevo los datos del ICANN y ofrecí esta imagen USB “mejorada” a algunos de mis compañeros asistentes.LINUX-MAGAZINE. Esto incluye el logo y la URL de tu organización impreso en el exterior de la unidad. Con mucho cuidado. pero las alternativas tampoco son muy baratas.32 $ para las mismas cantidades. el uso de dispositivos USB como un artículo promo■ cional es una opción atractiva. Imprimir un folleto a color brillante puede costar de 2 a 3 $. quité los datos y reparticioné el disco a 4 GB. tal vez 64 MB de datos.23 $ para 4 y 8 GB. Por otra parte. Todavía puede sonar algo caro para “regalar” en un evento. una unidad de memoria puede volver a cargarse para actualizar la información o incluso podrían actualizarse los datos a través de Internet. Después. POR JON “MADDOG” HALL uede que algunos de ustedes recuerden “los disquetes”. Con uno de estos dispositivos USB. era famoso por su “CD de recuperación” de tamaño cartera. Es más. pero todavía tendrá tu logo y tu URL en la parte exterior de la unidad de disco USB. Ahora que no podían utilizarse para copias de seguridad o distribuciones. Una unidad de 8 GB costaría 8. para después instalar en él Linux con un sistema de archivos persis- tente de 2GB. Un disquete podía llegar por correo con algún tipo de software que promocionaba AOL y que permitía conectarse a su servicio. A medida que las distribuciones se hicieron más grandes y la red más rápida y más común. Cuando todo esto ocurría yo usaba GNU/Linux. Para el propósito de que contengan tanto un sistema persistente y datos.44 MB. Por supuesto. Sin embargo. el software que se incluía en el disco no funcionaba en mi sistema Linux. En una reciente conferencia. Sin embargo.ES .

linux-magazine. Alemania Florencia.europython. EE.U.11 Mayo Lugar: Granada.com . Brown Traductores Paqui Martín Vergara.linux-magazine.org Sitio Web www. Rep.org www. Copyright y Marcas Registradas © 2013 Linux New Media Spain.org wiki.Málaga ESPAÑA info@linux-magazine. 16 C/Graham Bell nº 6 29590 .es .es/akademy-es2013 akademy2013.co.90 Europa: 64. España Web: akademy2013.es/magazine/subs Precios Subscripción España: 54. España Bilbao.25 May 27 . de SwL Final Fecha: 10 .com Tel.linuxtag.eu guadec. España Granada. Kristian Kissling. El DVD es estudiado escrupulosamente para confirmar que está libre de virus y errores. EE.org/2013 Concurso Univ. Paul C.90 Resto del Mundo . Brown.Reino Unido www. Planta 2.uk linuxfestnorthwest. S.U.es Tel.andevcon. Linux es una Marca Registrada de Linus Torvalds.: (+34) 952 020 242 (+34) 951 235 904 Fax. Paul C. Suiza Sitio Web libregraphicsmeeting. Linux Magazine no comparte necesariamente las opiniones vertidas por sus colaboradores en sus artículos. Alina Caravaca Chaves Diseño de Portada Pinball info@pinball-werbeagentur. Ofic.L.de ep2013.uk . prohíbe la reproducción total o parcial de los contenidos de Linux Magazine sin su permiso previo y por escrito.16 Ago 21 .UU. Bellingham.es/pub/ Para España Marketing y Comunicaciones anuncios@linux-magazine.linux-magazine.com.Euros: 84. Víctor Tienda.: (+ 34) 952 020 242 Fax.EVENTOS Libre Graphics Meeting 2013 Fecha: 10 . España Bilbao. Berlín.org Calendario de Eventos España e Hispanoamérica Evento Libre Graphics Meeting 2013 Concurso Univ.de Publicidad www. Italia Brno. Impreso en Polonia Impresión: ArtDruck DVDs: Fermata Distribución: SGEL Depósito Legal: MA-116-2005 ISSN edición impresa: 1576-4079 ISSN edición online: 1699-2237 WWW.kde.L.28 Abr 22 . Martin Streicher. Joe Brockheimer Editores Alina Caravaca Chaves. Lugar: Bilbao.co.90 subs@linux-magazine.org events.: (+34) 952 020 242 Fax.U.L.19 Jul Fecha 23 .linuxfoundation. Oliver Frommel.UU. R.linuxfoundation. Klaus Knopper. Brown Jefe de Producción Miguel Gómez Molina Subscripciones: www.04 Jun 01 . EE.13 Abril Lugar: Madrid.org Akademy 2013 Fecha: 13 . Alemania Tokyo. España Web: www.org usenix.kde. El riesgo derivado del uso del DVD y el material que contiene corren por cuenta del lector.linuxfoundation.org/conference/usenixsecurity13 events.es Tel.org/2013 www.07 Jul 01 .08 Ago 14 . R. Checa Washington.: (+ 34) 951 235 905 Para el Resto del Mundo Petra Jaser ads@linux-magazine.12 Jul 13 . Brown Coolaboradores José María Ruíz.Mundo www.: (+34) 951 235 905 Linux Magazine Linux New Media Spain.13 Abr 10 .pl . España Ciudad / Región Londres. España Web: libregraphicsmeeting. Linux New Media Spain S.ES Número 91 81 .UU. de SwL .28 May 28 .25 Abr 27 .br . Vaumarcus.25 Oct 27 .concursosoftwarelibre.Final Akademy-es 2013 Akademy 2013 Resto del Mundo Evento Infosecurity Europe 2013 LinuxFest Northwest 2013 LinuxTag 2013 Automotive Linux Summit AnDevCon Spring 2013 Berlin Buzzwords Europython 2013 Guadec 2013 USENIX Security LinuxCon Europe Linux Kernel Summit DebConf13 Fecha 10 .: (+34) 951 235 905 www.linux-magazine.linux-magazine.com berlinbuzzwords.linux-magazine.MAGAZINE.28 Oct Ciudad / Región Madrid. la editorial no se hace responsable de imprecisiones aparecidas en la revista.19 Jul.España www.kde-espana.linux-magazine.31 May 03 .LINUX.Brasil www. Edimburgo.23 Oct 23 .debconf.: (+49) 8999 34 11 23 Fax.11 May 11 . Jose María Lancho. Edfco. R. Asimismo.concursosoftwarelibre. Francisco Molinero Maquetación Miguel Gómez Molina. S. Hevimar. Berlín. Edimburgo.es Tel.infosec. Japón Boston.org events.org www.org www.: (+49) 8999 34 11 99 Director Editorial Paul C.org Información de Contacto Director Paul C.Polonia Si bien se toman todas las medidas posibles para garantizar la precisión del contenido de los artículos publicados en Linux Magazine.

com/linuxmagazine. Síguenos en nuestras redes sociales: Facebook: facebook.ca: identi. algo se romperá. para recuperar sus datos.es Twitter: twitter.PRÓXIMO NÚMERO Rescate de Sistemas Si ejecutas un sistema durante bastante tiempo. ¿Un controlador sobrescrito? ¿Un disco duro que falla? ¿Un sistema de ficheros corrupto? No sabes lo que te va a tocar en la lotería de los fallos informáticos. al menos. sea desde Windows.MAGAZINE. 123RF A LA VENTA: ABRIL 2013 82 Número 91 WWW. o sino. La plataforma Linux viene con un amplísimo abanico de herramientas que puedes utilizar para resucitar un equipo.com/b/101673494113753130304/ Identi.google.ES . Te ayudamos a recuperar tus equipos rotos en el número 92 de Linux Magazine.com/linux_spain Google+: plus. Lo que sí sabes es que utilizarás Linux para repararlo. Mac o Linux. las tareas de rescate son aún más sencillas y seguras. Y con la tecnología de arranque en modo “Live”.LINUX.ca/linuxspain/ Andrea Danti.