Los equipos de desarrollo de interfaces gráficas dedican su esfuerzo en hacer el ambiente de trabajo mas amigable para el usuario. Puede incluso que KDE haya superado a M$. ¿Pero qué mejor manera de acercarnos al usuario Window$, que imitando su escritorio?.
Exordio
Mandrake ha unificado su set de íconos para todos los ambientes de escritorio. Es probable que Red Hat haga algo similar en su versión 8.x. Conectiva había introducido ya la idea de simular el escritorio Windo$ un buen tiempo atras. Pero para quienes se lo perdieron, aquí está una breve referencia.
El objetivo será obtener un entorno de trabajo en modo gráfico, tan parecido como sea posible al conocido por los usuarios en cuestión. Basaré mi relato en Red Hat 7.2, y en mi experiencia con un sector que precisa migración masiva de puestos de trabajo, pero si obtienen alguna idea interesante, no deberían tener problemas en basarse en cualquier otra distro.
Paso Cero: Los componentes de Red Hat 7.2
La selección de paquetes al momento de instalar, excluye completamente a las librerías qt. Voy a tomar algunos componentes del ambiente GNOME, y el resto de las aplicaciones incorporadas se basarán entonces, en GTK.
Al tratarse de un puesto de trabajo, no debieran quedar herramientas de desarrollo (para Red Hat, los paquetes -devel, kernel headers/sources, etc.), pero voy a instalarlas para compilar alguna aplicación que no esté disponible en RPMs :).
Para poder poner a funcionar el puesto de trabajo con validación de usuarios contra un servidor de dominio NT, vamos a configurar el init para que inicie en runlevel 5 (con modo gráfico y un Display Manager que reemplace al clásico login de la consola). Preferí utilizar xdm, pero es solo cuestion de gustos: gdm es mas configurable, y quizas alguien prefiera kdm si basa su solucion en aplicaciones Qt. Para que xdm o algun script con xmessage soporte personalización de colores, botones, etc., será preciso tener instalado el paquete cpp.
Paso Uno: Window Manager
La aplicacion estrella, sera un Window Manager muy sencillo, cuyo solo objetivo es simular el look and feel de Window$: QVWM. Con aquel instalado ya hemos hecho el 50% del trabajo. Esta disponible en fuentes o binarios, y solo habrá que configurarlo un poco. Para la mayor parte de la personalizacion editaremos los archivos en /usr/local/share/qvwm. Pueden utilizar la castellanizacion de Conectiva, o armar la suya propia. En mi caso copie el pie de la letra los textos de M$, iconos y demas, edite los seteos de QVWM para impedir que los usuarios accedan al pager, o intenten eliminar iconos del escritorio, por ejemplo (qvwm es una solucion ideal para cibernodos por ejemplo: los usuarios no cambiarán ni la posicion de los iconos :) Lo único que no podremos ofrecer es una papelera de reciclaje. QVWM dispone incluso de un dialogo de salida idéntico al original, en el que podemos insertar comandos como reboot y poweroff para reiniciar y apagar el equipo (shutdown no porque requiere root).
Paso Dos: Aplicaciones
Para completar la experiencia, precisaremos aplicaciones tan similares a las del otro SO como sea posible. Con las librerias GTK en mente, paso a comentaros las que yo utilizé:
Para los usuarios acostumbrados a 27 íconos al lado del reloj, QVWM permite alojar en aquel distrito de su barra de tareas, lo que se conoce como indicators. De esta forma, basándome en el código de BBRun, pude armar unos launchers muy bonitos para Messenger, o el mezclador de audio, por ejemplo, que quedan mas que iguales a los de UINdous y mejoran mucho la experiencia del recién llegado. La mención del código de BBrun es porque no pogramo en GTK o nada parecido, pero cualquier principiante puede imaginarse cómo crear una area de unos 18x18 con un ícono, sensible a uno o dos clicks.
[PAGEBREAK]
Paso Tres: Tweakeando el inicio
Si hay algo que acostumbra al usuario ventanero, es el grafico inicial de la ventana siendo pateada por los aires. Aunque alguien con ganas podría, los pasos de aquí en adelante van de optativos a superfluos. Es posible recompilar el kernel con soporte framebuffer, y reemplazar el icono del pingüino con algo mas ventanero (como hace la gente de Mandrake y su mensaje de Bienvenido/Welcome/, etc.). Si queremos ocultar los mensajes de inicio de cada demonio, podemos hacerlo de varias maneras. En mi caso instalé svgalib y zgv, e insertando el comando en /etc/rc.d/rc.sysinit, se puede observar un lindo slideshow. Como solución rápida funciona, pero puede mejorarse, y mucho. Por último tambien puede cambiarse la cara de LILO, usando la versión que acompaña a SUSE y algo de ingenio, pero es un tema que quisiera explicar con mas detenimiento en otra oportunidad.
Paso cuatro: Conexión al entorno
Si el puesto de trabajo en cuestión precisa por alguna razón interactuar con servidores o recursos disponibles en otras plataformas, la cuestion puede resolverse a través de scripts al inicio, o de ser preciso con PAM. Este ultimo nos permitirá capturar nombre de usuario y contraseña, para ejecutar acciones como:
Paso cinco: Emulación para aplicaciones heredadas
Esta etapa puede ser por mucho la más incómoda, y su resultado definirá la utilidad final del proceso de migración cuando los interesados cuenten con un lote de aplicaciones escritas para sus viejas plataformas Güin2. Aplicaciones escritas en Visual Fox, Fox para DOS/Win, Clarion, Visual Basic, Clipper, etc. de las cuales probablemente no esté disponible el código fuente. Para las aplicaciones en modo texto, DOSEmu hará limpiamente el trabajo, aunque su DOS de cabecera (FreeDOS) no es todo lo estable que uno quisiera. Y en cuanto a wine, hay muchas alternativas: CVS daily built (rpm o fuente), estable (id. al ant.), la version de codeweavers, la de transgaming, etc. Y si el buen Murphy no ha mirado para otra parte y ninguna versión da los resultados esperados, sólo queda adentrarse en el oscuro código, o en caso de contar con licencias, optar por rdesktop o alguna máquina virtual como vmware o bochs. Al menos hay buenos archivos de mensajes donde buscar un problema parecido al propio. La documentación es tambien extensa y ayudará en casi cualquier caso, o al menos nos dará la buena costumbre de leer muchas páginas en inglés de corrido. Las leyes que signan este último paso son:
Pero no me crea, usted puede tener más suerte.
Conclusión
La diferencia de resultados en un equipo de medianas prestaciones (233 a 500Mhz) es sencillamente brutal. Un Window Manager tan liviano, un set de aplicaciones y poco mas de configuración o programación, pueden reducir terriblemente el trauma de una migración, e incluso elevar el rendimiento y la expectativa de vida de un puesto de trabajo, en especial con precios como los nuestros. La profusión de ilustraciones que acompaña este artículo, puede darle una idea de lo que puede hacer por sus usuarios finales. Si alguien ha implementado soluciones de este tipo, lo invitamos a compartirlas con la comunidad por este medio. Estoy preparando un paquete con los parches y aplicaciones necesarias para facilitar el proceso de conversión del que habláramos hoy. Sus aportes, comentarios, sugerencias y preguntas al respecto, serán muy bien recibidas. Carpe diem.


Links