<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>El blog de Activa Sistemas</title>
	
	<link>http://www.activasistemas.com/blog</link>
	<description>Artículos sobre Linux y Software Libre</description>
	<lastBuildDate>Wed, 08 May 2013 08:54:52 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ElBlogDeActivaSistemas" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="elblogdeactivasistemas" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Las novedades más interesantes de Debian 7.0 “Wheezy”</title>
		<link>http://www.activasistemas.com/blog/2013/05/08/las-novedades-mas-interesantes-de-debian-7-0-wheezy/</link>
		<comments>http://www.activasistemas.com/blog/2013/05/08/las-novedades-mas-interesantes-de-debian-7-0-wheezy/#comments</comments>
		<pubDate>Wed, 08 May 2013 08:54:52 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Actualidad]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1739</guid>
		<description><![CDATA[La noticia más importante sin duda de la semana en el mundo Linux ha sido la esperadísima publicación de la versión 7.0 de Debian, conocida con el nombre clave de  Wheezy. No voy a profundizar en la noticia en sí &#8230; <a href="http://www.activasistemas.com/blog/2013/05/08/las-novedades-mas-interesantes-de-debian-7-0-wheezy/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La noticia más importante sin duda de la semana en el mundo Linux ha sido la esperadísima <a href="http://www.debian.org/releases/wheezy/" target="_blank">publicación de la versión 7.0 de Debian</a>, conocida con el nombre clave de  Wheezy. No voy a profundizar en la noticia en sí ya que a estas alturas ha sido más que cubierta y comentada en Internet, sino que me voy a centrar en comentar las que a mi entender son las <a href="http://www.debian.org/releases/wheezy/amd64/release-notes/ch-whats-new.es.html" target="_blank">novedades</a> más importantes y útiles de Debian 7.0 después de más de un año utilizándola mientras estaba en pruebas.<span id="more-1739"></span></p>
<p>Para mí, la característica más interesante es la del soporte de multiarquitectura, que permite instalar paquetes de múltiples arquitecturas en el mismo sistema resolviendo las dependencias correctamente de forma automática. Así, es perfectamente posible instalar programas de 32 bits (i386) en una Debian de 64 bits (amd64). Esto me ha permitido, por ejemplo, contar con programas con Skype y Steam que de otra forma no hubiera podido utilizar. Como se puede imaginar, la multiarquitectura nos abre un enorme abanico posibilidades, tanto en escritorios como en servidores.</p>
<p>Precisamente la que considero como segunda novedad interesante está más dirigida a servidores por su exposición a los usuarios (aunque los escritorios también se pueden beneficiar), como es la inclusión de serie de AppArmor en Debian 7.0. AppArmor es un software de seguridad presente tanto en el núcleo de Linux como en herramientas de usuario que permite limitar el acceso a los ficheros a los que puede acceder un programa en base a un conjunto de reglas. De este modo, se protege el sistema de vulnerabilidades tanto conocidas como desconocidas. Si a esto añadimos el hecho de que muchos paquetes se han compilado con las opciones de securización del compilador gcc habilitadas, lo que activa distintas protecciones contra diversos problemas de seguridad, podemos concluir que Wheezy es sin duda la versión de Debian más segura hasta la fecha.</p>
<p>El resto de novedades son más o menos interesantes dependiendo de cada usuario. Personalmente sólo destacaría por último el completo soporte multimedia gracias al paquete libav-tools, que incluye todos los reproductores, codificadores y herramientas auxiliares que todo usuario puede llegar a necesitar para tener una experiencia multimedia satisfactoria con su sistema Debian. Esto además nos evita el tener que estar jugando con paquetes de terceros (que pueden generar conflictos con paquetes oficiales) y nos asegura el contar con una plataforma 100% libre y legal.</p>
<p>Sólo me queda animar a todo el mundo a probar Wheezy y a utilizarla como plataforma de uso habitual. Espero vuestros comentarios sobre vuestras experiencias con Debian 7.0</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/fi8s1MFCNcc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/05/08/las-novedades-mas-interesantes-de-debian-7-0-wheezy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UNetbootin, creando dispositivos USB en vivo desde imagenes ISO</title>
		<link>http://www.activasistemas.com/blog/2013/04/08/unetbootin-creando-dispositivos-usb-en-vivo-desde-imagenes-iso/</link>
		<comments>http://www.activasistemas.com/blog/2013/04/08/unetbootin-creando-dispositivos-usb-en-vivo-desde-imagenes-iso/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 08:30:51 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sistemas informaticos]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1724</guid>
		<description><![CDATA[Mientras escribía el artículo anterior sobre Berryboot, se me vino a la cabeza otra herramienta que tiene algún punto en común con ella: UNetbootin. Se trata de una sencilla aplicación que permite crear dispositivos USB en vivo a partir de &#8230; <a href="http://www.activasistemas.com/blog/2013/04/08/unetbootin-creando-dispositivos-usb-en-vivo-desde-imagenes-iso/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mientras escribía el <a href="http://www.activasistemas.com/blog/2013/03/14/berryboot-multiples-distros-para-raspberry-pi-en-una-sola-tarjeta-sd/" target="_blank">artículo anterior sobre Berryboot</a>, se me vino a la cabeza otra herramienta que tiene algún punto en común con ella: <a href="http://unetbootin.sourceforge.net" target="_blank">UNetbootin</a>. Se trata de una sencilla aplicación que permite crear dispositivos USB en vivo a partir de imágenes ISO de distribuciones Linux y otras herramientas autoarrancables desde una unidad óptica. Al igual que Berryboot, UNetbootin nos permite elegir de una lista predefinida qué distro queremos en nuestro <em>pendrive</em>, tras lo cual procederá a descargarsela e instalarla en el dispositivo USB. Aquí acaban las similitudes con Berryboot, ya que los objetivos, finalidad, plataforma hardware y formas de trabajar de ambas herramientas son diferentes (por ejemplo, UNetbootin sólo permite una distro por dispositivo, al contrario que Berryboot).<span id="more-1724"></span></p>
<p>La forma de trabajar con UNetbootin es muy sencilla. Basta con dirigirnos a su <a href="http://unetbootin.sourceforge.net" target="_blank">web oficial</a> y descargarnos el binario correspondiente a nuestro sistema operativo (existen versiones para Linux, Windows y MacOSX). Antes de proceder a ejecutarlo debemos haber conectado y montado el dispositivo USB de destino. Una nota de seguridad: aunque se trata de software libre y nos lo estamos bajando de una web de confianza como Sourceforge, se trata de la descarga de un binario y no está de más que tenga cuidado extra, sobre todo teniendo en cuenta que se trata de un software que exige permisos de administrador para su funcionamiento.</p>
<div id="attachment_1728" class="wp-caption alignright" style="width: 310px"><a href="http://www.activasistemas.com/blog/wp-content/uploads/2013/04/unetbootin.png"><img class="size-medium wp-image-1728" alt="unetbootin" src="http://www.activasistemas.com/blog/wp-content/uploads/2013/04/unetbootin-300x226.png" width="300" height="226" /></a><p class="wp-caption-text">UNetbootin recién iniciado</p></div>
<p>La ventana de UNetbootin nos muestra dos opciones: o bien elegimos la imagen a instalar del desplegable superior (donde descubriremos una <a href="http://unetbootin.sourceforge.net/#features" target="_blank">lista impresionante de posibilidades</a>) o bien proveemos nuestra propia imagen ISO (si a alguien se le ocurre probar cosas &#8220;diferentes&#8221;, como una versión de Windows, y tiene éxito que por favor nos lo haga saber en los comentarios). En cualquier caso, una vez realizada la selección, debemos elegir la unidad de destino del desplegable inferior. Aquí, como he comentado en artículos anteriores, debemos tener especial cuidado ya que se trata de una herramienta destructiva por naturaleza y podemos dañar el contenido de otros dispositivos si no ponemos atención (de hecho, UNetbootin nos deja incluso elegir discos duros). Finalmente, sólo queda pulsar en el botón de &#8220;Aceptar&#8221; y esperar a que acabe el proceso.</p>
<p>Una de las mayores ventajas de UNetbootin (aparte del ahorro en CDs y DVDs) es que nos permite trabajar de forma sencilla con equipos que carecen de unidad óptica, como es el caso de los netbooks. De este modo es posible probar e instalar una distro Linux o realizar tareas de mantenimiento con algunas de las herramientas de diagnóstico y detección de antivirus que UNetbootin permite utilizar. Sin duda, se trata de una utilidad de gran valor.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/dEFytaf3mf0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/04/08/unetbootin-creando-dispositivos-usb-en-vivo-desde-imagenes-iso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Berryboot, múltiples distros para Raspberry Pi en una sola tarjeta SD</title>
		<link>http://www.activasistemas.com/blog/2013/03/14/berryboot-multiples-distros-para-raspberry-pi-en-una-sola-tarjeta-sd/</link>
		<comments>http://www.activasistemas.com/blog/2013/03/14/berryboot-multiples-distros-para-raspberry-pi-en-una-sola-tarjeta-sd/#comments</comments>
		<pubDate>Thu, 14 Mar 2013 10:42:32 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1707</guid>
		<description><![CDATA[Siguiendo con el tema del artículo anterior, existe una herramienta muy interesante que permite instalar varias distribuciones para Raspberry Pi en la misma tarjeta SD, algo muy útil si estamos cortos de tarjetas. El proyecto se llama BerryBoot y su &#8230; <a href="http://www.activasistemas.com/blog/2013/03/14/berryboot-multiples-distros-para-raspberry-pi-en-una-sola-tarjeta-sd/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Siguiendo con el tema del <a href="http://www.activasistemas.com/blog/2013/03/05/instalacion-de-distros-en-raspberry-pi/" target="_blank">artículo anterior</a>, existe una herramienta muy interesante que permite instalar varias distribuciones para Raspberry Pi en la misma tarjeta SD, algo muy útil si estamos cortos de tarjetas. El proyecto se llama <a href="http://www.berryterminal.com/doku.php/berryboot" target="_blank">BerryBoot</a> y su instalación y uso son muy sencillos como vamos a ver a continuación.<span id="more-1707"></span></p>
<p>Lo primero es como siempre descargarnos el software de la página oficial. A continuación lo descomprimimos y procedemos a instalarlo en nuestra tarjeta SD tal y como describí en el artículo anterior. Una vez lista la tarjeta, la insertamos en el RPi y lo arrancamos. Una vez iniciado, BerryBoot arrancará un instalador que dará formato a la tarjeta SD y nos presentará en pantalla un menú desde el que podremos elegir las distros que queramos instalar desde Internet. Evidentemente, cuando el asistente nos pregunte, le indicaremos la tarjeta como medio de instalación.</p>
<p>Cuando hayamos terminado la instalación de las distros que nos interesan y arranquemos de nuevo el RPi, nos encontraremos un menú de inicio que nos permitirá elegir la distro que queramos iniciar en ese momento. Esto obviamente nos obliga a tener un teclado y un ratón conectados al RPi, pero es el precio a pagar para poder tener varias distros en una misma tarjeta y poder probarlas.</p>
<p>Es posible añadir otras distros que BerryBoot no conozca al menú de arranque y, aunque se trata de un proceso complejo, basta con seguir paso a paso el recetario que aparece en la página oficial para personalizar nuestra tarjeta SD.</p>
<p>Para terminar, quiero hacer hincapié en que debemos contar con una tarjeta SD con suficiente espacio para todas las distros que queramos instalar. Esto podrá parecer evidente, pero es muy fácil que no caigamos en la cuenta y si no lo planificamos previamente al final tendremos que repetir el proceso desde el principio. Lo suyo es contar con una tarjeta de 32GB, pero si no es posible 16GB se me antojan como el mínimo imprescindible.</p>
<p>Espero vuestro comentarios sobre vuestra experiencia con BerryBoot.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/yunmiAMsOCY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/03/14/berryboot-multiples-distros-para-raspberry-pi-en-una-sola-tarjeta-sd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalación de distros en Raspberry Pi</title>
		<link>http://www.activasistemas.com/blog/2013/03/05/instalacion-de-distros-en-raspberry-pi/</link>
		<comments>http://www.activasistemas.com/blog/2013/03/05/instalacion-de-distros-en-raspberry-pi/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 12:40:17 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1687</guid>
		<description><![CDATA[Desde que tengo mi Raspberry Pi no he dejado de probar distintas aplicaciones, con mayor o menor éxito dependiendo del grado de madurez del proyecto, demostrando lo útil que es el dispositivo gracias a su diseño y bajo coste. Hasta &#8230; <a href="http://www.activasistemas.com/blog/2013/03/05/instalacion-de-distros-en-raspberry-pi/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Desde que tengo mi <a href="http://www.raspberrypi.org/" target="_blank">Raspberry Pi</a> no he dejado de probar distintas aplicaciones, con mayor o menor éxito dependiendo del grado de madurez del proyecto, demostrando lo útil que es el dispositivo gracias a su diseño y bajo coste. Hasta ahora, la distribución para RPi que más me ha gustado y que más utilizo es XBian, gracias a la cual mi RPi se ha convertido en un potente y completo centro multimedia. De hecho, me estoy planteando comprarme otro RPi para seguir probando cosas e inventando nuevos proyectos. Tras esta experiencia, quiero comentar en este artículo como instalar cualquier distribución para RPi sin problemas.<span id="more-1687"></span></p>
<p>Lo primero que tenemos que hacer es descargarnos la imagen de la distro a instalar, la cual tendrá la extensión .img y estará comprimida para facilitar su descarga. A continuación descomprimimos la imagen y procedemos a volcarla a la tarjeta SD que introduciremos en el RPi. Para ello vamos a utilizar el comando <code>dd</code>, que sirve para copiar información desde una fuente a un destino byte a byte. Dado que en Linux todo es un fichero, la potencia de <code>dd</code> es tremenda, ya que nos va a permitir volcar el contenido de la imagen de una distro a un dispositivo extraíble como es la tarjeta SD.</p>
<p>Sin embargo, parafraseando el conocido anuncio, esta potencia sin control es muy peligrosa y podemos convertir a <code>dd</code> en una herramienta destructiva si no elegimos bien el destino del comando. Así que antes de volcar vamos a ver cómo elegir adecuadamente el dispositivo que representa a nuestra tarjeta SD.</p>
<p>Antes de seguir, debo comentar que cada proyecto RPi tiene unos requerimientos mínimos de espacio, por lo que la tarjeta SD que elijamos debe cubrir dicha cantidad. No todos las distros tienen las mismas necesidades, e incluso nos las podemos encontrar que les basta con 1GB, pero lo habitual es irnos a 8GB o más. Asimismo, es importante elegir una clase elevada de tarjeta, preferiblemente clase 10, ya que eso nos asegura una transferencia de datos mínima y un rendimiento adecuado en el RPi. Hay <a href="http://en.wikipedia.org/wiki/SDHC#Speed_Class_Rating" target="_blank">más información</a> a este respecto en la Wikipedia.</p>
<p>Con la tarjeta sin insertar, ejecutamos el siguiente comando:<br />
<code><br />
# cat /proc/partitions<br />
</code></p>
<p>lo que nos dará un resultado similar a éste:<br />
<code><br />
major minor  #blocks  name</p>
<p>   8        0  156289847 sda<br />
   8        1    1951744 sda1<br />
   8        2   97655808 sda2<br />
   8        3   56680448 sda3<br />
  11        0    1048575 sr0<br />
</code></p>
<p>Lo que hemos hecho es preguntarle directamente al núcleo de Linux por los dispositivos de almacenamiento y sus particiones que el sistema operativo haya detectado. Aunque existen otros métodos (por ejemplo, usando el comando <code>fdisk -l</code>), éste es sin duda el más fiable. En el ejemplo, tenemos un disco duro (<code>sda</code>) con tres particiones y una unidad óptica (<code>sr0</code>).</p>
<p>Ahora insertamos la tarjeta SD en nuestro ordenador y consultamos de nuevo al núcleo por los dispositivos y sus particiones, con lo que obtendremos algo tal que así:<br />
<code><br />
major minor  #blocks  name</p>
<p>   8        0  156289847 sda<br />
   8        1    1951744 sda1<br />
   8        2   97655808 sda2<br />
   8        3   56680448 sda3<br />
  11        0    1048575 sr0<br />
   8       64     975360 sde<br />
   8       65     975295 sde1<br />
</code></p>
<p>Como vemos, existe una diferencia clara: ahora existe un dispositivo nuevo (<code>sde</code>) con una partición. Pues bien, ése es el que representa a nuestra tarjeta SD y el que debemos usar en el comando <code>dd</code>. Por cierto, en vez de <code>sde</code> el sistema podrá elegir <code>sdb</code>, <code>sdc</code>, etc, según la disponibilidad de identificadores de dispositivos. En mi caso, al usar un lector multitarjeta, es lógico que el sistema me haya asignado <code>sde</code>.</p>
<p>En el caso de que nuestro Linux haya montado automáticamente la tarjeta SD debemos proceder previamente a desmontarla desde el propio entorno gráfico. Una vez lista la tarjeta, ejecutamos el siguiente comando:<br />
<code><br />
# dd if=distro.img of=/dev/sde<br />
</code></p>
<p>A partir de este momento, el sistema se pondrá a volcar el contenido de la imagen de la distro para RPi en nuestra tarjeta SD. En el parámetro <code>if</code> indicamos el fichero de la imagen y en el parámetro <code>of</code> el dispositivo de la tarjeta SD. Aquí se puede apreciar el peligro de <code>dd</code> si indicamos incorrectamente el dispositivo de salida. ¿Qué ocurriría si pongo <code>sda</code> en vez de <code>sde</code>? Pues que más que probablemente destruya mi sistema operativo. Por eso, hay que revisar concienzudamente el comando dd antes de ejecutarlo para estar seguros de que no cometemos un grave error.</p>
<p>Una vez terminado <code>dd</code>, forzamos el vaciado de los buffers intermedios con este comando:<br />
<code><br />
# sync<br />
</code></p>
<p>y ya podemos extraer la tarjeta SD de nuestro ordenador, insertarla en el RPi y probar la distro.</p>
<p>Con estas instrucciones sólo queda elegir la <a href="http://elinux.org/RPi_Distributions" target="_blank">distro que queremos probar</a>, ya sea de propósito general como Raspbian o especializada como XBian (centro multimedia), PiMame (emulador arcade) o IPFire (cortafuegos). Espero vuestras experiencias con Raspberry Pi y algunos de estos proyectos.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/Mt1u7wgLBNk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/03/05/instalacion-de-distros-en-raspberry-pi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desura, la alternativa a Steam</title>
		<link>http://www.activasistemas.com/blog/2013/02/26/desura-la-alternativa-a-steam/</link>
		<comments>http://www.activasistemas.com/blog/2013/02/26/desura-la-alternativa-a-steam/#comments</comments>
		<pubDate>Tue, 26 Feb 2013 18:11:44 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1686</guid>
		<description><![CDATA[Tras dedicar el anterior artículo a Steam y su instalación en Debian Wheezy me dí cuenta de que a Desura sólo le había dedicado una breve mención en otro artículo dedicado al renacimiento del mercado de juegos para Linux. Para &#8230; <a href="http://www.activasistemas.com/blog/2013/02/26/desura-la-alternativa-a-steam/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Tras dedicar el anterior artículo a <a href="http://www.activasistemas.com/blog/2013/02/19/instalando-steam-en-debian-wheezy/" target="_blank">Steam y su instalación en Debian Wheezy</a> me dí cuenta de que a <a href="http://www.desura.com/" target="_blank">Desura</a> sólo le había dedicado una breve mención en <a href="http://www.activasistemas.com/blog/2012/04/30/habemus-mercado-de-juegos-para-linux/" target="_blank">otro artículo dedicado al renacimiento del mercado de juegos para Linux</a>. Para los que no sepan lo que es, se trata de una plataforma de distribución digital de juegos creada en 2009 por un grupo de desarrolladores australianos.</p>
<p>Aunque no es exclusiva de Linux, Desura facilita enormemente la adquisición y gestión de juegos en formato digital, eliminando muchos de los problemas que los usuarios noveles se encuentran a la hora de instalar programas en Linux que no están integrados en sus respectivas plataformas de gestión de software. Dado que Desura ha sido la pionera en la distribución digital de juegos comerciales en Linux y lleva por tanto más tiempo disponible que Steam en el sistema del pingüino, es de recibo que dedique un artículo a hablar de sus bondades y de cómo instalarlo en Linux.<span id="more-1686"></span></p>
<div id="attachment_1405" class="wp-caption alignright" style="width: 250px"><a href="http://www.activasistemas.com/blog/wp-content/uploads/2012/04/Desura-Linux-Client.png"><img class=" wp-image-1405 " alt="Desura en acción" src="http://www.activasistemas.com/blog/wp-content/uploads/2012/04/Desura-Linux-Client-300x216.png" width="240" height="173" /></a><p class="wp-caption-text">Desura en acción</p></div>
<p>En cuanto a funcionalidad, Desura ofrece lo mismo que Steam (o debería decirlo al revés, ya que éste es el novato en Linux): un entorno de comercio electrónico, un sistema de gestión de software, una comunidad de usuarios y una plataforma para desarrolladores. Sin embargo, aquí acaban las similitudes. Desura tiene una serie de ventajas sobre Steam que lo convierten en un serio competidor para la plataforma de Valve y en mi primera elección como plataforma comercial de juegos.</p>
<p>1. Versión para 64 bits. Desura cuenta con versiones tanto para 32 como para 64 bits, lo que implica un óptimo rendimiento de la plataforma y permite utilizar versiones de los juegos propios de la arquitectura de la distro que tengamos instalada. Steam sólo cuenta con una versión para 32 bits, lo que obliga a utilizar versiones de 32 bits de ciertas librerías del sistema y a duplicar el espacio ocupado por las mismas, aparte de un inferior rendimiento general del entorno.</p>
<p>2. Instalación sencilla en cualquier distribución Linux moderna. Mientras que Steam sólo está disponible de serie para las últimas ediciones de Ubuntu (aunque se puede instalar en otras distribuciones a través de ciertas triquiñuelas), Desura es un paquete que sólo depende de sí mismo para funcionar, lo que permite su instalación (que además es muy sencilla como veremos a continuación) en cualquier plataforma Linux relativamente reciente (de unos años para acá).</p>
<p>3. Demos. Desura incluye demos en algunos de los títulos de su catálogo, lo que permite la prueba antes de comprar los juegos y nos habilita para invertir nuestro dinero de la mejor manera posible.</p>
<p>4. Juegos libres y freeware. Además de juegos comerciales, Desura ofrece la posibilidad de instalar y jugar tanto a algunos títulos libres como a juegos comerciales gratuitos. Así, no es necesario gastarse un euro para disfrutar de Desura. A día de hoy, Steam sólo ofrece un título gratuito.</p>
<p>5. Mods gratuitos. Finalmente, en lo que a tipos de software se refiere, Desura ofrece también <em>mods</em>, es decir, modificaciones de títulos existentes que amplían la experiencia de juego. Además, todos son gratis.</p>
<p>6. Actualización y reparación de juegos. Cuando se publica una nueva versión de un juego de nuestra lista, Desura nos avisa y nos permite actualizarlo con un sólo click. Igualmente, si un juego no funciona adecuadamente, Desura nos permite reparar su instalación, ofreciéndonos varias opciones dependiendo del problema.</p>
<p>7. Enorme catálogo de juegos. Esta ventaja es evidentemente fruto de que Steam acaba de aterrizar en Linux, pero Valve va a tener que trabajar muy duro para acercarse a la gran oferta actual de Desura, algo a lo que no es ajena la incorporación de juegos libres y mods a su catálogo.</p>
<div id="attachment_1694" class="wp-caption alignright" style="width: 250px"><a href="http://www.activasistemas.com/blog/wp-content/uploads/2013/02/desura-dlc.png"><img class=" wp-image-1694 " alt="Web oficial de Desura" src="http://www.activasistemas.com/blog/wp-content/uploads/2013/02/desura-dlc-300x285.png" width="240" height="228" /></a><p class="wp-caption-text">Web oficial de Desura</p></div>
<p>Sin embargo, no todo es tan bonito ni tan perfecto en Desura. Por mi parte puedo afirmar que sufre de cierta inestabilidad que hace que se cierre inesperadamente en plena instalación, actualización o reparación de juegos. No es algo grave, ya que basta con abrir de nuevo Desura, pero si bastante molesto por lo recurrente del problema. Espero que lo resuelvan antes o después.</p>
<p>Para instalarlo basta con descargarnos el software de la <a href="http://www.desura.com/install" target="_blank">web oficial de Desura</a>, que se encargará de detectar la arquitectura de nuestra distribución, 32 ó 64 bits, y ofrecernos la descarga adecuada. El paquete viene en formato .tar.gz, por lo que procederemos a copiarlo a un directorio temporal de nuestra elección y a descomprimirlo allí. Por cierto, no es necesario realizar estar operaciones como administrador del sistema, por lo que podemos instalar Desura como nuestro usuario estándar (algo recomendable por otro lado).<br />
<code><br />
# cp desura-x86_64.tar.gz<br />
# tar xzvf desura-x86_64.tar.gz<br />
</code></p>
<p>Ahora sólo queda iniciar el ejecutable que incluye el paquete y Desura se pondrá a continuación a descargar el resto de los ficheros necesarios para funcionar, tras lo cual se inicia el entorno en sí mismo. Esto además instalará un icono de arranque en nuestro escritorio y en nuestro menús.<br />
<code><br />
# ./desura<br />
</code></p>
<p>Lo primero que se muestra en pantalla es el formulario de autentificación. Si no contamos con usuario en Desura, es el momento de crearnos uno. A continuación entramos en la plataforma y ¡a disfrutar de juegos de calidad para Linux! Espero vuestras experiencias.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/OUergvtqi5U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/02/26/desura-la-alternativa-a-steam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando Steam en Debian Wheezy</title>
		<link>http://www.activasistemas.com/blog/2013/02/19/instalando-steam-en-debian-wheezy/</link>
		<comments>http://www.activasistemas.com/blog/2013/02/19/instalando-steam-en-debian-wheezy/#comments</comments>
		<pubDate>Tue, 19 Feb 2013 10:12:20 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1677</guid>
		<description><![CDATA[La noticia más destacada de la semana pasada en el mundo Linux fue sin duda la de la publicación de la primera versión estable del cliente de Steam (la popular plataforma de distribución digital de juegos de Valve) para el &#8230; <a href="http://www.activasistemas.com/blog/2013/02/19/instalando-steam-en-debian-wheezy/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La noticia más destacada de la semana pasada en el mundo Linux fue sin duda la de la publicación de la primera versión estable del cliente de Steam (la popular plataforma de distribución digital de juegos de Valve) para el sistema del pingüino. A pesar de que sólo existe versión para las últimas ediciones de Ubuntu, es posible instalarlo en Debian Wheezy (no es posible en Squeeze por la falta de algunas librerías) con algún que otro truco. Yo hace tiempo que me instalé la beta y lo cierto es que es un gusto disfrutar de mis juegos (por ejemplo, los de los Humble Bundle) cómodamente a través de un completo interfaz como Steam.<span id="more-1677"></span></p>
<p>De las distintas opciones que he probado para instalar Steam en mi Wheezy, hay una que me ha funcionado sin problemas y que voy a comentar a continuación. Pero antes, si como yo utilizamos un sistema de 64 bits, es imprescindible activar antes el soporte multiarquitectura, ya que Steam sólo está disponible para 32 bits. Como siempre, estas instrucciones hay que llevarlas a cabo como administrador del sistema.</p>
<p>Los comandos para activar la arquitectura i386 en un sistema amd64 son los siguientes:<br />
<code><br />
# dpkg --add-architecture i386<br />
# apt-get update<br />
</code></p>
<p>Para instalar Steam vamos a utilizar un <a href="http://steamcommunity.com/app/221410/discussions/0/882965118613928324/" target="_blank">tutorial</a> preparado por un usuario llamado Cyb.org, en el que utiliza tanto un par de <em>scripts</em> preparados por él mismo como otro desarrollado por un usuario llamado Kano. Sin embargo el tutorial es algo confuso e incompleto en alguno de sus pasos, así que trataré de que el procedimiento quede lo más claro posible.</p>
<p>Empezaremos descargando el <em>script</em> de Kano así:<br />
<code><br />
# wget http://kanotix.com/files/fix/install-steam-wheezy.sh<br />
</code></p>
<p>A continuación le daremos permisos de ejecución:<br />
<code><br />
# chmod 755 install-steam-wheezy.sh<br />
</code></p>
<p>Y procedemos a ejecutarlo, lo que terminará con la instalación de un cliente Steam adaptado a nuestra Debian:<br />
<code><br />
# ./install-steam-wheezy.sh<br />
</code></p>
<p>Los siguientes pasos hay que llevarlos a cabo como nuestro usuario del sistema. Antes de cerrar la sesión de administrador, procederemos a dar permisos a nuestro usuario en el sistema de gestión de permisos <code>sudo</code>. Para ello, ejecutamos el comando <code>visudo</code> y añadimos en el editor que se abre a continuación la siguiente línea:<br />
<code><br />
nombre_usuario    ALL=(ALL:ALL) ALL<br />
</code></p>
<p>Esta línea sólo nos hará falta hasta que terminemos la instalación. A cotinuación nos salimos de la sesión de administrador y, como nuestro usuario estándar del sistema, nos descargamos el siguiente <em>script</em>:<br />
<code><br />
wget http://dl.dropbox.com/u/29081229/Steam/debian_install.sh<br />
</code></p>
<p>Le damos también permisos de ejecución como antes y lo ejecutamos. Con esto ya estará lista una versión más moderna de la librería libc6 de la que viene en Wheezy y que es necesaria para Steam. Sólo queda descargarse el script que nos va a permitir ejecutar Steam sin problemas:<br />
<code><br />
wget http://dl.dropbox.com/u/29081229/Steam/debian_steam.sh<br />
</code></p>
<p>Igualmente, le damos permisos de ejecución y lo arrancamos, con lo que el cliente Steam se iniciará, se autoactualizará y terminará pidiendo nuestro usuario y contraseña en el sistema de Valve. Una vez comprobado que todo está bien, no debemos olvidar que hay que eliminar de <code>sudo</code> la línea que insertamos antes. Sólo quedaría crearnos un icono en nuestro escritorio o en nuestro menús que invocara Steam a través del último script descargado. Hay que recordar que no debemos utilizar el icono que el propio Steam nos instala, ya que no funcionará.</p>
<p>Personalmente me encontré con un error en el propio Steam al iniciarlo por primera vez, en el que se quejaba de que no encontraba la librería steamui.so. Realmente el problema era que no contaba con todas las librerías i386 necesarias, así que me bastó con instalar el paquete <code>ia32-libs</code> para resolver el problema.</p>
<p>A pesar del tutorial, reconozco que se trata de un proceso complejo. Lo suyo sería que Valve publicara una versión para Debian, pero ya que no es así al menos este tutorial nos asegura el poder disfrutar de buenos juegos en nuestro Linux. ¡A pasarlo bien!</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/13BtyokTAwo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/02/19/instalando-steam-en-debian-wheezy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Virtualización en escritorios (III): VMWare</title>
		<link>http://www.activasistemas.com/blog/2013/02/12/virtualizacion-en-escritorios-iii-vmware/</link>
		<comments>http://www.activasistemas.com/blog/2013/02/12/virtualizacion-en-escritorios-iii-vmware/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 09:43:31 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[escritorio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualizacion]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1667</guid>
		<description><![CDATA[Continuamos con la serie de artículos dedicada a la virtualización en escritorios con el repaso a otra de las soluciones más populares del mercado. En esta ocasión se trata de VMWare, uno de los pioneros en esto de la virtualización &#8230; <a href="http://www.activasistemas.com/blog/2013/02/12/virtualizacion-en-escritorios-iii-vmware/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Continuamos con la serie de artículos dedicada a la virtualización en escritorios con el repaso a otra de las soluciones más populares del mercado. En esta ocasión se trata de VMWare, uno de los pioneros en esto de la virtualización de sistemas, siendo al igual que Virtualbox una de las opciones más sencillas de instalar y utilizar, aunque con el inconveniente de que se trata de una solución completamente privativa con versiones tanto de pago como gratuitas.<span id="more-1667"></span></p>
<p>VMWare fue desarrollado por VMware Inc., que presentó al público en Mayo de 1999 un producto para escritorios, VMWare Workstation. Posteriormente entró en 2001 en el mercado de servidores con VMware GSX Server y VMware ESX Server. En 2004, la empresa se convirtió en filial de EMC Corporation.</p>
<p>Los productos de VMWare se ejecutan sobre Linux, Windows y Mac OS X sobre procesadores Intel, y es capaz de alojar a una gran cantidad de sistemas virtualizados. En el ámbito que nos ocupa, el de los escritorios, VMWare ofrece un producto gratuito llamado VMWare Player, que no solo ejecuta máquinas virtuales sino que también es capaz de crearlas. Su instalación es tan sencilla como <a href="http://www.vmware.com/go/downloadplayer" target="_blank">descargarse de la web oficial el instalador</a> correspondiente al sistema operativo anfitrión de nuestra elección y proceder a su ejecución. En el caso de Debian, es más que interesante seguir las <a href="http://wiki.debian.org/VMware#VMWare_Player_4_and_VMWare_Workstation_8" target="_blank">instrucciones</a> del wiki oficial del proyecto.</p>
<p>La existencia de una versión gratuita para escritorios convierte a VMWare en una opción muy asequible para los usuarios incluso de entornos corporativos, ya que su licencia así lo permite. Además, el formato que utiliza para los discos virtuales es gestionable incluso desde herramientas de licencia libre. Por último, existen numerosas máquinas virtuales con aplicaciones instaladas disponibles para su descarga en Internet, lo que hace ganar puntos a VMWare como opción interesante para nuestros escritorios.</p>
<p>VMWare basa su funcionamiento en la virtualización parcial del hardware, es decir, emula ciertas partes de la plataforma hardware sobre la que corre el sistema huésped, como el adaptador de vídeo, la tarjeta de red y los controladores de disco, mientras que pasa directamente al hardware real las llamadas a ciertos componentes, como los dispositivos USB, serie y paralelo. Esto implica una alta portabilidad entre anfitriones, siendo posible pausar una VM en un sistema, copiarla a otro y seguir allí su ejecución como si nada hubiese pasado. Asimismo, el rendimiento es generalmente superior al de soluciones de virtualización completa, aunque esto depende del uso que se le dé a la virtualización.</p>
<p>Al igual que en el caso de Virtualbox, quiero daros un consejo a la hora de crear nuevas máquinas virtuales. Cuando tengamos que crear el almacenamiento de la VM y se nos pregunte por el tipo de asignación del espacio, debemos asegurarnos de que sea dinámico y no fijo, de forma que no perdamos en el disco físico todo el espacio reservado para la VM mientras no esté en uso.</p>
<p>A pesar de las virtudes de VMWare y de tratarse de un producto robusto y estable con numerosas posibilidades, para mí chirría el hecho de que se trata de un producto privativo, por lo que prefiero otras soluciones que son tan completas como VMWare pero de licencia libre como KVM, que revisaremos en un artículo próximo. En cualquier caso, espero vuestras experiencias con VMWare.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/IBDcj98XLyU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/02/12/virtualizacion-en-escritorios-iii-vmware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video.js, reproductor de video HTML5 de licencia libre</title>
		<link>http://www.activasistemas.com/blog/2013/02/05/video-js-reproductor-de-video-html5-de-licencia-libre/</link>
		<comments>http://www.activasistemas.com/blog/2013/02/05/video-js-reproductor-de-video-html5-de-licencia-libre/#comments</comments>
		<pubDate>Tue, 05 Feb 2013 09:08:04 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[typo3]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1657</guid>
		<description><![CDATA[Como comentaba en el artículo anterior, la reproducción de vídeos bajo HTML5 no es precisamente la panacea debido a que estábamos obligados a contar con tres versiones del mismo vídeo, una por cada códec soportado por los navegadores modernos, cuyos &#8230; <a href="http://www.activasistemas.com/blog/2013/02/05/video-js-reproductor-de-video-html5-de-licencia-libre/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Como comentaba en el artículo anterior, la reproducción de vídeos bajo HTML5 no es precisamente la panacea debido a que estábamos obligados a contar con tres versiones del mismo vídeo, una por cada códec soportado por los navegadores modernos, cuyos responsables no supieron (o no quisieron) ponerse de acuerdo cuando llegó el momento de estandarizar el soporte de la etiqueta <code>video</code>. Aunque estas tres versiones, junto con el JPG que hace las veces de póster, se consiguen fácilmente con el <em>script</em> del <a href="http://www.activasistemas.com/blog/2013/01/28/conversion-de-videos-a-html5-en-debian-wheezy/" target="_blank">mencionado artículo</a>, al final triplicamos el espacio necesario para alojar los vídeos y complicamos el código para la reproducción de los mismos.<span id="more-1657"></span></p>
<p>Desgraciadamente no es el único problema. Otra dificultad que se nos presenta es cómo dar soporte a aquellos navegadores que no pueden mostrar vídeos en HTML5, lo cual generalmente se resuelve presentando un reproductor en Flash. Es decir, que una de las grandes ventajas de HTML5 (prescindir de Flash) la perdemos en estos casos.</p>
<p>El último problema que me he encontrado es el de que cada navegador muestra en pantalla un reproductor de vídeo diferente con un estilo estético distinto. Puede que esto no parezca tan importante, pero cuando uno ha invertido en un diseño y en ofrecer la mejor de las experiencias posibles para el usuario, esta diferencia de comportamiento puede suponer un quebradero de cabeza.</p>
<p>El camino que he tomado en el caso de la web que estamos migrando es el de utilizar <a href="http://videojs.com/" target="_blank">Video.js</a>, un reproductor de vídeo HTML5 de licencia libre que resuelve los problemas mencionados: se encarga de generar automáticamente el código para las tres versiones del vídeo, incluye un reproductor Flash para los navegadores antiguos y ofrece un aspecto estético común para todos los navegadores, pudiendo incluso utilizar temas para personalizar el diseño.</p>
<p>Para utilizar Video.js en un proyecto web no hace falta ni siquiera descargarlo, ya que enlazaremos con él desde nuestro código. No voy a repetir las <a href="http://videojs.com/#section5" target="_blank">instrucciones</a> que aparecen en su sitio web oficial, pero básicamente consisten en incluir una serie de etiquetas en las secciones <code>head</code> y <code>body</code> de nuestra web.</p>
<p>Aún así, si estamos utilizando un CMS, suele ser más sencillo utilizar algún módulo, extensión o <em>plugin</em> propio que nos ofrezca esta funcionalidad. Por ejemplo, en el caso que nos ocupa, donde estamos utilizando TYPO3, hemos elegido la extensión <code>html5videoplayer</code>. Una vez instalada, basta con insertar el <em>plugin</em> en la página en la que queremos utilizarlo y configurarlo con los vídeos a mostrar, pudiendo reproducir uno sólo o un conjunto de ellos.</p>
<p>En definitiva, a pesar de las dificultades y los obstáculos, HTML5 es el camino a seguir. Con las herramientas adecuadas, este camino será mucho más sencillo y apacible. Espero vuestros comentarios y experiencias con Video.js.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/TOL7Inv0wy0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/02/05/video-js-reproductor-de-video-html5-de-licencia-libre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conversion de videos a HTML5 en Debian Wheezy</title>
		<link>http://www.activasistemas.com/blog/2013/01/28/conversion-de-videos-a-html5-en-debian-wheezy/</link>
		<comments>http://www.activasistemas.com/blog/2013/01/28/conversion-de-videos-a-html5-en-debian-wheezy/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 10:28:44 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1635</guid>
		<description><![CDATA[Estamos actualmente inmersos en un proyecto web consistente en la migración del actual motor al gestor de contenidos TYPO3. Se trata de una web con una importante carga de vídeos (unos 5 GB), los cuales están codificados como DivX, con &#8230; <a href="http://www.activasistemas.com/blog/2013/01/28/conversion-de-videos-a-html5-en-debian-wheezy/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Estamos actualmente inmersos en un proyecto web consistente en la migración del actual motor al gestor de contenidos TYPO3. Se trata de una web con una importante carga de vídeos (unos 5 GB), los cuales están codificados como DivX, con la consiguiente complicación a la hora de asegurarse de que se visualizan correctamente en todas las plataformas de navegación actuales. Dado que existen algunas en las que esto ya no es posible (sobre todo en tablets y <em>smartphones</em>), la solución que planteamos era tirar de estándar y convertir toda la base audiovisual a HTML5, lo cual no es la panacea como comentaré más adelante, pero que al menos nos asegura que los vídeos podrán visualizarse adecuadamente de aquí a unos años.<span id="more-1635"></span></p>
<p>Como estamos hablando de más de 150 vídeos, es evidente que la conversión no se podía hacer a mano, así que buscando por Google me encontré en un blog con <a href="http://sandalov.org/blog/1184/" target="_blank">una solución que podía automatizar el proceso</a>, basada en la herramienta de línea de comandos <em>ffmpeg</em>, una verdadera navaja suiza para la codificación y conversión de material audiovisual.</p>
<p>Se trata de un <em>script</em> para Linux que toma como parámetro de entrada el vídeo a convertir y que produce como salida tres versiones del vídeo (una por cada codec soportado por la etiqueta <code>video</code>), una captura de pantalla en JPG para el parámetro <code>poster</code> y un pequeño código HTML para visualizarlo todo (que en TYPO3 no es necesario pero que no viene mal para otras situaciones). Sin embargo, el script no funcionaba bien del todo por varios motivos: algunos parámetros de invocación de <em>ffmpeg</em> estaban obsoletos, la visualización de los vídeos en las plataforma móviles de Apple no es correcta (como bien apuntaban en los comentarios del blog) y la generación del HTML para la visualización no funcionaba. Así que me puse manos a la obra y resolví los tres problemas (del segundo ya tenía la solución en los comentarios, como ya he dicho), obteniendo este script:</p>
<div id="fvch-codeblock-0" class="fvch-codeblock">
<table>
<tr>
<td class="fvch-line-numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
</pre>
</td>
<td class="fvch-code">
<pre id="fvch-code-0"><span class="php"><span class="php-comment">#!/bin/bash</span>
 
<span class="php-keyword">if</span> <span class="php-brackets">[</span><span class="php-brackets">[</span> <span class="php-var">$1</span> <span class="php-brackets">]</span><span class="php-brackets">]</span>
then
    filename<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span><span class="php-function">basename</span> <span class="php-string">&quot;$1&quot;</span><span class="php-brackets">)</span>
    filename<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>filename<span class="php-operator">%</span><span class="php-operator">.</span><span class="php-operator">*</span><span class="php-brackets">}</span>
    directory<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span><span class="php-function">dirname</span> <span class="php-string">&quot;$1&quot;</span><span class="php-brackets">)</span>
 
    duration<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span>ffmpeg <span class="php-operator">-</span>i <span class="php-string">&quot;$1&quot;</span> <span class="php-number">2</span><span class="php-operator">&gt;</span><span class="php-operator">&amp;</span><span class="php-number">1</span> <span class="php-operator">|</span> grep Duration <span class="php-operator">|</span> awk <span class="php-string">'{print $2}'</span> <span class="php-operator">|</span> tr <span class="php-operator">-</span>d ,<span class="php-brackets">)</span>
    minutes<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>duration<span class="php-operator">%</span><span class="php-operator">:</span><span class="php-operator">*</span><span class="php-brackets">}</span>
    hours<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>minutes<span class="php-operator">%</span><span class="php-operator">:</span><span class="php-operator">*</span><span class="php-brackets">}</span>
    minutes<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>minutes<span class="php-comment">##*:}</span>
    seconds<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>duration<span class="php-comment">##*:}</span>
    seconds<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">{</span>seconds<span class="php-operator">%</span><span class="php-operator">.</span><span class="php-operator">*</span><span class="php-brackets">}</span>
 
    hours<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span><span class="php-brackets">(</span>hours<span class="php-operator">*</span><span class="php-number">3</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-brackets">)</span><span class="php-brackets">)</span>
    minutes<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span><span class="php-brackets">(</span>minutes<span class="php-operator">*</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span><span class="php-brackets">)</span>
 
    total<span class="php-operator">=</span><span class="php-var">$</span><span class="php-brackets">(</span>expr <span class="php-var">$hours</span> <span class="php-operator">+</span> <span class="php-var">$minutes</span> <span class="php-operator">+</span> <span class="php-var">$seconds</span><span class="php-brackets">)</span>
    number<span class="php-operator">=</span><span class="php-var">$RANDOM</span>
    let <span class="php-string">&quot;number %= $total&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Generating thumbnail&quot;</span>
    ffmpeg <span class="php-operator">-</span>i <span class="php-string">&quot;$1&quot;</span> <span class="php-operator">-</span>filter<span class="php-operator">:</span>v yadif <span class="php-operator">-</span>an <span class="php-operator">-</span>ss <span class="php-var">$number</span> <span class="php-operator">-</span>t <span class="php-number">0</span><span class="php-number">0</span><span class="php-operator">:</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-operator">:</span><span class="php-number">0</span><span class="php-number">1</span> <span class="php-operator">-</span>r <span class="php-number">1</span> <span class="php-operator">-</span>y <span class="php-operator">-</span>vcodec mjpeg <span class="php-operator">-</span>f mjpeg <span class="php-string">&quot;$directory/$filename.jpg&quot;</span> <span class="php-number">2</span><span class="php-operator">&gt;</span><span class="php-operator">&amp;</span><span class="php-number">1</span>
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Converting $filename to ogv&quot;</span>
    ffmpeg <span class="php-operator">-</span>i <span class="php-string">&quot;$1&quot;</span> <span class="php-operator">-</span>acodec libvorbis <span class="php-operator">-</span>ac <span class="php-number">2</span> <span class="php-operator">-</span>ab <span class="php-number">9</span><span class="php-number">6</span>k <span class="php-operator">-</span>ar <span class="php-number">4</span><span class="php-number">4</span><span class="php-number">1</span><span class="php-number">0</span><span class="php-number">0</span> <span class="php-operator">-</span>b<span class="php-operator">:</span>v <span class="php-number">3</span><span class="php-number">4</span><span class="php-number">5</span>k <span class="php-string">&quot;$directory/$filename.ogv&quot;</span>
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Finished ogv&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Converting $filename to webm&quot;</span>
    ffmpeg <span class="php-operator">-</span>i <span class="php-string">&quot;$1&quot;</span> <span class="php-operator">-</span>acodec libvorbis <span class="php-operator">-</span>ac <span class="php-number">2</span> <span class="php-operator">-</span>ab <span class="php-number">9</span><span class="php-number">6</span>k <span class="php-operator">-</span>ar <span class="php-number">4</span><span class="php-number">4</span><span class="php-number">1</span><span class="php-number">0</span><span class="php-number">0</span> <span class="php-operator">-</span>b<span class="php-operator">:</span>v <span class="php-number">3</span><span class="php-number">4</span><span class="php-number">5</span>k <span class="php-string">&quot;$directory/$filename.webm&quot;</span>
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Finished webm&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Converting $filename to h264&quot;</span>
    ffmpeg <span class="php-operator">-</span>i <span class="php-string">&quot;$1&quot;</span> <span class="php-operator">-</span>acodec aac <span class="php-operator">-</span>ab <span class="php-number">1</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-number">0</span> <span class="php-operator">-</span>vcodec libx<span class="php-number">2</span><span class="php-number">6</span><span class="php-number">4</span> <span class="php-operator">-</span>vpre ipod<span class="php-number">6</span><span class="php-number">4</span><span class="php-number">0</span> <span class="php-operator">-</span>b<span class="php-operator">:</span>v <span class="php-number">3</span><span class="php-number">4</span><span class="php-number">5</span>k <span class="php-operator">-</span>threads <span class="php-number">0</span> <span class="php-operator">-</span>pix_fmt yuv<span class="php-number">4</span><span class="php-number">2</span><span class="php-number">0</span>p <span class="php-operator">-</span>f mp<span class="php-number">4</span> <span class="php-operator">-</span>strict <span class="php-operator">-</span><span class="php-number">2</span>  <span class="php-string">&quot;$directory/$filename.mp4&quot;</span>
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Finished h264&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Writing HTML...&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;pre&gt;
&lt;video width=\&quot;320\&quot; height=\&quot;240\&quot; controls=\&quot;controls\&quot; poster=\&quot;\&amp;quot;$filename.jpg\&amp;quot;\&quot; preload=\&quot;\&quot;&gt;&lt;source src=\&quot;\&amp;quot;$filename.ogv\&amp;quot;\&quot; type=\&quot;\&amp;quot;video/ogg\&amp;quot;\&quot; /&gt;&lt;source src=\&quot;\&amp;quot;$filename.webm\&amp;quot;\&quot; type=\&quot;\&amp;quot;video/webm\&amp;quot;\&quot; /&gt;&lt;source src=\&quot;\&amp;quot;$filename.mp4\&amp;quot;\&quot; type=\&quot;\&amp;quot;video/mp4\&amp;quot;\&quot; /&gt;&quot;</span> <span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 <span class="php-keyword">echo</span> <span class="php-string">&quot; &quot;</span> <span class="php-operator">&gt;</span><span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 <span class="php-keyword">echo</span> <span class="php-string">&quot; &quot;</span> <span class="php-operator">&gt;</span><span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 <span class="php-keyword">echo</span> <span class="php-string">&quot; &quot;</span> <span class="php-operator">&gt;</span><span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 <span class="php-keyword">echo</span> <span class="php-string">&quot; Sorry, your browser does not support HTML5 video&quot;</span> <span class="php-operator">&gt;</span><span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 <span class="php-keyword">echo</span> <span class="php-string">&quot;&lt;/video&gt;
&lt;/pre&gt;&quot;</span> <span class="php-operator">&gt;</span><span class="php-operator">&gt;</span> <span class="php-string">&quot;$directory/$filename.html&quot;</span>
 
    <span class="php-keyword">echo</span> <span class="php-string">&quot;All Done!&quot;</span>
<span class="php-keyword">else</span>
    <span class="php-keyword">echo</span> <span class="php-string">&quot;Usage: [filename]&quot;</span>
fi</span></pre>
</td>
</tr>
</table>
</div>
<p>Basta con copiarlo y guardarlo en un fichero al que daremos un nombre descriptivo (por ejemplo, <code>convertHTML5</code>) y que deberemos almacenar en una ruta dentro de nuestro camino de ejecución. Personalmente, sugiero <code>/usr/local/bin</code> en base a las recomendaciones del estándar Linux para los sistemas de ficheros. Antes de proceder a su ejecución, debemos asegurarnos de que el <em>script</em> tiene los permisos adecuados:<br />
<code><br />
# chmod 755 /usr/local/bin/convertHTML5<br />
</code></p>
<p>Igualmente, debemos asegurarnos de que las herramientas de apoyo que el script necesita están instaladas en nuestro sistema. En el caso de Debian, necesitamos al menos tener instalada Wheezy para asegurarnos de que las versiones de dichas herramientas son lo suficientemente actuales para que hagan su trabajo adecuadamente. Para ello además deberemos incluir el repositorio Debian Multimedia en nuestra lista en <code>/etc/apt/sources.list</code>:<br />
<code><br />
deb http://oktan.ls.fi.upm.es/debian-multimedia/ wheezy main non-free<br />
</code></p>
<p>Tras actualizar la base de datos de paquetes:<br />
<code><br />
# apt-get update<br />
</code></p>
<p>procedemos a instalar los paquetes necesarios:<br />
<code><br />
# apt-get install ffmpeg x264 yasm lame libvpx1<br />
</code></p>
<p>Ya podemos proceder a convertir automáticamente todos nuestros vídeos, para lo cual lanzaremos un pequeño bucle:<br />
<code><br />
# for i in *.{avi,AVI}; do convertHTML5 $i; done<br />
</code></p>
<p>Si tenemos vídeos en otros formatos diferentes a DivX, como WMV, MPG o MOV, basta con que añadamos sus extensiones a la lista dentro de las llaves en el bucle. <em>ffmpeg</em> es lo suficientemente inteligente para detectar el formato de entrada y actuar en consecuencia.</p>
<p>Como decía más arriba, este <em>script</em> da como salida tres versiones del vídeo original, uno en cada uno de los formatos (MP4, WEBM, OGV) que soporta la etiqueta <code>video</code> de HTML5. El motivo es que la conocida guerra de codecs se saldó con que cada navegador y plataforma soporta un formato diferente, lo que obliga a mantener una versión de cada uno para que todos los usuarios puedan disfrutar del material audiovisual sin importar cómo se conectan al sitio web. Lo único que ha provocado esta falta de entendimiento es que los desarrolladores tenemos que sufrir esta pesadilla y al menos duplicar el espacio dedicado a los audios y vídeos que queramos servir a través de HTML5. Entiendo que es muy positivo sustituir a Flash de una vez por todas, pero no a cualquier precio. De ahí mi comentario inicial de que esta solución no es precisamente una panacea.</p>
<p>En cualquier caso, este script nos está siendo de gran utilidad y por eso lo compartimos, esperando que también sea útil a nuestros lectores. Espero vuestros comentarios y posibles mejoras que se os puedan ocurrir.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/AxUAcIHiD2A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/01/28/conversion-de-videos-a-html5-en-debian-wheezy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Virtualización en escritorios (II): Virtualbox</title>
		<link>http://www.activasistemas.com/blog/2013/01/18/virtualizacion-en-escritorios-ii-virtualbox/</link>
		<comments>http://www.activasistemas.com/blog/2013/01/18/virtualizacion-en-escritorios-ii-virtualbox/#comments</comments>
		<pubDate>Fri, 18 Jan 2013 10:10:58 +0000</pubDate>
		<dc:creator>Marco Antonio Blanco</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[escritorio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualizacion]]></category>

		<guid isPermaLink="false">http://www.activasistemas.com/blog/?p=1599</guid>
		<description><![CDATA[Tras la presentación de lo que es la virtualización de sistemas, sus ventajas y los casos de uso más habituales, voy seguir esta serie de artículos dedicada a la virtualización en escritorios con el repaso a las soluciones más populares &#8230; <a href="http://www.activasistemas.com/blog/2013/01/18/virtualizacion-en-escritorios-ii-virtualbox/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Tras la presentación de lo que es la virtualización de sistemas, sus ventajas y los casos de uso más habituales, voy seguir esta serie de artículos dedicada a la virtualización en escritorios con el repaso a las soluciones más populares existentes en el mercado. Para ello, empezaré con Virtualbox, una de las opciones más sencillas de instalar y utilizar.<span id="more-1599"></span></p>
<p>Virtualbox fue originalmente desarrollado por la empresa alemana innotek GmbH, que lo vendió en 2008 a Sun Microsystems, terminando en manos de Oracle con el resto de activos de Sun (como Java, MYSQL, Solaris, etc.) cuando se produjo la famosa adquisición. Se ejecuta en los sistemas operativos más populares y en otros minoritarios, como el propio Solaris o FreeBSD, y es capaz de alojar a una ingente cantidad de sistemas virtualizados, incluyendo OS/2. Su instalación es tan sencilla como descargarse de la web oficial el instalador correspondiente al sistema operativo anfitrión de nuestra elección y proceder a su ejecución, tras lo cual hay que proceder también a descargar e instalar el &#8220;VirtualBox extension pack&#8221;, que amplía las posibilidades del paquete original con soporte USB 2.0, RDP y arranque PXE. Sin embargo, en el caso de Debian es aún más sencillo como veremos más adelante.</p>
<p>La existencia del &#8220;VirtualBox extension pack&#8221; se debe a la especial licencia del software. En la actualidad, el núcleo de Virtualbox se distribuye bajo la licencia libre GPLv2, mientras que las características extendidas antes mencionadas sólo están accesibles mediante una licencia privativa para uso y evaluación personal. Esto convierte a Virtualbox en una opción muy asequible para usuarios domésticos y en entornos educativos, pero pierde enteros en entornos corporativos frente a soluciones completamente libres y, en lo referente a costes de licencias, gratuitas.</p>
<p>Virtualbox basa su funcionamiento en la virtualización completa (<em>full virtualization</em>), es decir, en la emulación al 100% de la plataforma hardware sobre la que corre el sistema huésped, de forma que éste nunca accede directamente a los recursos del hardware del anfitrión. Así, es posible instalar prácticamente cualquier sistema operativo sin modificar ni adaptar al entorno virtualizado, a cambio de una apreciable pérdida de rendimiento por la emulación por software del hardware. Sin embargo, los desarrolladores de Virtualbox han hecho un buen trabajo intentando que dicha pérdidad de rendimiento no sea tan grande, sobre todo gracias al uso del soporte de virtualización en hardware que los procesadores modernos traen de serie.</p>
<p>Como comentaba antes, la instalación en Debian es aún más sencilla que en otros sistemas gracias al uso de repositorios. Aunque Virtualbox está disponible en los repos oficiales, yo prefiero utilizar los que Oracle pone a disposición de los usuarios ya que así nos aseguramos tener siempre acceso a la última versión disponible. De hecho, a la hora de escribir este artículo, he comprobado que en Debian tenemos la versión 4.1, mientras que en el repositorio de Oracle contamos con la 4.2, publicada en Septiembre de 2012.</p>
<p>Empezamos por tanto la instalación añadiendo el repositorio oficial de Oracle a nuestra lista, bien a través del Centro de Software o bien editando directamente el fichero <code>/etc/apt/sources.list</code>, operaciones que sólo podemos realizar como administradores del sistema. Utilizaremos esta línea si usamos Squeeze:<br />
<code><br />
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib<br />
</code></p>
<p>o bien ésta otra si usamos Wheezy:<br />
<code><br />
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib<br />
</code></p>
<p>Ahora actualizamos la base de datos de paquetes:<br />
<code><br />
# apt-get update<br />
</code></p>
<p>Y procedemos a instalar Virtualbox:<br />
<code><br />
# apt-get install virtualbox-4.2<br />
</code></p>
<p>Sólo queda darle permisos de acceso a Virtualbox a aquellos usuarios del sistema anfitrión que queramos. Para ello, basta con añadirlos al grupo de usuarios <code>vboxusers</code>, de forma que Virtualbox pueda ejecutarse con pleno acceso a los recursos que necesita cuando es invocado por dichos usuarios. Por ejemplo, si queremos darle permiso al usuario <code>marco</code>, lanzamos el siguiente comando:<br />
<code><br />
# adduser marco vboxusers<br />
</code></p>
<p>Listo. Ahora invocamos Virtualbox desde el icono que se ha debido instalar en nuestros menús y debería aparecer una pantalla como ésta:</p>
<div id="attachment_1628" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.activasistemas.com/blog/wp-content/uploads/2013/01/virtualbox2.png"><img src="http://www.activasistemas.com/blog/wp-content/uploads/2013/01/virtualbox2-300x227.png" alt="Virtualbox recién instalado" width="300" height="227" class="size-medium wp-image-1628" /></a><p class="wp-caption-text">Virtualbox recién instalado</p></div>
<p>En el caso de que la licencia nos lo permita, podemos proceder entonces a instalar el &#8220;extension pack&#8221;, que descargaremos previamente de la <a href="https://www.virtualbox.org/wiki/Downloads" target="_blank">página de descargas de Virtualbox</a> (una única descarga para todas las plataformas). Una vez hayamos cerrado Virtualbox, procedemos a la instalación del paquete como administradores con este comando:<br />
<code><br />
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack<br />
</code></p>
<p>Alguien me dirá que es más sencillo hacer un simple doble click sobre el fichero del paquete o instalarlo a través del menú de preferencias del propio Virtualbox (y no les falta razón), pero de este modo sólo se instala para el usuario que está instalando el paquete y no para todos los del sistema anfitrión. Además, desde línea de comandos tendremos acceso a cualquier error que se produzca y, aunque parezca increible, podremos actualizar el paquete, algo que no parece posible desde los otros métodos si no desinstalamos primero el existente.</p>
<p>Sólo queda crear nuestras propias máquinas virtuales a través del sencillo asistente que Virtualbox ofrece al pulsar el botón &#8220;Nueva&#8221; y personalizarlas a través del botón &#8220;Configurar&#8221;, como se puede ver en la siguiente pantalla:</p>
<div id="attachment_1623" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.activasistemas.com/blog/wp-content/uploads/2013/01/virtualbox1.png"><img class=" wp-image-1623" alt="virtualbox1" src="http://www.activasistemas.com/blog/wp-content/uploads/2013/01/virtualbox1-300x227.png" width="300" height="227" /></a><p class="wp-caption-text">Virtualbox con una VM creada</p></div>
<p>Como se puede apreciar en el pantallazo, tengo una máquina virtual (VM) ya creada basada en Debian y que tengo suspendida en plena ejecución, de forma que cuando la inicie seguirá corriendo por donde iba cuando se detuvo.</p>
<p>Un consejo a la hora de crear nuevas máquinas virtuales. El asistente nos preguntará por el almacenamiento de la VM, que debería ser en un fichero alojado en un dispositivo local (trabajar con VMs en red supone una enorme pérdida de rendimiento). Cuando nos pregunte por el tipo de asignación del espacio, debemos asegurarnos de que sea dinámico y no fijo, de forma que no perdamos en el disco físico todo el espacio reservado para la VM mientras no esté en uso.</p>
<p>Si además nos aseguramos de que en la configuración de cada VM estén activas las extensiones de virtualización del procesador, tendremos un sistema de virtualización completo y lleno de posibilidades para nuestro escritorio. Espero vuestras experiencias con Virtualbox.</p>
<img src="http://feeds.feedburner.com/~r/ElBlogDeActivaSistemas/~4/jcnhoVM8mY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.activasistemas.com/blog/2013/01/18/virtualizacion-en-escritorios-ii-virtualbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
