sábado, 14 de diciembre de 2013

Como instalar spice-xpi en Ubuntu

Este post está dirigido a aquellos que saben que es spice-xpi y que utilizan una distribución basada en Debian como Ubuntu.


Spice es el protocolo de acceso remoto que compró Red Hat como parte de la adquisición de Qumranet en el 2008.   Este protocolo tiene muy buenas ventajas frente a otros protocolos existentes en el mercado, sin embargo y debido a la baja tajada del mercado de virtualización que tiene Red Hat es muy poco conocido incluso para aquellos que están en el medio especializado.

Afortunadamente Red Hat Enterprise Virtualization RHEV está logrando cierta penetración en el mercado y está comenzando a ganar cierto interés y reputación.  De hecho mi compañía (SEAQ) ha logrado varios contratos para implementar con éxito está tecnología.

Yo uso primordialmente Ubuntu como mi escritorio de elección y de vez en cuando debo acceder a consolas de máquinas virtuales usando Spice, como esta es una tecnología Red Hat obviamente esta certificada para trabajar en escritorios Red Hat y Fedora pero no está oficialmente disponible para Ubuntu, a pesar del formidable esfuerzo realizado por múltiples personas alrededor del mundo con algunos PPAs (Como el PPA de Jason Brooks) por diferentes razones no conocidas por mí (seguramente la falta de tracción) el paquete no ha llegado a Debian y por ende tampoco ha logrado llegar a Ubuntu.

Afortunadamente para nosotros, un señor llamado Petter Reinholdtsen (thank you Petter) hizo todo el trabajo sucio y armo un paquete que envió a la cola NEW de Debian Unstable. Sin embargo como el proceso de aprobación puede ser un poco demorado les comparto este atajo mientras tanto:


1. Obtenga el paquete spice-xpi de Fedora o Red Hat  (Puede necesitar una suscripción Red Hat para el último enlace)

2. Instale alien en su máquina Ubuntu (sudo apt-get install alien)

3. Convierta el RPM en un DEB. ( sudo alien spice-xpi-2.7-24.el6.x86_64.rpm)

4. Install spice-xpi dependencies (sudo apt-get install spice-client liblog4cpp5 )

5. Instale el paquete convertido (sudo dpkg -i spice-xpi_2.7-25_amd64.deb)

6. Esta es la parte FEA, pero funciona a menos que requiera hacer debugging. El paquete spice-xpi requiere la librería liblog4cpp4 y acabamos de instalar la versión 5.  Necesitamos "hackear" eso.

sudo ln -s /usr/lib/liblog4cpp.so.5 /usr/lib/liblog4cpp.so.4
sudo ldconfig

7. Un hack adicional, el paquete de Firefox en Fedora utiliza una ubicación diferente para los plugins de la que usa el paquete de Ubuntu, por lo que debemos corregirlo:

 sudo ln -s /usr/lib64/mozilla/plugins/libnsISpicec.so /usr/lib/mozilla/plugins/libnsISpicec.so


8. Reinicie Firefox y listo:



interesante, eh ?

Después de eso puede ir a la interfaz de RHEV y probarlo:







Super!

How to install spice-xpi in Ubuntu

This post is for those of you who know what actually spice-xpi means and are using a Debian based distribution like Ubuntu.

Spice is the remote access protocol bought by Red Hat as part as the deal made with Qumranet (back in 2008) to absorb the company and all the knowledge and technology embedded with them.

This protocol has pretty solid advantages against other display protocols currently in the market, however and due to the small share that Red Hat has in the Virtualization market its pretty unknown to the public (even the specialized one, which is sad).

Fortunately enough the Red Hat Virtualization platform RHEV is making a small dent an it's gaining traction.  In fact my company (SEAQ) has won several contracts to implement this technology with great success.

I mainly use Ubuntu as my desktop of choice and from time to time I must access VMs Console using Spice, as this is a Red Hat technology it obviously is certified to work with Red Hat and Fedora desktops but is not officially available for Ubuntu, besides the admirable effort made by several people all over the world with some PPAs (Like Jason Brooks' PPA) for diverse reasons not known to me (I suspect lack of traction) it hasn't made to Debian proper and then get this way to Ubuntu universe repositories.

Gladly for us, a guy named Petter Reinholdtsen (thank you Petter) made all the dirty work and sent to the NEW Queue in Debian Unstable a neat Debian package for all of us to consume.  However as the internal approving process may be a little long this is a workaround in the meantime.

1. Grab the Fedora or Red Hat spice-xpi package (You may need a RHN Subscription for the later)

2. Install alien on your Ubuntu machine (sudo apt-get install alien)

3. Convert the RPM package into a Debian one ( sudo alien spice-xpi-2.7-24.el6.x86_64.rpm)

4. Install the converted package (sudo dpkg -i spice-xpi_2.7-25_amd64.deb)

5. Install spice-xpi dependencies (sudo apt-get install spice-client liblog4cpp5 )

6. This is the UGLY part, but it works as long as you don't need debugging.  The spice-xpi package requires de liblog4cpp4 and we just installed the version 5.  We need to "hack" that.

sudo ln -s /usr/lib/liblog4cpp.so.5 /usr/lib/liblog4cpp.so.4
sudo ldconfig

7. An additional hack, Fedora's Firefox build looks for plugins in a different location than Ubuntu's one does.  So we need to correct it.

 sudo ln -s /usr/lib64/mozilla/plugins/libnsISpicec.so /usr/lib/mozilla/plugins/libnsISpicec.so


8. Restart Firefox and take a look:



nice, huh ?

After that you can go to RHEV's interface and give it a test:







Nicer!!!