domingo, 25 de octubre de 2009

Gnome (gdm) 100% en castellano (spanish) a través de NX (nxserver) en una máquina virtual OpenVZ

Hace tiempo que uso máquinas virtuales basadas en OpenVZ y Ubuntu 8.04 LTS y últimamente me he preguntado... ¿podré poner en marcha un escritorio gnome dentro de una máquina virtual? La respuesta, obviamente, es SÍ.

Para conseguirlo he seguido los pasos que se muestran en las siguientes webs:
Del primer enlace he obtenido la idea inicial de cómo hacerlo y del segundo obtuve la forma de deshabilitar el escritorio por defecto o también llamado escritorio :0.

He aprovechado el tirón para configurar en castellano la máquina virtual. Tanto el acceso por terminal como la interfaz gráfica (gnome) usando el cliente NX será en castellano.

Empecemos...

Primer paso: poner en marcha la máquina virtual



Para ello hemos usado la plantilla (template) de una Ubuntu 8.04 LTS básica que podemos descargarnos de la página web oficial de OpenVZ: http://wiki.openvz.org/Download/template/precreated

cd /var/lib/vz/template/cache/
wget http://download.openvz.org/template/precreated/ubuntu-8.04-x86.tar.gz


Una vez descargada la plantilla podemos crear la máquina virtual:

vzctl create 102 --ostemplate ubuntu-8.04-x86 --config vps.basic

Ahora empezaremos a configurar algunos parámetros para que gnome funcione bien en la máquina virtual. Debemos recordar que un escritorio gráfico consume cierta cantidad de memoria y recursos que tenemos que tener en cuenta

vzctl set 102 --hostname mihost.dominio.ejem --save
vzctl set 102 --ipadd a.b.c.d --save
vzctl set 102 --numothersock 512 --save
vzctl set 102 --nameserver e.f.g.h --save
vzctl set 102 --vmguarpages 131072 --save
vzctl set 102 --oomguarpages 131072 --save
vzctl set 102 --privvmpages 512M:600M --save
vzctl set 102 --privvmpages 131072:196608 --save
vzctl set 102 --cpuunits 1000 --save
vzctl set 102 --cpulimit 50 --save
vzctl set 102 --diskspace 4048576:4153024 --save
vzctl set 102 --diskinodes 400000:440000 --save
vzctl start 102


Hasta aquí hemos configurado el nombre del host, la dirección IP de la máquina virtual, del servidor DNS y por último hemos configurado unos límites generosos de espacio en disco, uso de CPU, memoria, etc.

Ahora procederemos a ponerle contraseña al usuario root para poder entrar por ssh a la máquina virtual:

vzctl exec 102 passwd

Segundo paso: configurando la máquina virtual



Una vez configurada la clave podremos entrar en la máquina virtual usando un cliente SSH. Es *MUY IMPORTANTE* recordar que no se aplicarán configuración de locales, historial de comandos de bash, etc si usamos el comando "vzctl enter 102", por eso desaconsejo entrar de ese modo a la máquina virtual.

ssh root@a.b.c.d

Una vez dentro de la máquina virtual deberemos configurar los repositorios españoles:

echo "deb http://es.archive.ubuntu.com/ubuntu/ hardy main universe multiverse
deb http://es.archive.ubuntu.com/ubuntu/ hardy-updates main universe multiverse
deb http://security.ubuntu.com/ubuntu hardy-security main universe multiverse
" > /etc/apt/sources.list


Una vez hecho esto hay que actualizar la base de datos de paquetes:

apt-get update

Es hora de configurar nuestra máquina virtual en castellano:

apt-get install language-pack-es-base

Por último deberemos actualizar la configuración local:

update-locale LANG="es_ES.UTF-8" LANGUAGE="es_ES.UTF-8" LC_ALL="es_ES.UTF-8"

Tercer paso: instalar Xorg y Gnome



Antes de continuar vamos a instalar algunos paquetes que pueden ser de ayuda más adelante:

apt-get install expect wget tcl8.4 libaudiofile0

Ya estamos listos para la instalación de la interfaz gráfica:

apt-get install xorg language-pack-gnome-es-base gnome

Cuarto paso: configuración de Xorg y Gnome



Lo primero que deberemos hacer es modificar algunos archivos de configuración para impedir que se intente abrir la pantalla por defecto:

En el archivo /etc/gdm/gdm.conf hay que buscar y comentar las siguientes líneas:

#FirstVT=7
#VTAllocation=true


En su lugar, o tras estas líneas comentadas, hay que escribir:

VTAllocation=false

También deberemos buscar en la sección [servers] la siguiente línea y comentarla:

#0=Standard device=/dev/console

Una vez hecho eso teclearemos:

echo 'Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
EndSection
' >> /etc/X11/xorg.conf


Y damos por finalizada la configuración de la interfaz gráfica, es hora de instalar NX.

Quinto paso: instalación del servidor NX



Visitando la página web oficial (http://www.nomachine.com/download.php) usaremos de la página de descargas (http://www.nomachine.com/download-package.php?Prod_Id=1348) aquellos paquetes que nos sean necesarios:

wget "http://64.34.161.181/download/3.4.0/Linux/nxclient_3.4.0-5_i386.deb"
wget "http://64.34.161.181/download/3.4.0/Linux/nxnode_3.4.0-6_i386.deb"
wget "http://64.34.161.181/download/3.4.0/Linux/FE/nxserver_3.4.0-8_i386.deb"
dpkg -i nx*.deb


A estas alturas podemos crear un usuario del sistema para que podamos acceder a la máquina virtual:

useradd -m nuevo_usuario
/usr/NX/bin/nxserver --adduser nuevo_usuario
passwd nuevo_usuario


Paso final: acceder a la máquina virtual desde un cliente NX



¿Listos? ¡Ya!

Descargamos un cliente de NX para nuestro sistema operativo. En caso de usar Windows habrá que descargar también los tipos de letra necesarios.

Configuramos la IP, usuario y clave... ¡y ya estamos dentro!

¿Algún problema con el proceso? Deja tu comentario.