Vista xeral

2.1. Introdución

O Xestor de entrada de GNOME (GDM) é un xestor de entrada que implementa todas as características significativas requiridas para xestionar pantallas remotas e locais. GDM escribiuse desde cero e non contén nada de código de XDM ou do X Consortium.

Note que o GDM é altamaente configurábel e moitos axustes de configuración poden afectar á seguranza. Os temas sobre os que debe prestar atención están realzados neste documento.

Note que algúns sistemas operativos configuran GDM para comportarse de forma diferente aos valores predetermiandos, como se describe neste documento. Se GDM non parece comportarse como se documenta, entón comprobe se algunha configuración relacionada difire da aquí describa.

Para obter máis información sobre GDM consulte a páxina web do proxecto en http://www.gnome.org/projects/gdm e o wiki do proxecto en http://live.gnome.org/GDM.

Para discusións ou consultas sobre GDM, diríxase á rolda de correo

. Esta lista está arquivada, e é unha boa fonte para buscar respostas a preguntas comúns. Esta lista está arquivada en http://mail.gnome.org/archives/gdm-list/ e ten busca integrada para atopar mensaxes con palabras chave.

Envía calquera informe de erro ou peticións de mellora na categoría «gdm» en http://bugzilla.gnome.org.

2.2. Estabilidade de interfaces

GDM 2.20 e máis actuais admiten as interfaces estábeis de configuración. Porén, o código base foi completamente rescrito en GDM 2.22, e pode non ser completamente compatíbel cara atrás con publicacións antigas. Isto é en parte porque as cousas funcionan de forma diferente, polo que algunhas opcións agora xa non teñen sentido, en parte porque algunhas opcións nunca tiveron sentido e en parte porque algunha funcionalidade non foi reimplementada.

As interfaces que continúan sendo compatíbeis nun sentido estábel inclúen os scripts de Init, PreSession, PostSession, PostLogin e Xsession. Algunhas opcións de configuración do «daemon» do ficheiro <etc>/gdm/custom.conf continúan sendo compatíbeis. Ademais, ~/.dmrc, e as localizacións das imaxes continúan sendo compatíbeis.

GDM 2.20e máis actual admitían a característica de xestionar múltiples pantallas con tarxetas gráficas separadas, como son usados en ambientes de servidor de terminais, inicio de sesión nunha xanela mediante programas como Xnest ou Xephyr, o programa gdmsetup, os temas de benvida baseados en XL e a característica de executar o selector de XDMCP desde o inicio de sesión. Estas características non foron restauradas durante a rescritura de 2.22.

2.3. Descrición funcional

GDM é responsábel de xestionar pantallas no seu sistema. Isto inclúe a autenticación de usuarios, iniciar e rematar a sesión de usuario. GDM é configurábel e pode atopar unha descrición das formas de como pode facelo na sección «Configurando GDM» deste documento. GDM tamén é accesíbel para os usuarois con discapacidades.

GDM fornece a característica de xestionar a pantalla da console principal e as pantallas iniciadas en VT. Está integrado con outros programas, como o miniaplicativo de Intercambio de usuarios rápido (FUSA) e o gnome-screensaver para xestionar as pantallas múltiples nunha consola mediante a interface de Terminal Virtual Xserver (VT). Tamén pode xestionar pantallas XDMCP.

Con respecto do tipo de pantalla, GDM fará o seguinte cando xestione a pantalla. Comezará o proceso Xserver, logo executará o script Init como un usuario root, e logo iniciará o programa de benvida na pantalla.

O programa de benvida execútase co usuario/grupo sen privilexios. Este usuario e grupo descríbense na sección "Seguridade" deste documento. As funcións principais do programa de bencida é de fornecer un mecanismo para seleccionar unha conta onde iniciar sesión e conducir o diálogo entre o usuario e o sistema ao autenticarse con dita conta. O proceso de autenticación está conducido polos Modulos de Autenticación Conetábeis (PAM). Os modulos PAM determinan que preguntas (se as hai) se mostran ao usuario ao autenticarse. Nun sistema normal, o programa de benvida solicitará un nome de usuario e un contrasinal para autenticarse. Porén nalgúns sistemas configurados para empregar mecanismos suplementarios como a pegada dixital ou lectores de tarxetas intelixentes. GDM pode configurarse para admitir estas alternativas en paralelo coas extensións de inicio de sesión da pantalla de benvida e a opción --enable-split-authentication ./configure, ou unha á vez mediante a configuración PAM do sistema.

A extensión de tarxetas intelixentes pode activarse ou desactivarse mediante a chave de gsettings org.gnome.display-manager.extensions.smartcard.active.

