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é:

  • File Manager: Aunque probamos varios, el que mas me gustó fue Amulet Explorer, basado en las librerias multiplataforma Amulet. Nunca salió de la etapa beta, parece haber quedado sin mantenimiento, y está en inglés. Otra buena alternativa es Fox Commander, basado en las FoxLibraries. En mi caso, el trabajo sobre Amulet se ciñó a registrar los tipos de archivos MIME mas usados por mis usuarios, con íconos idénticos (o casi ;), y descripciones en español.

  • Entorno de red: Los frontends mas notables son LinNeighborhood y JAGS.

  • Ofimática: Open Office 1.x ofrece buena compatibilidad con los productos comerciales, un entorno ameno y estabilidad, contra un tiempo de carga que puede exceder lo razonable. Otras buenas posibilidades habrian sido Abiword + GNUmeric, Corel WordPerfect para usuarios WP o Wine + MS Office, pero la emulación es un tema que trataremos más adelante.

  • Gestor de archivos comprimidos: No habiendo nada parecido a WinACE, WinRAR o WinARJ, lo mas parecido a Winzip que encontré fue gnozip.

  • Manipulación/Visualización de gráficos: En cuanto a archivos gráficos (que yo registré en el File Manager con qiv), gQView o GTKSee son buenas opciones. Para visualizar archivos pdf Acrobat Reader, para PostScript gv, y para edición, sólo lo mejor: GIMP. Si precisan algo como M$ Visio, DIA puede ser lo más aproximado.

  • Aplicaciones Multimedia: Sin vergüenza de cambiar el nombre a las aplicaciones por sus contrapartes windozas: XMMS por Winamp, mplayer por Reproductor Multimedia de Windowz (con GUI y SKin correspondiente por supuesto), GMix como Mezclador, GTCD como Reproductor de CDs de audio (como sea que se llama en MSW) y Real Player como tal.

  • Comunicaciones: Hay profusión de clientes de mensajería instantánea disponibles para Linux. En mi caso sólo usé el Alvaro s Messenger o amsn como cliente de Messenger (escrito en tcl/tk), xchat como cliente de chat, Sylpheed como cliente de correo, NT como download manager y Galeon como Navegador de Web. Hubiera sido una muy buena alternativa Evolution por ejemplo, aunque para este caso con un simple cliente de e-mail era suficiente. Si necesitan el cliente de Yahoo! Messenger, en GTK sólo está disponible en inglés hasta el momento, y el único cliente con soporte en español escrito en Java, es un desastre. Por si los usuarios se sienten cómodos con el estilo Netscape (o con su estabilidad), también dejo instalado Netscape Navigator.

  • Sistemas de archivo extraíbles: Tratándose de una estación de trabajo en red, no debieran precisar sistemas de archivos extraíbles, pero si es el caso, puede utilizarse automount y/o un bonito script con xmessages para abrir un diálogo explicativo, y ayudar al usuario a montar o desmontar diskettes, ZIPs o CDROMs.

    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:

  • Validar en un dominio NT y no en la lista de usuarios local (pam_SMB, incluido en la distro.)

  • Hacer disponible un recurso compartido (via NFS o SMB, con pam_mount de Conectiva).

  • Crear un directorio home para cada usuario nuevo que ingrese al puesto, de forma automática (pam_mkhomedir, incluido en la distro)

  • Crear un directorio padre (/) para cada usuario (pam_chroot, incluido en la distro).

    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:

  • Wine es capaz de correr cerca del 85% de las aplicaciones Windows: la suya está en el 15% restante.

  • Wine emula windows a la perfección: aún las caídas inesperadas.

  • A lo largo de su evolución, wine ha perdido muchos aspectos de funcionalidad y compatibilidad, pero ha ganado otros: los que su aplicación necesita se perdieron.

  • Si le pidieran que haga funcionar juegos tendría menos trabajo por delante.

  • Si lee la documentación de wine antes, es posible que sufra menos.

  • Deje de evitar el parámetro -debugmsg +all, es el final inexorable

  • El autor de la aplicación no revelará su código fuente, o ha muerto, o fue despedido.

  • Cada intento con wine, es una excelente oportunidad de volver a aquello de lo que se huye: registro de Windows, archivos .ini, interfaces de comunicación de kern32.dll, COMM, DCOM.

    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.

  • Publicidad

    © 2006 Planeta Linux Argentina. La fuente de recursos Linux desde 1999. Desarrollado por VivaServer.