Página principal | Lista de componentes | Directories | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

Programa Login

Introducción

Login es el programa mas visible del sistema, dado que reside en todos los equipos cliente de la red.

Posiblemente los usuarios solo lleguen a conocer este programa, dado que solo interactúan con este, pero en realidad, Login es uno de los componentes mas dependientes y simples del sistema, es aconsejable que la documentación completa esté disponible para todos los usuarios.

El funcionamiento de Login se puede resumir en una lista de operaciones:

Ingreso al sistema

Cuando un usuario accede al equipo de la red, el programa Login solicitará los datos de ingreso mostrando la pantalla principal:

login.png

pantalla principal

Una vez ingresados los datos, el programa enviará el mensaje MSG_LOGIN junto con el valor ingresado por el usuario (legajo y contraseña). El programa Servidor recibe este pedido, evalúa si la contraseña es correcta y decide autorizar (o no) el inicio de sesión.

Una vez enviado el mensaje MSG_LOGIN, se espera una respuesta por parte del programa Servidor, existen solo 2 posibilidades:

Inicio de Sesión

Cuando se otorga un permiso de sesión, el programa procede a ejecutar un gestor de escritorio (ver Gestores de escritorio) independiente del sistema labSession. Así, los administradores del laboratorio tienen la posibilidad de elegir el gestor de escritorio mas adecuado para cada equipo.

Al mismo tiempo que se inicia el gestor de escritorio, el programa Login mostrará un indicador de tiempo con un icono:

reloj.png

indicador de tiempo

El indicador de tiempo nos permite mantener la comunicación entre el usuario y el resto del sistema. Mediante el icono del indicador de tiempo el usuario podrá solicitar una renovación de sesión.

menu.png

acciones de usuario

Cuando se pulsa sobre la opción actualizar, el programa evaluará la cantidad de tiempo libre en curso. Si el tiempo se sesión está por terminar emite el mensaje MSG_ACTUALIZAR al programa Servidor. En cambio, si aún resta mucho tiempo de la sesión actual, el mismo programa evita emitir el pedido. Evitamos confirmar los pedidos de actualización de manera anticipada ya que buscamos permitirle a los administradores la posibilidad de regular y alterar la cantidad de sesiones máxima en tiempo de ejecución.

mensa_info.png

advertencia de actualización

Cierre de sesión

Cuando el usuario agota su tiempo de sesión, o cierra el gestor de escritorio, el programa Login termina su ejecución. El objetivo del sistema en este instante consiste en limpiar el escritorio y regresar a la pantalla de identificación.

Aunque existe una diferencia importante en las posibilidades que nos brindan los sistemas operativos GNU/Linux y Windows para lograr esto, estudiaremos estas características por separado:

En GNU/Linux

En los sistemas GNU/Linux, la terminación del programa Login produce el cierre del gestor gráfico X, con lo cual, terminan todas las aplicaciones iniciadas por el usuario de sesión. En este sentido, el programa Login opera de la misma manera a cualquier gestor de escritorio, o mejor aún, de manera similar a un equivalente de XDM (X Display Manager), como gdm o kdm.

Cuando se termina la ejecución del sistema gráfico X, terminan con él todos los programas invocados desde el gestor de escritorio (navegadores web, editores, etc.) y el sistema procede a reiniciar nuevamente el sistema gráfico X con el programa Login como gestor.

En el equipo de desarrollo buscamos otro tipo de alternativas para evitar cerrar el sistema gráfico X por completo. Aunque luego de investigar y consultar a varios desarrolladores experimentados de proyectos como GNOME, optamos por una solución tan simple como la mencionada. Tenga en cuenta que la mayoría de los gestores de escritorios y Display Manager operan de esta manera, reinician X.

En Windows

Solucionar el requisito en los sistemas Windows fue mucho mas incómodo, cuando se inicia un sistema Windows 9x, incluido Me, se ejecuta el programa indicado en el atributo shell del archivo system.ini:

[boot]
shell=c:\windows\lab\initdbg\initdbg.exe

El programa initdbg gestiona el inicio de aplicaciones y conoce en que momento se ha terminado la sesión. Así, initdbg se encarga de cerrar todas las aplicaciones del sistema al terminar una sesión y reinicia la ejecución del programa Login.

Gestores de escritorio

Existe una gran cantidad de gestores de escritorios disponibles para los sistemas operativos compatibles con labSession. En la actualidad, la mayoría de los usuarios de GNU/Linux elige uno de los 5 gestores mas populares, aunque existen muchos mas.

Esta diversidad de posibilidades se valora aquí. Puede que el objetivo inicial de un gestor de escritorio sea interactuar y facilitar la tarea de los usuarios, pero durante varios años hemos observado que los gestores de escritorio han tomando rumbos muy diferentes, algunos comenzaron a especializarse en brindar simplicidad de uso, otros en priorizan en los aspectos visuales, su accesibilidad, etc. Por ese motivo el programa Login no intenta reemplazar la tarea que, históricamente, le corresponde a un gestor de escritorio. Login simplemente controlará el acceso al sistema, administrará el tiempo de sesión e intercomunicará al equipo con el sistema de sesiones.

A continuación se incluye una breve reseña de los gestores de escritorio mas populares para GNU/Linux y sistemas Windows:

KDE (para sistemas GNU/Linux)

kde.jpg

El escritorio KDE

El desarrollo de KDE (Kommon Desktop Enviroment) se inició en Octubre del año 1996, desde entonces, el proyecto KDE incorporó una gran variedad de programas y constituye uno de los gestores mas completos y utilizados en la actualidad.

GNOME (para sistemas GNU/Linux)

gnome.jpg

Panel principal de GNOME

GNOME (GNU Network Object Model Environment) se inició en el verano de 1997, como una alternativa a KDE, que en ese entonces estaba basado en una biblioteca no-libre. Los componentes de GNOME se desarrollaron con la biblioteca GTK (que utilizamos en labSession) utilizando el lenguaje de programación C y un esquema de "orientación a objetos" propio.

XFce (para sistemas GNU/Linux)

xfce.jpg

El panel principal de XFce

XFce es uno de los gestores mas rápidos, livianos y fáciles de utilizar, su entorno consta de varias aplicaciones que interactúan entre sí respetando varios estándares (http://www.freedesktop.org/), dichas características nos brindan la posibilidad de configurar el escritorio por completo, añadiendo, intercambiando y quitando componentes con facilidad. Al igual que GNOME, XFce utiliza la biblioteca GTK.

litestep (para sistemas Windows)

litestep.jpg

El panel inferior de litestep

Aunque no se observa con frecuencia, en los sistemas Windows es posible instalar y configurar un gestor de escritorio diferente al conocido shell "explorer". El gestor litestep es una alternativa interesante, incorpora su propio sistema de plug-ins (componentes dinámicos), soporta temas de escritorios, etc.



Generado con Doxygen, versión 1.4.2