Seguramente, a extensión de pegada dixital pode activarse ou desactivarse mediante a chave de gsettings org.gnome.display-manager.extensions.fingerprint.active.

GDM e PAM pode configurarse para non requirir ningunha entrada, que causará que GDM inicie sesión automaticamente e logo inicie a sesión, o cal pode ser útil para algúns ambientes, como en sistemas de usuario único e quioscos.

Ademais da autenticación, o programa de benvida permítelle ao usuario seleccionar que sesión iniciar e en que idioma. As sesións están definidas por ficheiros que rematan co sufixo .desktop e pode atopar máis información sobre estes ficheiros na sección «Configuración de sesión de usuario e idioma de GDM». Por omisión, GDM está configurado para mostrar un listado de caras para que o usuario poida seleccionar a súa conta de usuario ao premer nunha imaxe no lugar de ter que escribir o seu contrasinal. GDM fai un seguemento da sesión por omisión do usuario e do idioma no ~/.dmrc do usuario e usará estas configuración predefinidas se o usaurio non selecciona unha sección ou idioma no GUI de inicio de sesión.

Despois de autenticar a un usuario, o «daemon» executa o script PostLogin como usuario root, e logo executa o script PreSession como usuario root. Despois de executar estes scripts a sesión do usuario arríncase. Cando o usuario sae da súa sesión, o script PostSession execútarase como usuario root. Estes scripts fornécense como hooks para as distribucións e aos usuario finais para personalizar como se xestionan as sesións. Por exemplo, usando estes hooks pode configurar que a máquina cree o cartafol de usuario $HOME ao voo, e o elimine ao iniciar sesión. A diferenza entre os scripts PostLogin ePreSession son que PostLogin execútase antes da chamada a pam_open_session polo que é o lugar correcto para facer calquera cousaa que se debería executar antes de que a sesión do usuario se inicialice.

2.4. O panel da interface de entrada con temas

The GDM greeter program displays a panel docked at the bottom of the screen which provides additional functionality. When a user is selected, the panel allows the user to select which session, language, and keyboard layout to use after logging in. The keyboard layout selector also changes the keyboard layout used when typing your password. The panel also contains an area for login services to leave status icons. Some example status icons include a battery icon for current battery usage, and an icon for enabling accessibility features. The greeter program also provides buttons which allow the user to shutdown or restart the system. It is possible to configure GDM to not provide the shutdown and restart buttons, if desired. GDM can also be configured via PolicyKit (or via RBAC on Oracle Solaris) to require the user have appropriate authorization before accepting the shutdown or restart request.

Teña en conta que as características de disposición do teclado só están dispoñíbeis en sistemas que son compatíbeis con libxklavier.

2.5. Accesibilidade

GDM admite «Inicio de sesión accesíbel», o cal lle permite iniciar sesión nunha sesión de escritorio incluso cando non pode usar de forma doada a pantalla, o rato ou o teclado na forma normal. A Tecnoloxía de Accesibilidade (AT) ten características como teclado en pantalla, lector de pantalla, magnificador de pantalla e accesibilidade de teclado AccessX de Xserver. Vaia á sección «Configuración de accesibilidade»do documento para obter máis información sobre como se poden configurar as distintas características de accesibilidade.

Nalgúns sistemas operativos, é necesario asegurarse que o usuario de GDM é un membro do grupo «audio» para os programas de AT que requiren saída de son (como texto-a-fala) para que sexan funcionais.

2.6. O visor de rostros de GDM

The Face Browser is the interface which allows users to select their username by clicking on an image. This feature can be enabled or disabled via the /apps/gdm/simple-greeter/disable_user_list GConf key and is on by default. When disabled, users must type their complete username by hand. When enabled, it displays all local users which are available for login on the system (all user accounts defined in the /etc/passwd file that have a valid shell and sufficiently high UID) and remote users that have recently logged in. The face browser in GDM 2.20 and earlier would attempt to display all remote users, which caused performance problems in large, enterprise deployments.

O Explorador de caras está configurado para mostrar os usuarios que inician sesión máis frecuentemente na parte superior da lista. Isto axúdalle a asegurarse que os usuarios que inician sesión con máis frecuencia poida atoparse a súa imaxe de inicio de sesión máis rápido.

O explorador de caras admite "busca adiantada" que move dinámicamente a selección de cara mentres o usuario escribe o correspondente nome de usuario na lista. Isto significa que un usuario con un nome de usuario longo só ten que escribir os primeiros caracteres do seu nome antes de que seleccione o elemento correcto na lista.

As iconas usadas por GDM están instaladas de forma global polo administrador do sistema ou poden estar nos cartafoles persoais dos usuarios. Se está instalada de forma global debería estar no cartafol <share>/pixmaps/faces/ e o nome de ficheiro debería ser o nome de usuario. Os ficheiros de imaxes de avatar no cartafol «face» global debe poder lerse polo usuario GDM.

Non hai unha icona global para o usuario, GDM bucará no cartafol $HOME do usuario pola imaxe. GDM primeiro mirará o ficheiro de avatar do usuario en ~/.face. Se non o atopa, tentará ~/.face.icon. Se aínda non o atopou, usará o valor definido por "face/picture=" no ficheiro ~/.gnome2/gdm.

Se o usuario non ten unha imaxe de avatar definida, GDM usará a icona «stock_person» definida no tema GTK+ actual. Se non hai unha imaxe definida, usarase a imaxe de avatar xenérica.

Teña en conta que cargar e escalar iconas de avatar localizadas en cartafoles persoais remotos pode ser unha tarefa que leve tempo. Xa que no é práctico cargar imaxes mediante NIS ou NFS, GDM non tentará cargar imaxes desde cartafoles persoais remotos.

Cando o explorador está activado, os nomes de usuario válidos no computador mostraranse para calquera que poida ver. Se XDMCP está activado, os nomes de usuario móstranse tamén para os usuario remotos. Isto, por suposto, limita a seguridade xa que un usuario malicioso non precisa adiviñar os nomes de usuarios válidos. Nalgúns ambientes restritivos o explorador de avatares podería non ser o axeitado.

2.7. XDMCP

O «daemon» GDM pode configurarse para escoitar e xestionar peticións X Display Manage Protocol (XDMCP) desde pantallas remotas. Por defecto a compatibilidade con XDMCP está descativada, porén pode activala se o desexa. Se GDM se constrúe con compatibilidade de wrapper TCP, o daemon só lle dará acceso a equipos específicos na sección do servizo GDM do ficheiro de configuración de TCP Wrappers.

GDM inclúe varias medidas que o fan máis resistente a ataques de denegación de servizo en XDMCP. Moitos dos parámetros do protocolo, tempos de espera de negociación, etc. poden axustarse.. A configuración predefinida debería funcionar razoabelmente ben na maioría dos sistemas.

GDM escoita por omisión ás peticións XDMCP no porto UDP normal usado por XDMCP, o porto 177, e responderá ás peticións QUERY e BROADCAST_QUERY enviando un paquete WILLING ao remitente.

GDM can also be configured to honor INDIRECT queries and present a host chooser to the remote display. GDM will remember the user's choice and forward subsequent requests to the chosen manager. GDM also supports an extension to the protocol which will make it forget the redirection once the user's connection succeeds. This extension is only supported if both daemons are GDM. It is transparent and will be ignored by XDM or other daemons that implement XDMCP.

Se semella que XDMCP non está funcionando, asegúrese que todos os computadores están especificados no ficheiro /etc/hosts.

Consulte a sección «Seguridade» para obter máis información sobre a seguridade ao usar XDMCP.

2.8. Rexistro de actividade

GDM usa syslog para rexistrar erros e o seu estado. Tamén pode rexistrar información de depuración, a cal pode ser útil para facer un seguemento dos problemas se GDM non está funcionando correctamente. A saída de depuración pode activarse configurando a chave de configuración debug/Enable a «true» no ficheiro <etc>/gdm/custom.conf.

Output from the various Xservers is stored in the GDM log directory, which is normally <var>/log/gdm/. Any Xserver messages are saved to a file associated with the display value, <display>.log.

The session output is piped through the GDM daemon to the ~/$XDG_CACHE_HOME/gdm/session.log file which usually expands to ~/.cache/gdm/session.log. The file is overwritten on each login, so logging out and logging back into the same user via GDM will cause any messages from the previous session to be lost.

Note that if GDM can not create this file for some reason, then a fallback file will be created named ~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX where the XXXXXXXX are some random characters.

2.9. Cambio rápido de usuarios

GDM allows multiple users to be logged in at the same time. After one user is logged in, additional users can log in via the User Switcher on the GNOME Panel, or from the "Switch User" button in Lock Screen dialog of GNOME Screensaver. The active session can be changed back and forth using the same mechanism. Note that some distributions may not add the User Switcher to the default panel configuration. It can be added using the panel context menu.

Teña en conta que esta característica só está dispoñíbel en sistemas que admiten Terminais Virtuais. Esta característica non funcionará se as Terminais virtuais non funcionan.