Windows como escritorio de Linux


Para todos aquellos que solemos usar GNU/Linux estamos muy felices con él, pero siempre hay veces que es necesario tener un Windows a mano. No por que nosotros queramos, sino por que hay veces que se hace estrictamente necesario, bien por una aplicación que no hay versión para Linux, un fichero de office ;-), etc. También se puede dar el caso de un ordenador compartido en el que tras el login se puede iniciar una sesión Windows o Linux.
Ahora imaginémonos que todo el control de usuarios/contraseñas se las dejamos al sistema base (GNU/Linux) y el interfaz gráfico pues a elección de la persona que inicie. Así alguien podría decidir en un momento arrancar con KDE y en otro con WindowsXP. Esta opción daría una gran ventaja, ya que presentaría el equipo Windows como un escritorio más de inicio de sesión.

Por lo tanto, la idea es realizar una pequeña instalación de una máquina con VirtualBox, en nuestro caso y por que nos interesa, con Windows XP y luego agregarla como una opción más en el menú de GDM. Así, cuando un usuario decida arrancar con el escritorio Windows, se iniciará una instancia de dicha máquina virtual, la usará como un escritorio más y al finalizar simplemente volverá a la pantalla de login.
Como veremos a continuación, realizar esto es bastante sencillo, por lo que gracias a puppet replicarlo por una red de ordenadores, léase una facultad por ejemplo, sería muy sencillo.
Vamos a comenzar por el principio pues, realizando la instalación de los paquetes que nos hacen falta en nuestra distribución. En este caso, Debian ;-)
shell> apt-get install virtualbox-ose virtualbox-guest-additions
Al finalizar la instalación, simplemente arrancamos VirtualBox e instalamos el sistema que deseemos. En nuestro caso Windows XP. Creamos el disco (a poder ser, de tamaño fijo) y también le permitimos acceso a la red. Al finalizar toda la instalación, cerramos VirtualBox y seguimos configurando lo que nos falta.
Toca ahora añadir en el menú de GDM una nueva entrada con nuestro nuevo escritorio. Para ello creamos un nuevo fichero llamado WindowsXP.desktop bajo /usr/share/xsessions con el siguiente contenido:
[Desktop Entry]
  Encoding=UTF-8
  Name=Windows XP
  Comment=Use esta sesion para ejecutar Windows XP
  Exec=/usr/bin/Windows-XP-GDM
  Icon=
  Type=Application
Tras guardarlo en GDM ya aparecerá una nueva línea que nos permitirá iniciar sesión en el Windows virtual, pero en ningún lado le hemos dicho nada.
Sí, efectivamente el parámetro Exec del fichero WindowsXP.desktop es el que nos da la solución. Tenemos que crear dicho fichero (/usr/bin/Windows-XP-GDM) y el contenido del mismo será,
#!/bin/bash
VBoxSDL -vm WinXP -fullscreen
Simplemente le indicamos que arranque una estancia de una máquina virtual (en este caso WinXP) y a pantalla completa.

Al iniciar el usuario con este "nuevo escritorio" se iniciará la máquina virtual automáticamente y el usuario verá que su escritorio es realmente un Windows. Cuando la apague, automáticamente regresará a la ventana de login.
En breves intentaré dejar un manifiesto puppet que haga automáticamente este proceso para demostrar lo sencillo que sería distribuir sistema en una red de ordenadores.
Y por si alguien se lo está preguntando, gracias a VirtualBox la aceleración hardware ya no es un problema. Tras instalar la máquina virtual, instalamos los drivers (virtualbox-guest-additions) y todo irá muy fluido. Si te atreves a probarlo, comenta tu experiencia!


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios