jueves, abril 30, 2009

Kernel Mode-Setting con Intel 945GM en Debian

Hoy dediqué unos minutos a probar Kernel Mode-Setting en el Debian de la laptop, aprovechando que tiene una placa de video Intel Mobile 945GM/PM/GM, que según dicen funciona razonablemente bien para KMS.

El sistema operativo de la laptop es casi en su totalidad Debian Lenny, salvo por el OpenOffice, que es el 3.1 de experimental, por lo que no quería meter demasiados paquetes de otros repositorios.

Para arrancar, hace falta un kernel bastante nuevo. En inestable está el 2.6.29 que para esto viene muy bien. De paso trae soporte para ext4 y btrfs.

Posteriormente, algún servidor X.org más o menos reciente: xorg, xserver-xorg 7.4 y xserver-xorg-core 1.6.1 de unstable, más las dependencias que correspondieron (xserver-xorg-input-*, xserver-xorg-video-*, hal, console-setup, etc.).

También es necesario un driver de video intel actualizado: xserver-xorg-video-intel 2.7.0, con libdrm-intel1 y libdrm2, todo de sid. Y finalmente, para no perder la aceleración 3d, hay que actualizar libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa y mesa-utils a la versión 7.4.

Luego de reiniciar con kernel 2.6.29 (aunque no es necesario, conviene para ver que todo ande correctamente) el pegamento que une a toda esta mezcla es crear un nuevo initrd con KMS habilitado desde el inicio, para ello, en el archivo /etc/initramfs-tools/modules hay que agregar.
# Enable Kernel Modesetting
intel_agp
drm
i915 modeset=1
Y luego regenerar el initramfs:
# update-initramfs -k `uname -r` -u
tal como se especifica en la Debian Wiki.

Como ultimo paso antes de reiniciar con KMS activado hay que editar el archivo de configuración xorg.conf, comentando todas las líneas (todas) o directamente creando un archivo xorg.conf de tamaño cero (previo backup por supuesto) pues ahora el servidor X trata de autodetectar los dispositivos existentes.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre-kms
# rm /etc/X11/xorg.conf
Y listo. Reinicio y arriba KMS.

Con aceleración UXA, compiz y todo, la interfaz gráfica se siente realmente mucho más liviana, incluso mejor que sin compiz en el driver anterior, y el cambio entre terminales y la gráfica es casi imperceptible.

La verdad, es una maravilla. Mis felicitaciones a todos los que metieron código para hacer posible este avance. Esperemos que llegue pronto a las restantes placas de video.

martes, abril 28, 2009

Te invito a salir de Facebook


Mauro tiene:
3.141592 amigos
653 fotos
589 notas
79 publicaciones en el muro
31 grupos
Te invito a salir de Facebook

Hola, Lector:

Estoy un poco cansado de que las redes sociales como myspace, facebook, hi5, dadanet, badoo, tagged, sonico y pichuflito utilicen la lista de contactos de mis amigos para autopromocionarse haciendo spam contra todas las direcciones que poseen. No tengo dudas de que si el servicio realmente vale la pena, mi amigo se tomaría el tiempo de invitarme escribiendo y enviandome un mensaje desde su propia cuenta de correo.

Por eso, te pido que me acompañes en esta cruzada para salir de Facebook, o al menos no darle acceso a tu lista de contactos.

Gracias,
Mauro

Para saber como salir de facebook, hacé clic en alguno de los siguientes enlaces:
http://www.malaspalabras.com/me-borre-de-facebook
http://www.lanacion.com.ar/1088028




Mira quién más te ha invitado a Facebook:
Fernandito Puchero
14 cervezas

Martín Cito
Anís 8 hermanos

viernes, abril 17, 2009

Festival de Instalación de Software Libre FLISoL 2009

El Festival Latinoamericano de Instalación de Software Libre (FLISoL) es el evento de difusión de Software Libre más grande en Latinoamérica. Se realiza desde el año 2005 y su principal objetivo es promover el uso del software libre, dando a conocer al público en general su filosofía, alcances, avances y desarrollo. Para tal fin, las diversas comunidades locales de software libre (en cada país, en cada ciudad/localidad), organizan simultáneamente eventos en los que se instala, de manera gratuita y totalmente legal, software libre en las computadoras que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres, sobre temáticas locales, nacionales y latinoamericanas en torno al Software Libre, en toda su gama de expresiones: artística, académica, empresarial y social.

El FLISOL 2009 se llevará a cabo el sábado 25 de abril. Por cuarta vez consecutiva, el UNLUX organizara la actividad en la ciudad de Luján. Este evento está dirigido a todo público, sin importar el nivel de conocimientos técnicos que se posea. Hay para todos los gustos, cultura y arte libre, licencias y derecho de autor, etc.

Este año la jornada comprenderá la instalación de software libre y se ofrecerán las charlas
  • "Instalación del sistema operativo GNU/Linux Ubuntu"
  • "Un tipo común tambien puede usar Linux"
  • "Vi/Vim no come dedos, es sólo un mito" (Vi/Vim para principiantes)
  • "Cómo meter cuatro elefantes en un fitito" (Virtualización)
    * Los títulos de las charlas pueden no ser los oficiales, sepa ud. disculpar
Agendando...
Más Info en www.installfest.info/FLISOL2009/Argentina/Lujan

martes, abril 07, 2009

Maquinas virtuales como escritorios con VirtualBox y Debian Lenny

Hace un tiempo un colega me comentó una idea bastante extraña que tenía para máquinas virtuales, que podría ayudarle a administrar algunos sistemas bajo su dominio. Me había quedado pendiente publicar este post al respecto.

Viene más o menos así: un lote de computadoras utilizadas en forma alternada por varios usuarios, cada uno de los cuales requiere un conjunto dado de programas instalados; algunos de estos programas son incompatibles entre sí por diferencias de versiones, o presentan conflictos con el sistema operativo, o requieren privilegios de administración, etc.

Entonces pensó en una solución posible utilizando máquinas virtuales para cada usuario, donde tuviera instalado el software que requiere con los privilegios que requiere y con independencia del resto de los usuarios. De esta forma cada persona que llega debería ingresar al sistema, iniciar la aplicación de virtualización, seleccionar e iniciar su máquina virtual, y realizar el procesamiento que requiera. Al finalizar, debería apagar la VM y luego cerrar la sesión en el sistema. Lo mismo que hacemos todos aquellos que usamos VMs.

Pero -dijo- no estaría mal presentarle al usuario una lista de máquinas disponibles ni bien ingresa al sistema, de manera tal de no requerir iniciar la aplicación de virtualización. O mejor, iniciar la máquina virtual asignada al momento de iniciar sesión y presentarla al usuario como si fuera el escritorio real. Al apagar la máquina virtual, el sistema debería volver a la pantalla de login.

Bien, independientemente de que sea una buena o mala solución utilizar VMs, el concepto es interesante.

¿Es posible? Veamos si se puede realizar en forma sencilla con VirtualBox...

1. Preparando el Host

1.1. Instalar con el sistema operativo, en este ejemplo será Debian GNU/Linux 5.0 Lenny con una instalación base. Ni "entorno de escritorio", ni "sistema estándar", ni nada de eso: la idea es mantenerlo lo más sencillo posible.

1.2. Una vez instalado, generalmente desactivo la instalación de paquetes recomendados para no cargar el sistema con paquetes prescindibles. Para ello:

# echo "APT::Install-Recommends \"false\";" >> /etc/apt/apt.conf

1.3. Sobre el S.O. instalar Xorg, LXDE para la administración y GDM como gestor de sesiones. En realidad, es posible utilizar Openbox o Fluxbox solamente y prescindir de LXDE, pero a fines didácticos dejaremos el entorno completo.

# aptitude install xorg lxde gdm

1.4. Sobre esto instalar VirtualBox OSE y los módulos requeridos, que serán cargados automáticamente al iniciar el sistema real.

# aptitude install virtualbox-ose virtualbox-ose-modules-`uname -r`
# echo vboxdrv >> /etc/modules

2. Creando las cuentas de usuario

2.1. Ahora es el turno de crear las cuentas de usuario que tendrán acceso a las máquinas virtuales. Para este ejemplo definiremos tres usuarios que llamaremos asterix, obelix y getafix (algún patrón conocido):

# adduser asterix
# adduser obelix
# adduser getafix

2.2. Es necesario añadir estos usuarios al grupo vboxusers para que puedan utilizar las máquinas virtuales. Es posible hacerlo en la creación, pasando un parámetro al comando adduser, pero así queda bien explícito:

# adduser asterix vboxusers
# adduser obelix vboxusers
# adduser getafix vboxusers

2.3. Reiniciar el equipo para que tome los cambios. Alternativamente es posible cargar vboxdrv y e iniciar GDM. En cualquier caso, al finalizar se verá la pantalla de inicio de sesión. Opcionalmente puede configurarse el gestor gráfico para que muestre la lista de usuarios disponibles (Menú Acciones / Configurar el gestor de entrada).

3. Creando la máquina virtual para un usuario

3.1. Ingresar bajo el nombre de usuario cuya VM se desea crear e iniciar VirtualBox.

3.2. Allí definir una máquina virtual de la manera tradicional, nombrándola igual que el usuario (asterix, en este ejemplo) y estableciendo la memoria a utilizar, el sistema operativo, el tamaño de disco, etc...

3.3. Una vez creada la VM, iniciarla y proceder a instalar el sistema operativo deseado mas las aplicaciones requeridas. Adicionalmente, instalar las "Aplicaciones del huésped" (guest tools) en la máquina virtual.

3.4. Al finalizar, apagar la VM correctamente y cerrar VirtualBox.

4. Estableciendo el inicio de la máquina virtual al inicio de sesión

4.1 Crear un archivo de texto llamado .xsession en el home del usuario, conteniendo lo siguiente:

#!/bin/sh
exec VBoxSDL -vm $USER -fullscreen

4.2. Cerrar la sesión de usuario y volver a iniciar sesión. La máquina virtual deberá iniciar automáticamente en pantalla completa.

4.3. Para salir / cerrar, apagar del sistema operativo virtual, o bien pulsar CtrlDer+H, o CtrlDer+Q. El sistema deberá cerrarse correctamente y volver a la pantalla de inicio de sesión.

5. Crear las máquinas para los restantes usuarios

... procediendo de manera análoga al caso anterior.

6. ¡Listo!

Ya tenemos una VM Jukebox en el equipo, o algo por el estilo.
Ahora a por una buena taza de café.

I. Algunas notas adicionales

I.1. Es posible utilizar VirtualBox 2.1.4 (en vez de 1.6.6), añadiendo el repositorio testing en /etc/apt/sources.list e instalando los módulos apropiados mediante module-assistant.

I.2. Se puede cambiar la configuración de inicio de cada VM desde el mismo script en .xsession. Por ejemplo, si se desea iniciar la máquina virtual con 64 MB de ram, el script deberá contener

exec VBoxSDL -vm $USER -fullscreen -m 64

o para iniciar con una imagen ISO en la unidad de CD virtual:

exec VBoxSDL -vm $USER -fullscreen -cdrom ARCHIVO.ISO -boot d

I.3. Para cambiar la tecla con la cual se administra la máquina virtual, por ejemplo con la tecla WIN Derecha (en vez de con Ctrl Derecha), utilizar:

exec VBoxSDL -vm $USER -fullscreen -hostkey 312 0

donde el valor del parámetro hostkey define la tecla a utilizar. Ejecutando el comando VBoxSDL -detecthostkey en una terminal es posible obtener el parámetro correspondiente al conjunto de pulsaciones deseado.


Bueno, todo esto para ver si la idea era posible usar una máquina virtual como escritorio.
Pues resulta que sí, con algunos comandos y tres líneas de código (4.1).
Creo que no me olvidé ningún paso, en caso contrario, me avisan.

Suerte y saludos!

Actualización 2010: Charly (un maestro!) me ha hecho saber que en Ubuntu 9.10 Karmic, el archivo .xsession es ignorado totalmente, por lo cual al iniciar sesión el usuario vuelve al escritorio de Gnome en vez de ver iniciar la máquina virtual. No tengo idea qué es lo que tuvo en mente la gente de Ubuntu con este extraño comportamiento, pero ya hay varios bugs reportados [398300, 459122, 465349] con algunos parches posibles.